Режим pae– расширенной (36-разрядной) адресации
Если процессор работает в режиме формирования расширенных 36-разрядных адресов (в регистре CR4 установлено значение бита РАЕ=1), то процедура формирования физического адреса несколько осложняется (см. рис.$.4). Это связано с тем, что элементы каталога и таблиц увеличены для хранения дополнительных битов расширенного адреса, и таким образом, в каталоге и таблицах теперь меньше элементов.
Линейный адрес |
| ||||||||||||||
31 |
30 |
29 |
21 |
20 |
0 |
| |||||||||
Directory pointer |
Directory |
Offset |
| ||||||||||||
2 |
|
|
9 |
|
|
21 |
| ||||||||
|
|
Таблица указателей |
|
|
|
|
|
|
|
| |||||
|
|
каталогов (Page Directory Pointer Table |
|
|
|
Каталог страниц (Page Directory) |
|
|
|
2M-байтная страница | |||||
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
Физический | |||||
|
|
Элемент таблицы |
|
|
|
Элемент |
|
|
|
адрес | |||||
|
|
указателей (PDPT) |
|
|
|
каталога (PDE) |
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
| |||||
|
|
|
|
|
|
|
|
|
|
Начало | |||||
|
|
Начало таблицы |
|
|
|
Начало каталога |
|
|
|
страницы | |||||
|
27 |
|
|
|
|
| |||||||||
|
CR3 (PDPTE) |
|
|
|
|
Рис. $.4б. Формирование 36-разрядного физического адреса при страничной организации памяти для 2MBстраниц.
При расширенной адресации, размеры элементов каталога и страниц увеличиваются вдвое и т.о. вдвое уменьшается количество элементов в каждой таблице и каталоге. В этом случае вводится дополнительная таблица указателей каталогов (PageDirectoryPointerTable), с помощью которой адресуется каталог разделов (при использовании стандартных страниц 4KB, рис.$.4а) или каталог страниц (при использовании расширенных страниц 2MB, рис.$.4б). Для обращения к таблице каталогов в линейном адресе выделяется 2-разрядное полеDirectory Pointer. В целом, процедура трансляции производится так же, как описано выше для формирования 32-разрядных адресов. Отличия состоят в том, что выполняется дополнительный этап трансляции с обращением к таблице каталогов, а также изCR3 передается не 20-битный адрес каталога страниц, а 27-битный адрес таблицы указателей каталогов страниц (см. рис. $2б).
Форматы элементов каталогов и таблиц, используемых при расширенной адресации, показаны на рис. $.5.
|
63 |
36 |
35 |
12 |
11 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||||||
а) |
Резервировано (=0) |
Базовый адрес каталога страниц |
Avail |
Резервировано |
P C D |
P W T |
Рез. |
1 | ||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||
|
63 |
36 |
35 |
12 |
11 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||||||
б) |
Резервировано (=0) |
Базовый адрес таблицы страниц |
Avail |
0 |
0 |
0 |
A |
P C D |
P W T |
U / S |
R / W |
P | ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |||
|
63 |
36 |
35 |
12 |
11 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |||||||
в) |
Резервировано (=0) |
Базовый адрес страницы |
Avail |
G |
P A T |
D |
A |
P C D |
P W T |
U / S |
R / W |
P | ||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||||
|
63 |
36 |
35 |
21 |
20 |
13 |
12 |
11 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | ||||
г) |
Резервировано (=0) |
Базовый адрес страницы |
Резервировано (=0) |
P A T |
Avail |
G |
1 |
D |
A |
P C D |
P W T |
U / S |
R / W |
P |
Рис. $.5. Формат элемента таблицы указателей каталогов страницPDPT(а), элемента каталога страницPDE(б), и элемента таблицы страницPTE(в) для 4KBстраниц, а также элементов таблицы указателей каталогов страницPDPT(а) и элементов каталога страницPDEдля 2MBстраниц (г) при 36-разрядном адресе
Элементы содержат 64 бита (часть из них резервирована), назначение которых аналогично соответствующим битам указателей при стандартной 32-разрядной адресации (рис.$.3). Указатели имеют поля, в которых хранятся старшие разряды 36-разрядных базовых адресов каталогов, разделов и страниц. С помощью страничной трансляции формируется 36-разрядный физический адрес инструкции или операнда.
Отметим, что расширенная разрядность адреса реализуется только при использовании страничной адресации, когда установлены значения битов PG=PAE=1.
Также отметим, что аналогично тому, что 4KBстраницы выровнены на границу 4KB, точно также 2MBи 4MBстраницы выровнены на границы 2MBи 4MBсоответственно.