Режим 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 страниц.
При расширенной адресации, размеры элементов каталога и страниц увеличиваются вдвое и т.о. вдвое уменьшается количество элементов в каждой таблице и каталоге. В этом случае вводится дополнительная таблица указателей каталогов (Page Directory Pointer Table), с помощью которой адресуется каталог разделов (при использовании стандартных страниц 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 соответственно.
