Организация оперативной памяти ЭВМ "Электроника 79". Часть 1.

Оперативная память состоит из основной памяти — ОЗУ емкостью до 4 Мбайт и кэш-памяти емкостью 2 Кбайт. Кэш-память, установленная между процессором и ОЗУ, «невидима» для программ, хранит копии содержимого ОЗУ и служит для ускорения выборки команд и данных. ОЗУ и кэш-память можно представить как систему памяти большой емкости с высоким эквивалентным быстродействием. Кэш-память автоматически удерживает данные, которые наиболее часто используются программой, при этом используется свойство программы обращаться к последовательным ячейкам памяти при выборке адресов и данных. Если требуемые данные есть в кэш-памяти, то обращение к ОЗУ не производится, если же их нет, то при обращении к ОЗУ в кэш-память переносится содержимое соседних с запрошенным операндом слов. Требуемое слово передается процессору, а дополнительное хранится в кэш-памяти. Поэтому при обращении к следующему слову программы процессор извлекает его из кэш-памяти.

Кэш-память состоит из двух групп по 256 блоков данных каждая. Блок включает два 16-разрядных слова и поле ассоциативного признака (рис. 3.19,а), содержащее информацию об адресе хранимых данных в основной памяти. Данные из основной памяти могут быть записаны в кэш-память в индексную позицию, определяемую их физическим адресом (рис. 3.19,6). Таким образом, кэш-память хранит не только данные, но и идентификатор адреса.


Структура и физический адрес блока кеш-памяти

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

Для обращения к ОЗУ используется 22-разрядный адрес, формируемый диспетчером памяти. Диспетчер памяти преобразует 16-разрядный виртуальный адрес программы в 22-разрядный физический адрес ОЗУ, создавая адресное пространство в 222 байтовых ячеек (4 Мбайт), из которых верхние 256К ячеек используются для обращения к Каналу. Таким образом, в мини-ЭВМ «Электроника 79» используются три области адресов: область виртуальных адресов программы (216 = 64 Кбайт), область адресов Канала (218 = 256 Кбайт) и область адресов ОЗУ (222 = 4 Мбайт). Диспетчер памяти осуществляет также защиту памяти в мультипрограммном режиме работы процессора. Преобразование адресов может быть запрещено установкой разряда 0 регистра состояния диспетчера.

Обращение со стороны Канала к ОЗУ производится с помощью преобразователя адресов Канала, который осуществляет аппаратное преобразование 18-разрядного адреса Канала в 22 разрядный адрес ОЗУ. Работа его также может быть разрешена или запрещена установкой разряда 05 третьего регистра состояния диспетчера памяти.

Для обеспечения правильности хранения и передачи данных в системе памяти используется паритет по байтам. Это существенно повышает надежность ЭВМ в целом. Паритет вырабатывается при всех передачах данных между ОЗУ и кэш-памятью, между кэш-памятью и центральным процессором, а также между интерфейсами внешней памяти и ОЗУ. ОЗУ содержит один разряд паритета на байт данных, кэш-память — еще два разряда для адреса и управляющей информации.