Защищенный режим процессоров Intel


Преобразование адресов - часть 2


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

Следующие 10 бит линейного адреса предназначены для индексации таблицы страниц, выбранной с помощью старших 10 бит адреса. Таблица страниц содержит 1024 дескриптора, определяющих физические адреса страниц памяти. Размер одной страницы составляет 4 килобайта, т.е. 4096 байт.

Младшие 12 бит линейного адреса указывают смещение к адресуемому байту внутри страницы.

На рис. 19 представлен формат дескриптора таблицы страниц.

Рис. 19. Дескриптор таблицы страниц.

Для представления старших 20 битов физического адреса таблицы сраниц в дескрипторе используются биты 12-31. Младшие 12 битов адреса таблицы всегда равны нулю, таким образом, таблица страниц должна быть выровнена в памяти на границу 4096 байт (на границу страницы).

Формат дескриптора страницы представлен на рис. 20.

Рис. 20. Дескриптор страницы.

Биты 12-31 в дескрипторе страниц указывают старшие 20 бит физического адреса страницы. Младшие 12 бит адреса страницы всегда равны нулю.

Назначение бит 0-11 одинаково и для дескриптора таблицы страниц, и для дескриптора страницы. В таблице 4 приведено описание этих бит.

Таблица 5. Биты 0-12 дескрипторов таблиц страниц и страниц.

Номер бита Назначение
0 (P) Бит присутствия в памяти. Установлен в 1, если определяемая данным дескриптором таблица страниц находится в оперативной памяти. Этот бит используется для организации виртуальной памяти.
1 (W) Разрешение записи. Если бит установлен в 1, то запись в страницы разрешена. Бит используется для организации защиты от записи на уровне страниц.
2 (U) Пользователь/супервизор. Используется для разграничения доступа к страницам операционной системы (страницы супервизора) и страницам программ пользователя. Значение бита, равное 0, соответствует страницам супервизора, 1 - страницам программы пользователя.
3-4 Эти биты зарезервированы и должны быть установлены в 0 для совместимости со следующими моделями процессора.
5 (A) Бит доступа. Он устанавливается процессором перед выполнением операций чтения страницы или записи в страницу.
6 (D) Бит мусора. Устанавливается, если была выполнена запись в каталог или страницу.
7-8 Эти биты зарезервированы и должны быть установлены в 0 для совместимости со следующими моделями процессора.
9-12 (AVL) Эти биты доступны для использования операционной системой (AVL - Available for use).



Начало  Назад  Вперед



Книжный магазин