Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KC_bileti.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
24 Мб
Скачать
☆

4.2 Стековое зу. Память типа fifo. Общая структура. Назначение. Принцип работы.

Стековая память

Стековая память обеспечивает такой режим работы, когда информация записы­вается и считывается по принципу «последним записан — первым считан* (LIFO-Last In First Out). Память с подобной организацией широко применяется для запо­минания и восстановления содержимого регистров процессора (контекста) при об­работке подпрограмм и прерываний. Работу стековой памяти поясняет рис. 5.18, а.

Рис. 5.18. Организация стековой памяти: а — логика работы; б — аппаратно-программный стек

Когда слово А заносится в стек, оно располагается в первой свободной ячейке. Каждое следующее записываемое слово перемещает все содержимое стека на одну ячейку вверх и занимает освободившуюся ячейку. Запись очередного кода, после Н, приводит к переполнению стека и потере кода А. Считывание кодов из стека осуществляется в обратном порядке, то есть начиная с кода Н, который был запи­сан последним. Отметим, что доступ к произвольному коду в стеке формально не­допустим до извлечения всех кодов, записанных позже.

Наиболее распространенным в настоящее время является внешний или аппа­ратно-программный стек, в котором для хранения информации отводится область ОП. Обычно для этих целей отводится участок памяти с наибольшими адресами, а стек расширяется в сторону уменьшения адресов. Поскольку программа обычно загружается, начиная с меньших адресов, такой прием во многих случаях позволя­ет избежать перекрытия областей программы и стека. Адресация стека обеспечи­вается специальным регистром — указателем стека (SP — stack pointer), в кото­рый предварительно помещается наибольший адрес области основной памяти, отведенной под стек (рис. 5.18, б).

При занесении в стек очередного слова сначала производится уменьшение на единицу содержимого указателя стека (УС), которое затем используется как ад­рес ячейки, куда и производится запись, то есть указатель стека хранит адрес той ячейки, к которой было произведено последнее обращение. Это можно описать в виде: УС:= УС -1; ОП[(УС)]:=ШД.

При считывании слова из стека в качестве адреса этого слова берется текущее содержимое указателя стека, а после того как слово извлечено, содержимое УС

Характерной особенностью памяти FIFO по сравнению с обычной памятью SRAM является отсутствие адресных линий. Базовая архитектура FIFO представлена в виде массива RAM с перемещаемыми при считывании и записи указателями начала и конца свободного пространства памяти. Преимуществом такого способа организации памяти является выводная совместимость микросхем FIFO, имеющих разную информационную емкость.

Другим отличительным свойством памяти FIFO является наличие отдельного порта для чтения и отдельного порта для записи данных. Благодаря наличию указателей и двухпортовой структуре памяти FIFO, стробы считывания и записи данных могут поступать на одноименные входы памяти в произвольном порядке.

Использование запоминающего устройства типа FIFO может оказаться незаменимым там, где требуется передача данных между отдельными элементами, работающими с разными тактовыми частотами

и различной разрядностью шины.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]