Модульная организация памяти

модульная организация памяти - student2.ru

WE – разрешение записи /write enable/

CS – выбор кристалла /chip select/

Примеры логических адресов

Прямой адрес

Афиз = Алог (16 разрядов), тогда объем памяти равен 64Кб

Адрес физический – адрес в ОЗУ

2. Адрес логический меньше адреса физического (расширенная память)

Афиз < Алог

 
  модульная организация памяти - student2.ru

Преобразование короткого логического адреса к длинному физическому

3. Адрес логический больше адреса физического

Афиз > Алог

 
  модульная организация памяти - student2.ru

Короткий логический адрес и длинный физический

Адресное пространство – совокупность ячеек, к которой можно обратиться

модульная организация памяти - student2.ru

Метод банков

Логическое адресное пространство объявляется модулем (банком) памяти

модульная организация памяти - student2.ru

Должна быть отдельная команда обращения к регистру, в котором хранится номер банка

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

При этом ЦВМ на некотором временном интервале "работает" только с одной страницей и, следовательно, в каждой такой странице должны располагаться, в случае принстонской архитектуры, и текущая исполняемая программа, и фрагменты операционной системы (OC), и массивы данных, стек, а при организации системного интерфейса по схеме UNIBUS и регистры внешних устройств (ВУ). Таким образом, физическое адресное пространство будет "разрезано" повторяющимися вставками из одних и тех же фрагментов операционной системы, содержащих по крайней мере обращение к библиотеке стандартных подпрограмм (БСП), и регистры внешних устройств.

Предположим, что работаем с одним банком

модульная организация памяти - student2.ru

В нем хранятся следующие данные:

ВУ – внешние устройства

стек

D – пользовательские данные

пр. – программа

OC – операционная система

ВП – вектора прерываний

В процессе работы возникает следующая ситуация: под данные не хватило места. Чтобы увеличить в 2 раза память под данные (D), придется скопировать все остальные данные

 
  модульная организация памяти - student2.ru

В таком случае (принстонская архитектура)память используется очень неэкономично, поэтому обычно используются следующие подходы.

2 подхода:

1. Метод сегментов

2. Метод окна

Метод сегментов

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

Определяем несколько адресных пространств, каждое из которых определяется некоторыми признаками

 
  модульная организация памяти - student2.ru


Наши рекомендации