Руководство по языку B.Pascal 7


Что такое защищенный режим?


Процессор 80286 и более поздние процессоры поддерживают два режима операций: защищенный режим и реальный режим. Реальный ре- жим совместим с работой процессора 8086 и позволяет прикладной программе адресоваться к памяти объемом до одного мегабайта. За- щищенный режим расширяет диапазон адресации до 16 мегабайт. Ос- новное отличие между реальным и защищенным режимом заключается в способе преобразования процессором логических адресов в физичес- кие. Логические адреса - это адреса, используемые в прикладной программе. Как в реальном, также и в защищенном режиме логический адрес - это 32-разрядное значение, состоящее из 16-битового се- лектора (адреса сегмента) и 16-битового смещения. Физические ад- реса - это адреса, которые процессор использует для обмена данны- ми с компонентами системной памяти. В реальном режиме физический адрес представляет собой 20-битовое значение, а в защищенном ре- жиме - 24-битовое.

Когда процессор обращается к памяти (для выборки инструкции или записи переменной), он генерирует из логического адреса физи- ческий адрес. В реальном режиме генерация физического адреса сос- тоит из сдвига селектора (адреса сегмента) на 4 бита влево (это означает умножение на 16) и прибавления смещения. Полученный в результате 20-разрядный адрес используется затем для доступа к памяти.

16Мб----------------- ¦ ¦ --------- ¦ ¦ ¦Смещение+- ¦ ¦ L--------- ¦ ¦ ¦ ¦ +----------------+ L--+----->----------¦+ сегмент 64К -->+----------------+- ¦ ¦ ¦ ¦ ¦ Пространство ¦ --------- ------- ¦ ¦ адресов ¦ ¦Селектор+-+ x 16 +------ ¦ ¦ L--------- L------- ¦ ¦ 0L-----------------

Рис. 17.1 Генерация физического адреса в реальном режиме.

Чтобы получить физический адрес в защищенном режиме, селек- торная часть логического адреса используется в качестве индекса таблицы дескрипторов. Запись в таблице дескрипторов содержит 24-битовый базовый адрес, к которому затем для образования физи- ческого адреса прибавляется смещение логического адреса.

16Мб----------------- ¦ ¦ --------- ¦ ¦ ¦Смещение+- ¦ ¦ L--------- ¦ ¦ ¦ ¦ +----------------+ Таблица дескрипторов L--+----->----------¦+ сегмент 64К ------- -->+----------------+- +------+ ¦ ¦ ¦ +------+ ¦ ¦ Пространство ¦ +------+ ¦ ¦ адресов ¦ -->+------+---- ¦ ¦ ¦ +------+ ¦ ¦ ¦ +------+ 0L----------------- ¦ +------+ ¦ +------+ ¦ +------+ ¦ +------+ ¦ +------+ ¦ +------+ ¦ +------+ ¦ +------+ --------- ¦ +------+ ¦Селектор+-- L------- L---------




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