Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPT_otvety_na_ekzamen.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
417 Кб
Скачать
☆

2. Реальный режим (r86)

Таким образом, первым рабочим режимом, после вспомогательного, в который устанавливается процессор после включения питания, или перезагрузки по входу RESET, является реальный режим (R - режим, или режим RM). После этого, архитектура любого процессора этого семейства по умолчанию, становится практически идентичной архитектуре процессора 8086. Поэтому, для пользователя все процессоры семейства Х86 более поздних моделей, в реальном режиме представляются просто как более быстродействующие процессоры 8086 с некоторыми особенностями, к которым относятся следующие.

  1. Возможность использования 32-разрядных адресов и операндов, используя соответствующие префиксы размеров адресов и операндов. Правда, при этом следует учитывать, что при использовании 32-разрядных адресов, адресация не должна выходить за рамки сегмента 64 Кбайт, предусмотренные в МП 8086, или же за границы адресного пространства 1 Мбайт + 64 Кбайт, при формировании физического адреса. В ином случае, процессор уходит на прерывание (реализуется прерывание тип 13).

  2. Возможность использования несколько расширенной системы команд.

  3. Возможность использования дополнительных регистров GS и FS, а также системных регистров управления, отладки, проверки, и регистров математического сопроцессора.

Следует также отметить, что при инициализации реального режима процессора, уровень привилегий CPL всех сегментов автоматически устанавливается равным 0.

Если же появляется необходимость осуществить переход в реальный режим работы процессора, работающего в защищенном режиме (P – режиме), то он осуществляется командой MOV, загружающей в управляющий регистр CR0 слово, в котором значение нулевого бита (бита PE – Protection Enable) равно 0.

При этом, предварительно, необходимо отключить механизм страничного преобразования адресов, перейдя к использованию линейных адресов в качестве физических. Для этого следует в регистр CR0 занести слово, в котором 31- й бит (бит PG – Paging Enable), был бы равен 0. Кроме того, необходимо для всех сегментов установить размер, равный 64 Кбайт и выполнить ряд других операций.

После сброса бита PE в регистре CR0, следует перейти на программу, выполняемую в реальном режиме, с помощью команды межсегментного перехода JMP, очищающей очередь команд.

Второй вариант перевода процессора из защищенного режима в реальный – сброс процессора по входу RESET.

3. Защищенный режим (p – режим)

Для переключения в P – режим необходимо, прежде всего, создать минимальный набор системных структур данных. Создать дескрипторные таблицы, определить минимум потребующихся сегментов кода, данных и стека и т.д. Для этого необходимо: в регистр GDTR командой LGDT загрузить базовый адрес и предел таблицы GDT; в регистр IDTR с помощью команды LIDT загрузить базовый адрес и предел таблицы IDT; при необходимости организации многозадачного режима функционирования – инициализировать и регистр задачи TR. Если задачи достаточно объемны, целесообразно создать локальные дескрипторные таблицы LDT.

Сам переход в защищенный режим осуществляется путем установки в единичное состояние бита PE в регистре управления CR0. Это можно сделать либо командой MOV CR0, либо командой LMSW. (Напомним, что регистр слова состояния машины MSW является младшей половиной регистра CR0).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]