# Вопрос 9: Назначение стековой памяти

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

Стековая память является безадресной. Ячейки стековой памяти представляют собой одномерный массив n-разрядных ячеек, в котором соседи связаны друг с другом. Для операций с памятью доступна только 0 ячейка. Операция с памятью инициируется сигналом обращения. Каждая операция записи, инициируемая сигналом обращения к памяти, приводит к тому, записанные данные помещаются в 0 ячейку памяти. При этом все ранние записи в памяти слова автоматически сдвигаются на 1 адрес ниже. Операция чтения, инициируемая сигналом обращения, приводит к тому, что на выходе памяти формируется значение слова, находящиеся в 0 ячейке памяти. При этом все имеющиеся слова сдвигаются на одно слово вверх. Счетчик стека нужен только для контроля заполнения и очищения стека. Техническая реализация стековой памяти оказывается сложнее адресной памяти. Стековая память используется достаточно широко (короткий стек из микропрограммирования). Чаще всего применяется не стековая память, а адресное поле, которое функционирует по принципу стека.

Стековая память позволяет удобно реализовать процессы иерархического обращения ко многим процедурам ( количество уровней иерархии практически не ограничено).

Стековая память широко используется для аппаратной организации различных очередей.

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

results matching ""

    No results matching ""