7.4.1.2.3. Архитектура режима реальных адресов и защищенного режима

 

Микропроцессор 80386 имеет два режима работы: режим реальных адресов, называемый реальным режимом, и защищенный режим. Реальный режим используется преимущественно с целью установки процессора для работы в защищенном режиме, а также с целью выполнения программ МП предыдущих поколений. Защищенный режим обеспечивает возможности разбиения на страницы, управления памятью и механизма привилегий МП 80386. Эти конструктивные свойства дают совместимость на уровне объектного кода с более ранними МП фирмы Intel. Реальный режим, защищенный режим, среда виртуального МП 8086 кратко рассматриваются в этом разделе, а подробнее в гл. 8.

Реальный режим. При подаче сигнала сброса или при включении питания устанавливается реальный режим, причем МП 80386 работает как очень быстрый МП 8086, но, по желанию программиста, с 32-разрядным расширением. В реальном режиме МП 80386 имеет такую же базовую архитектуру, что и МП 8086, но обеспечивает доступ к 32-разрядным регистрам. Механизм адресации, размеры памяти и обработка прерываний (с их последовательными ограничениями) МП 8086 полностью совпадают с аналогичными функциями МП 80386 в реальном режиме.

Для формирования логического адреса в реальном режиме используются два компонента. Для определения линейного базового адреса сегмента используется 16-разрядный селектор. Полученный базовый адрес используется как 32-разрядный физический адрес. Различие двух режимов состоит в способе вычисления базового адреса.

Перемещаемость программ или данных заключается в том, что они могут быть размещены в разные моменты времени в различных областях памяти, не требуя от системы или прикладных программ своей модификации. Перемещение сегмента производится в МП 80386 точно так же, как и в МП 8086. В селекторе сегмента 16-разрядное значение сдвигается влево на четыре бита (т.е. умножается на 16) для формирования 20-разрядного базового адреса сегмента. Исполнительный адрес расширяется четырьмя старшими нулевыми битами для получения 20-разрядного значения и добавляется к базовому адресу. Таким образом формируется линейный адрес, который совпадает с физическим адресом, поскольку в реальном режиме разбиение на страницы не используется.

Прерывания и исключения нарушают нормальный порядок работы системы или программы. В реальном режиме они обрабатываются точно так же, как и в МП 8086. Список прерываний, воспринимаемых МП 80386, приведен в гл. 3. В реальном режиме таблица дескрипторов прерываний (IDT) МП 80386 представляет собой таблицу векторов реальных прерываний МП 8086 и занимает пространство от нулевого реального адреса до реального адреса 1024 (4 байт на вектор прерывания с 256 возможными входами).

Единственным способом выхода из реального режима является явное переключение в защищенный режим. В защищенный режим МП 80386 входит при установке бита включения защиты (РЕ) в нулевом регистре управления (CRO) с помощью команды пересылки (MOV to CRO). Для совместимости с МП 80286 с целью установки бита РЕ может быть также использована команда загрузки слова состояния машины LMSW.

Процессор повторно входит в реальный режим в том случае, если программа командой пересылки сбрасывает бит РЕ регистра CRO.

Защищенный режим. Полные возможности МП 80386 раскрываются в защищенном режиме. Программы могут исполнять переключение между процессами с целью входа в задачи, предназначенные для режима виртуального МП 8086. Каждая такая задача проявляет себя в семантике МП 8086 (т. е. в отношениях между символами и приписываемыми им значениями независимо от интерпретирующего их оборудования). Это позволяет выполнять на МП 80386 программное обеспечение для МП 8086 - прикладную программу или целую операционную систему. В то же время задачи для виртуального МП 8086 изолированы и защищены как друг от друга, так и от главной операционной системы МП 80386.

Подобно реальному режиму, в защищенном режиме используется 16-разрядный селектор для указания в определенной операционной системной таблице индекса, который содержит 32-разрядный базовый адрес сегмента. Физический адрес формируется путем добавления базового адреса, полученного из этой таблицы, к относительному адресу. Программы, написанные для МП 80286, выполняются на МП 80386 без модификации. Этот МП поддерживает также дескрипторы, используемые в МП 80286, поскольку зарезервированное фирмой Intel младшее слово дескриптора равно нулю.

 

 

 

HotLog

Заказчику web дизайна и программирования - каталог сайтов, обзор дизайн студий