Материалы для подготовки к экзамену по дисциплине "Организация ЭВМ", страница 22



Недостатки вариантов 1 и 2:

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

3 вариант

Он не имеет недостатка способов 1 и 2, так как связан с ассоциативным способом физического адреса по выставленному виртуальному.

Операционная система загружает на дескрипторные регистры два компонента:

v  виртуальный адрес страницы,

v  физический адрес страницы, соответствующий виртуальному адресу страницы.

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


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

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


Сегментно-страничное распределение памяти

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

Суть метода:

Любая программа делится на сегменты. Адресация внутри каждого сегмента начинается с нуля и каждый сегмент делится на страницы. Тогда для преобразования виртуального адреса в физический адрес используются три типа таблиц:

Ø  таблица страниц,

Ø  таблица сегментов,

Ø  таблица программ.

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

В состав блока преобразования входит:

q  регистр виртуального адреса,

q  регистр физического адреса,

q  три ступени преобразования:

-  таблица страниц,

-  таблица сегментов,

-  таблица программ.

На регистр А заносится адрес начала таблицы программ, на регистр В – адрес начала таблицы сегментов, на регистр С – адрес начала таблицы страниц.

Порядок формирования физического адреса по выставленному виртуальному адресу

Здесь возможны различные варианты.

1 вариант

Этот вариант самый быстрый.

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

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