Разрядные и 16-битные адреса и операнды

Процессоры IA-32 в защищенном режиме могут быть настроены для 32-разрядных или 16-разрядных адресов и размеров операндов. При 32-битных размерах адреса и операнда максимальный линейный адрес или смещение сегмента - FFFFFFFFH (232-1); размеры операндов обычно равны 8 бит или 32 бита. С 16-разрядными размерами адресов и операндов максимальный линейный адрес или смещение сегмента - FFFFH (216-1); размеры операндов обычно составляют 8 бит или 16 бит.

При использовании 32-разрядной адресации логический адрес (или дальний указатель) состоит из 16-битного сегмента селектора и 32-битного смещения; при использовании 16-разрядной адресации адрес состоит из 16-битного сегмента селектора и 16-битного смещения.

Префиксы инструкций допускают временные переопределения адресов и / или операндов по умолчанию из программы.

При работе в защищенном режиме дескриптор сегмента для текущего исполняемого сегмента кода определяет адрес по умолчанию и размер операнда. Дескриптор сегмента - это системная структура данных, которая не отображается в коде приложения. Ассемблерные директивы позволяют выбирать адресацию по умолчанию и размер операнда для программы. Затем ассемблер и другие инструменты настроили дескриптор сегмента для сегмента кода соответствующим образом.

При работе в режиме реального адреса размер адреса и размер операнда по умолчанию составляет 16 бит. В режиме реального адреса можно использовать переопределение размера адреса, чтобы включить 32-разрядную адресацию. Однако максимально допустимый 32-битный линейный адрес по-прежнему 000FFFFFH (220-1).

Расширенная физическая адресация в защищенном режиме

Начиная с процессоров семейства P6, архитектура IA-32 поддерживает адресацию физической памяти до 64 Гбайт (236 байт). Программа или задача не могли напрямую адресовать адреса в этом адресном пространстве. Вместо этого он обращается к отдельным линейным адресным пространствам до 4 ГБ, которые сопоставляются с физическим адресным пространством на 64 Гбайт через механизм управления виртуальной памятью. Используя этот механизм, операционная система может включить программу для переключения линейных адресных пространств 4-гигабайта в физическое адресное пространство 64 ГБ.

Использование расширенной физической адресации требует, чтобы процессор работал в защищенном режиме, а операционная система обеспечивала систему управления виртуальной памятью. См. «36-битная физическая адресация с использованием механизма подкачки PAE» в главе 3 «Управление памятью с защищенным режимом» в Руководстве разработчика программного обеспечения Intel® 64 и IA-32, том 3A.


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



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