Страничное преобразование адреса. формат элемента таблиц страниц

В защищенном режиме все адресное пространство разбивается на 1Mb 4Kb-ых страниц. Физическая память также разбивается на 4Kb-ые страничные кадры. Любой страничный кадр можно загрузить в любую виртуальную страницу. Страничное преобразование необходимо для получения из линейного адреса – страничный, при этом линейный адрес разделяется на 2-е части: номер виртуальной страницы (20 бит) и адрес смещения.

Номер виртуальной страницы Смещение

 
Страничное преобразование

 

 


Номер физической страницы смещение

В процессе страничного преобразования адреса активное участие принимает CR3, который содержит в 20-и старших разрядах базовый адрес каталога страниц (таблица страниц 1-го уровня). Каталог страниц содержит 1024 32-х разрядных дескриптора, называемых элементами каталога страниц PDE. Каталог страниц наз. таблицей страниц 1 уровня

 Каждый из PDE адресует таблицу страниц 2 уровня, каждая из которых содержит 1024 32-х разрядных дескриптора, называемых элементами таблицы страниц PTE. Каждый из элементов PTE адресует страничный адрес физической памяти.

1024 дескриптора = 1 страница, 4кб

Табличное преобразование линейного адреса в физический производится следующим образом:

1) Линейны адрес разбивается на 3 части

2) Старшие 10 бит линейного адреса (с 21 по 31), добавленные 2-мя младшими «0» индексируют 1-ин из элементов PDE каталога страниц.

3) Следующие 10 бит линейного адреса (с 12 по 21), дополненные 2-мя младшими нулями индексируют один из элементов таблицу страниц 2-го уровня. (PTE)

4) Младшие 12 бит линейного адреса остаются неизменными, а старшие 20 бит заменяются найденным адресом страничного кадра.

Не смотря на сложность выполняемых процессов преобразование выполняется быстро, т.к. для элементов таблиц страниц предусмотрена спец. Кэш-память наз. ассоциативным буфером преобразования

Формат элемента таблиц страниц (каталога страниц)

АСК USER 0 0 D A PCD PWT U/S R/W P

АСК – адрес страничного кадра – определен 20 битами, в случае, если элемент PDE, то это адрес страничного кадра.

P – бит присутствия, при P = 0 страница отсутствует в оперативной памяти, попытка обращения к ней вызывает прерывание 14 - “страничный сбой”;

R/W – бит позволяющий установит режим доступа

RW=0 возможно считывание и запись страницы, RW=1 только считывание

U/S – определяет уровень привилегированности страницы: 1)пользовател. страница 2)супервизора(системная) страница,

при U/S = 0 блокируется запрос с уровнем привилегий 3; при запросе с уровнями привилегий 0,1,2 значение битов R/W, U/S игнорируется;

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

PCD – запрещение кэширования страниц;

A – бит доступа, устанавливается процессором при любом обращении к странице; Использ. для подсчета кол-ва обращений к странице. Устанавливается аппаратно, сбрасывается программой

D – признак записи на страницу. Устанавливается аппаратно в 1 при модификации страницы, т.е. при обращении для записи. Использ. для выяснения необходимости перезаписи страничного кадра на диске. Сбрасывается системой программы

User- использ. системой для своих нужд

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: