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

1.3.1 Регистры процессора i80286.

По набору программно доступных регистров I80286 повторяет процессор I8086/88 (см. рис.1.4), но имеет дополнительные биты в РЕГИСТРЕ ФЛАГОВ (FLAGS) и РЕГИСТР СОСТОЯНИЯ МАШИНЫ (MSWMACHINE STATE WORD) (рис. 1.7).

Биты 0 – 11 регистра флагов совпадают с флагами МП I8086/88. Дополнительные биты, необходимы для защищенного режима виртуальной адресации:

  • IOPL – (Input/Output Privilege Level) – уровень привилегий ввода-вывода;

  • NT – (Nested Task Flag) – флаг вложенной задачи.

Регистр MSW управляет режимом процессора и использует биты:

  • PE – (Protection Enable) – разрешение защиты. Установка этого флага переводит процессор в защищенный режим. Возврат в реальный режим (сброс флага) возможен только по сигналу RESET.

  • MP – (Monitor Processor Extension) – мониторинг сопроцессора, позволяет вызывать исключение 7 по каждой команде WAIT.

  • EM – (Processor Extension Emulated) – эмуляция сопроцессора. Установка этого флага вызывает появление исключения 7 при каждой команде, относящейся к сопроцессору, что позволяет прозрачно осуществлять его программную эмуляцию.

  • TS – (Task Switch) – переключение задач. При установке этого флага следующая команда, относящаяся к сопроцессору, вызовет исключение 7, что позволяет программно определить, относится ли контекст сопроцессора к текущей задаче.

Сочетание: MP=0, EM=0, TS=0, устанавливаемое по аппаратному сбросу, обеспечивает полную совместимость с I8086/88 (исключение 7 не вырабатывается). Сочетание: MP=1, EM=0 используется при наличии сопроцессора I80287, а MP=0, EM=1 – его программной эмуляции.

1.3.2 Организация памяти i80286

Шина адреса – разрядностью 24 бита – позволяет адресовать 224 = 16 Мбайт физической памяти, но в реальном режиме доступен только 1 Мбайт, начинающийся с младших адресов. С программной точки зрения память также организуется в виде сегментов, но управление сегментацией имеет существенные различия для реального и защищенного режимов.

В РЕАЛЬНОМ РЕЖИМЕ по адресации памяти декларируется полная совместимость с процессором I8086, который своей 20-ти битовой адресной шиной охватывает пространство физической памяти в 1 Мбайт. На самом деле I80286 имеет ошибку, «узаконенную» и в следующих поколениях процессоров. При вычислении физического адреса возможно возникновение переполнения, которое с 20-ти битовой шиной адреса просто игнорируется. Однако у процессора I880286 на выводе А20 в этом случае установится единичное значение, что соответствует адресу из второго Мегабайта физической памяти. Для обеспечения полной программной совместимости с I8086 в схему компьютера (на материнской плате) был введен специальный вентиль GATE A20, принудительно обнуляющий бит А20 системной шины адреса.

В отличии от I8086 процессор I80286 имеет средства контроля за переходом через границу сегмента, работающие и в реальном режиме. При попытке адресации к слову, у которого старший байт выходит за границы сегмента, процессор вырабатывает прерывание – исключение 13 (0Dh) – Segment Overrun Exceotion. При попытке выполнить инструкцию ESCAPE (команды сопроцессора) с операндом памяти, не умещающимся в сегменте, вырабатывается исключение 9 - Procesor Extension Segment Ovrrun Interrupt.

В ЗАЩИЩЕННОМ РЕЖИМЕ работают все режимы адресации, допустимые для I8086 и реального режима I80286. Отличия касаются определения сегментов:

  • сегментные регистры – CS, DS, SS, ES – хранят не сами базовые адреса сегментов, а СЕЛЕКТОРЫ, по которым из таблицы дескрипторов, хранящейся в ОЗУ, извлекаются ДЕСКРИПТОРЫ СЕГМЕНТОВ;

  • дескриптор описывает базовый адрес, размер сегмента (1 ÷ 64 Кбайта) и его атрибуты;

  • базовый адрес сегмента имеет разрядность 24 бита, что и обеспечивает адресацию 16 Мбайт физической памяти.

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