Полная версия

Главная arrow Информатика arrow Вычислительная техника

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Концепция виртуальной памяти

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

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

Процессы преобразования адресов и перемещение информации наиболее просто реализуются при страничной адресации памяти. Метод страничной адресации состоит в том, что виртуальная память (множество адресов) разделяется на страницы емкостью 2К соседних адресов. Так, к странице с адресом 0 относятся адреса 0, 1, 2,....,(2К -1); к странице с адресом 1 (2К) - (2К +1) ...( 2K+1 -1) и так далее. В результате адрес слова будет состоять из двух полей:

Р - указывающего адрес страницы

А - указывающего адрес слова в странице Р

Если физическую память разделить на сегменты, состоящие из 2К соседних ячеек, то физические адреса в пределах одной виртуальной страницы по структуре будут полностью совпадать с математическими адресами

где S - адрес сегмента;

А - адрес слова (ячейки) в сегменте S.

Текущее состояние памяти ЭВМ характеризуется таблицей страниц.

Организация виртуальной памяти

Рис. 6.13 Организация виртуальной памяти

Отдельной странице виртуальной памяти Pj (i=0, Q-1) соответствует одна строка таблицы, в которой указываются параметры страницы Pj:

Sj - адрес сегмента ОЗУ, в котором размещается страница Pj, иначе говоря, физический адрес страницы Pj;

ф - признак доступности страницы: при dpi страница Pj хранится в ОЗУ и доступна для ЦП; при ф=0 страница Pj хранится в ВЗУ и недоступна для ЦП.

Каждой странице Pj (i=0-2047) виртуальной памяти соответствует свой сегмент, адрес которого определён в таблице страниц, и следовательно, каждому слову присвоен свой физический адрес.

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>