Курс лекций «Организация ЭВМ и систем»: Методическое пособие, страница 18

Если банки выполнены в виде ПЗУ, то адрес регистра (доступного только по записи) может совпадать с адресом одной из ячеек области адресного пространства, отведенного для размещения в ней банков.  Например, если банки ПЗУ “вставляются” в область 8000-BFFF адресного пространства микроЭВМ, то регистру можно присвоить адрес 8000.  Этот адрес будет соответствовать двум разным элементам – регистру и ячейке ПЗУ.  При выполнении операции считывания по адресу 8000 информация будет выдана на шину данных только из ячейки ПЗУ, так как схема выдачи информации в эту шину из регистра не предусмотрена.  При выполнении операции записи по этому адресу информация загружается в регистр, а ПЗУ остается в пассивном состоянии, так как оно не срабатывает при наличии сигнала Запись.

Этот прием может быть полезным и в иных случаях, когда необходимо экономить адресное пространство.  Например, адреса портов ввода (доступных только по чтению) и вывода (доступных только по записи) можно выбрать одинаковыми.  При этом сигнал на управляющей линии Запись служит как бы дополнительным разрядом адреса, выбирающим тот или иной порт.

Метод виртуальной памяти:

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

Метод виртуальной памяти обеспечивает иллюзию “безграничной” оперативной памяти при вполне ограниченной ее физической емкости (например, 256К ячеек).  Идея метода состоит в том, что в случае отсутствия в ОЗУ нужной информации, в него подкачивается необходимая страница из внешнего накопителя, вытесняя одну из давно не использовавшихся страниц.  Размер страницы может быть равен, например, 16К ячеек.  Механизм “подкачки” обеспечивается специальными аппаратными и программными средствами, скрытыми от пользователя.  Поэтому пользователь считает, что у него в распоряжении имеется оперативная память весьма значительной емкости, которая определяется разрядностью адресной шины.

Предположим, что процессор оперирует с адресным пространством 232 ячеек, используя 32-разрядную адресную шину.  Адреса, поступающие из процессора, называются логическими.  С точки зрения пользователя, к процессору подключена обычная быстродействующая оперативная память со временем доступа менее одной микросекунды и емкостью 232 = 4,29 млрд ячеек.

Логический 32-разрядный адрес можно представить состоящим из двух частей: старшие 18 разрядов определяют номер N одной из 218 = 256К страниц, с которой процессор собирается работать, а 14 младших разрядов M определяют одну из 214 = 16К ячеек на выбранной странице.  Другими словами,  в распоряжении пользователя имеется 256К страниц памяти, каждая из которых содержит 16К ячеек.

На приведенном рисунке показана функциональная схема аппаратного ядра виртуальной памяти.  Показаны следующие устройства, соединенные с магистралью, помеченными знаками *, для отражения факта их программной доступности: регистр логического адреса, ассоциативное запоминающее устройство АЗУ, буферная память ОЗУ1, табличная память ОЗУ2.

Регистр логического адреса предназначен для хранения адреса, поступающего из процессора по магистрали.  АЗУ содержит 16 ячеек, каждая из которых состоит из трех групп разрядов, или полей: поля номера логической страницы S (18 бит), поля номера локальной страницы L (4 бита) и поля признаков P, характеризующих некоторые особенности соответствующего массива информации, такие, как возможность доступа по записи, факт недавнего использования, факт изменения содержимого и др.

Условием выдачи информации из некоторой ячейки АЗУ является совпадение информации, поступившей из поля N регистра логического адреса, с информацией, хранившейся в поле S этой ячейки.  При выявлении такого совпадения в любой из 16 ячеек на выходе Q АЗУ формируется логическая 1, в противном случае – логический 0.