Преобразование адресов страниц прямым отображением

Схема преобразования:

Преобразование адресов выполняется следующим образом:

1. Для выполняющегося процесса в регистр таблиц страниц записывается адрес b0, определяющий положение таблицы страниц в памяти;

2. Формируются виртуальные адреса p, dv (при каждом обращении к памяти). Для преобразования очередного виртуального адреса в физический, номер страницы p складывается с начальным адресом таблицы страниц b0;

3. По полученному адресу выполняется обращение к таблице страниц. Из неё читается дескриптор виртуальной страницы с номером p;

4. Содержимое полей дескриптора анализируется. Если значение бита состояния страницы указывает, что страница находится в ОП, то выполняется дальнейшее преобразование;

5. Из дескриптора читается bp данной страницы в физической памяти;

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

7. Осуществляется обращение к памяти.

Если признак состояния страницы указывает, что физическая страница выгружена на ВП, то генерируется страничное прерывание, по которому нужная страница отыскивается в ФВП и загружается в ОП.

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

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

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

Еще один метод преобразования, по смыслу близкий к использованию кэш-памяти, основан на использовании ассоциативной памяти.