К списку вопросов
Стековая память
Если запись и чтение осуществляются через один и тот же регистр, такое
устройство называется стековой па¬мятью, работающей по принципу «первым
вошел — последним вышел» (FILO — first input, last output). При записи
числа в стеко¬вую память сначала содержимое стека сдвигается в сторону
по¬следнего, K-го регистра (если стек был полностью заполнен, то число
из К-то регистра теряется), а затем число заносится в вер¬шину стека -
регистр 1. Чтение осуществляется тоже через вер¬шину стека; после того
как число из вершины прочитано, стек сдвигается в сторону регистра 1.
Стековая память получила широкое распространение. Для ее реализации в
ЭВМ разработаны специальные микросхемы. Но часто работа стековой памяти
эмулируется в основной памяти ЭВМ: с помощью программ операционной
системы выделяется часть памяти под стек (в IBM PC для этой цели
выделяется 64 Кбайта). Специальный регистр микропроцессора (указатель
стека) постоянно хранит адрес ячейки ОП, выполняющей функ¬ции вершины
стека. Чтение числа всегда производится из верши¬ны стека, после чего
указатель стека изменяется и указывает на очередную ячейку стековой
памяти (т.е. фактически стек остает¬ся неподвижным, а перемещается
вершина стека). При записи числа в стек сначала номер ячейки в
указателе стека модифици¬руется так, чтобы он указывал на очередную
свободную ячейку, после чего производится запись числа по этому адресу.
Такая ра¬бота указателя стека позволяет реализовать принцип «первым
вошел — последним вышел».
В стек может быть загружен в определенной последователь¬ности ряд
данных, которые впоследствии считываются из стека уже в обратном
порядке, на этом свойстве построена система арифметических
преобразований информации, известная под названием «логики Лукашевича».
|