Организация ЭВМ и систем


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


реализующая безадресное задание операндов, является эффективным элементом архитектуры ЭВМ. Стек представляет собой группу последовательно пронумерованных регистров (аппаратный стек) или ячеек памяти, снабженных указателем стека (обычно регистром), в котором автоматически при записи и считывании устанавливается номер (адрес) пер­вой свободной ячейки стека (вершина стека). При операции записи заносимое в стек слово помещается в свободную ячейку стека, а при считывании из сте­ка извлекается последнее поступившее в него слово. Таким образом, в стеке реализуется правило «последний пришел - первый ушел» - магазинная адре­сация.

Механизм стековой адресации поясняется на рис. 4.3. Для реализации магазинной адресации используется счетчик адреса СЧА, который перед на­чалом работы устанавливается в состояние ноль, и память (стек) считается пустой. Состояние СЧА определяет адрес первой свободной ячейки. Слово загружается в стек с входной шины Х в момент поступления сигнала записи

ЗП.

По сигналу ЗП слово Х записывается в регистр Р[СЧА], номер которого

определяется текущим состоянием счетчика адреса, после чего с задержкой D, достаточной для выполнения микрооперации записи Р[СЧА]:=Х, состоя­ние счетчика увеличивается на единицу. Таким образом, при последователь­ной загрузке слова А, В и С размещаются в регистрах с адресами P[S], P[S + 1] и P[S + 2], где S — состояние счетчика на момент начала загрузки. Опера­ция чтения слова из ЗУ инициируется сигналом ЧТ, при поступлении которо­го состояние счетчика уменьшается на единицу, после чего на выходную ши­ну Y поступает слово, записанное в стек последним. Если слова загружались в стек в порядке А. В, С, то они могут быть прочитаны только в обратном

порядке С, В, А.                        '

В современных архитектурах процессоров и микропроцессоров стек и

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


Рис.4.3. Стек с магазинной адресацией




- Начало -  - Назад -  - Вперед -