Запоминающие устройства ЭВМ, страница 19

Такое СОЗУ – это набор полупроводниковых регистров (от 8 и до …), объединенных ДшА. Другое название – регистры общего назначения (РОНы). Номер регистра как раз и означает адрес ячейки СОЗУ.

Рис. 1.3.2.1

Широко распространены в современных процессорах наряду с кэш-памятью..

<68>

1.3.3. Организация стекового и магазинного СОЗУ.

В литературе существует путаница.  Характерно – различие понятия стека и магазина в двух изданиях книги Кагана Б.М.

Будем считать так:

LIFO («первым пришел – последним обслужен») – стек;

FIFO («первым пришел – первым обслужен») – магазин,

т.к. «stack» – пер. с англ. «куча», а из нее можно брать лишь сверху, а магазин – это обычная очередь.

Необходимо различать программные и аппаратные стеки (магазины). При этом основное – функциональное различие в назначении указателя стека (УС).

В аппаратном стеке УС – счетчик количества хранимых слов (в том или ином коде), а в программном УС – регистр, хранящий адрес «верхушки стека» (первой свободной ячейки «над верхней» заполненной). Однако программный стек – это уже не СОЗУ.

Рис 1.3.3.1. Структура стекового СОЗУ.

В счетчике (СчА) хранится адрес 1-ой свободной ячейки, после которого расположены занятые.

Структура магазинного СОЗУ будет очень близкой.

В лекции лишь упомянуты  программные стеки и очереди (магазины). Это естественно, поскольку речь идёт о СОЗУ, но в программных свои серьезные проблемы, связанные с определением «переполнения» и «антипереполнения»; набегания конца очереди (head) на начало (tail). Интересна идея использования кольцевого буфера для организации очереди.

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

<69>

1.3.4. Организация ассоциативных СОЗУ.

Напомним, что при использовании ассоциативных ЗУ в качестве СОЗУ последние выполняют обычно роль буферных ЗУ (между быстродействующим процессором и менее быстродействующей памятью).

В этом случае ячейки СОЗУ могут использоваться для подмены ячеек ОЗУ с целью повышения быстродействия обмена.

Рис. 1.3.4.1

Такая подмена производится путем занесение в ячейку СОЗУ и содержимого ячейки ОЗУ и её адреса в ОЗУ. Поэтому при любом обращении к памяти сначала проверяется, нет ли искомой информации в СОЗУ.

В АСОЗУ роль ассоциативного признака играет  адрес ячейки ОЗУ (оперативной памяти), где до некоторых пор хранился операнд. При обращении к СОЗУ требуемая ячейка определяется не по своему адресу («физическому»), а по признаку хранимого в ячейке слова. Таким признаком в данном случае выступает адрес слова в ОЗУ.

АСОЗУ в роли буферного ЗУ допускает замену каждым регистром СОЗУ любой ячейки ОЗУ. Подмена ячеек может производиться заранее по специальным командам: «заменить А», где  – адрес ячейки СОЗУ (номер регистра); А – адрес ячейки ОЗУ, назначаемой взамен.

Происходит это так:

1)  Слово из ячейки СОЗУ –  с регистра РгС переписывается в ОЗУ по адресу, указанному в ячейке СОЗУ на регистре РгАП

2)  В ячейку  СОЗУ записывается адрес А в регистр РгАП и слово из ячейки А ОЗУ в регистр РгС.

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