Практическое занятие № 65
Тема: «Последовательные запоминающие устройства.»
Цель: изучить разновидности запоминающих устройств – стековую и буферную типы памяти.
Теория
Последовательные ЗУ:
- FIFO;
- Файловые;
- Циклические;
- Стековые (LIFO).
В FIFO запись в буфер становится сразу доступной для чтения, т.е. поступает в конец цепочки (First In - First Out) - «первый пришел - первый вышел».
В файловых - данные поступают в начало цепочки.
В циклических ЗУ - слова доступны одно за другим с постоянным периодом, определяемым емкостью памяти. К такому типу относится видеопамять (VRAM).
В стековых ЗУ считывание происходит в обратном порядке (последний принят - первый вышел) - LIFO (Last In - First Out).
За способом реализации различают аппаратный и аппаратно-программный стеки.
|
Аппаратный стек представляет собой совокупность регистров, связь между которыми организованна таким образом, что во время записи и считывания данных, содержимое стека автоматически сдвигается.
Во время записывания слова 1 в стек оно размещается в первой свободной ячейке памяти (в первом регистре) - вершине стека. Следующее слово сдвигает предыдущее на одну ячейку вверх, занимает его место и т.д. Запись слова 9 приводит к переполнению стека и потери слова 1. Считывания слов из стека осуществляется в обратном порядке, то есть сначала считывается слово 9, записанное последним. Считывания происходит в обратном порядке, например, считывания слова 6 не возможно, пока не будут считанные слова 7, 8 и 9.
Информационная емкость аппаратного стека определяется как Nxn, где количество n-разрядних слов N равняется количеству регистров, которое может составлять несколько десятков. Аппаратные стеки, применяемые в РIС-процессорах, имеют 2, 8 или 16 регистров (N = 2, 8, 16), в которых размещаются 12-, 14- или 16-разрядные слова (п = 12,14, 16).
Основным преимуществом аппаратного стека есть высокое быстродействие, а недостатком - ограниченная информационная емкость.
Аппаратно-программный стек реализуется за счёт использования части ОЗУ статического типа и специального регистра SP (Stack Pointer - указатель стека), который содержит адрес последней занятой ячейке стека.
В аппаратно-программном стеке физического сдвига данных во время записи и считывания не происходит. Сдвиг данных осуществляется за счёт изменения значения SP. В начале программы в регистр SP заносят адрес вершины стека. После каждой операции записи (считывания) содержимое регистра SP изменяется. Для МП i80x86 одновременно можно записывать в стек или считывать из него двухбайтовые слова, поэтому SP изменяется на два.
Принцип работы аппаратно-программного стека.
Во время записи в стек значения SP уменьшается на два (стек «растет» в область маленьких адресов), а во время считывания из стека - увеличивается на два. Итак, указатель стека SP всегда содержит адрес ячейки, к которой состоялось последнее обращение. В некоторых командах, например, в командах вызова подпрограмм CALL, прерываний INT, возвращений из подпрограмм RET - обращение к стеку осуществляется автоматически. Во время вызова подпрограммы в стеке запоминается адрес команды, следующей после вызова команды ADD, то есть содержимое программного счетчика PC запоминается в верхней незанятой ячейке стека, а указатель стека уменьшается на два.
Работа стека во время вызова подпрограмм.
По возвращению из подпрограммы по команде RET содержимое верхней ячейке стека перезаписывается в программный счетчик PC, указатель стека SP увеличивается на два. После этого начинает выполняться команда ADD. Кроме команд CALL, INT и RET, для работы со стеком используют также команды PUSH и POP, предназначенные для временного хранения в стеке содержимого регистров и восстановления, то есть пересылка информации из стека в регистры. В МП Intel, начиная с i286, существуют команды PUSHA и РОРА (PUSH All и POP All), предназначенные для временного хранения в стеке и восстановления содержимого всех регистров МП. К аппаратно-программному стеку можно обратиться также как к ОЗУ с произвольной выборкой. В МП i80х86 для этого используют косвенную адресацию с помощью регистра ВР. Итак, в стек можно записать значение параметров подпрограмм перед их вызовом.
Ход работы
Спроектировать и описать структурные схемы буферной и стековой памяти. (можно воспользоваться ссылкой http://dfe.petrsu.ru/koi/posob/microcpu/pam4.html)
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.