Переключение текущей задачи на подготовленную заранее задачу МП. Переключение задачи V86 на любую другую задачу

Страницы работы

Фрагмент текста работы

¦ Введение и снятие       ¦

¦ виртуального режима V86 ¦

+-------------------------+ Рис. 3.45 суммирует пути, по которым процессор вводит и снимает программы МП 8086.  Процессор вводит режим V86

одним из следующих способов:

1) переключением текущей задачи на подготовленную заранее задачу МП

80386.  При этом загружается копия EFLAGS из нового TSS.  TSS новой задачи должен быть только TSS 80386, а не TSS 80286, поскольку TSS

80286 не хранит старшее слово EFLAGS, содержащее флажок VM (признак виртуального режима 8086).  Единица во флажке VM нового EFLAGS

указывает на то, что этой новой задачей является программа МП 8086.

Поэтому во время загрузки сегментных регистров из TSS микропроцессор формирует такие базовые адреса, какие нужны МП 8086;

2) по команде IRET, выполняемой в задаче МП 80386 и загружающей копию

EFLAGS из стека.  Единица в разряде VM в этом случае будет определять, что нужно ввести режим V86.  CPL во время выполнения команды IRET

должен быть равен нулю, иначе VM не изменится.

Переключение    +----------------+

+----------------¦ Начальный ввод ¦

¦задачи или IRET +----------------+

¦

¦            Прерывание, исключительная

+------*---------+  ситуация                   +---------------------+

¦ Программа 8086 +-----------------------------*    Монитор 8086     ¦

¦ (режим V86)    *-----------------------------¦ (защищенный режим)  ¦

+---*------------+          IRET               +---------*-----------+

¦  ¦                                              ¦  ¦

¦  ¦ Переключение                    Переключение ¦  ¦

¦  ¦ задачи   +--------------------------+ задачи ¦  ¦

¦  +----------*   Другие задачи 80386    *--------+  ¦

+-------------¦    (защищенный режим)    +-----------+

Переключение +--------------------------+ Переключение задачи                                    задачи

Рис. 3.45. Введение и снятие программ МП 8086

Процессор выходит из режима V86 при возникновении прерывания или исключительной ситуации.  При этом возможно возникновение двух ситуаций:

1) прерывание или исключительная ситуация вызывают переключение задачи.

Переключение задачи V86 на любую другую задачу приводит к загрузке

EFLAGS из TSS новой задачи.  Если новым TSS является TSS МП 80386 и разряд VM в EFLAGS нулевой или новый TSS - TSS 80286, то микропроцессор сбрасывает флажок VM регистра EFLAGS, загружает сегментные регистры из нового TSS, используя формат адресации МП

80386, и начинает выполнение команд новой задачи по правилам защищенного режима МП 80386;

2) прерывание или исключительная ситуация указывают на обработчик прерывания нулевого уровня привилегий.  Микропроцессор сохраняет текущее состояние EFLAGS в стеке, а затем очищает разряд VM.

Поэтому обработчик прерывания или исключительной ситуации будет работать в защищенном режиме МП 80386.  Если прерывание или исключительная ситуация указывает на обработчик прерывания, находящийся в подчиненном кодовом сегменте или на уровне привилегий, отличном от 3, микропроцессор вызывает исключительную ситуацию 13.

При этом код ошибки содержит селектор выполнимого сегмента, на который была сделана попытка передать управление.

Программы системы работают не непосредственно с VM-флажком, а с копией регистра EFLAGS, которая хранится в стеке или в TSS.  Монитор V86

устанавливает флажок VM в копии EFLAGS стека или в TSS перед первым созданием задачи V86.  Обработчики исключительных ситуаций или прерываний могут проверить флажок VM в стеке.  Если прерванная процедура была выполнена в режиме V86, обработчику может понадоразрядься вызов монитора

V86.

9. КЛАВИАТУРА     г================¬

¦ Общие сведения ¦

Клавиатура - это основное средство связи пользователя c системой.

В этой главе термин "система" относится к контроллеру клавиатуры (8042)

на системной плате.

Блок-схема клавиатуры приведена на рис. 9.1.

-------------------------------------------¬

¦    Системный интерфейс с клавиатурой     ¦

L--------------------T---------------------¦

¦

¦

---------------------+----------------------¬

¦           Процессор клавиатуры            ¦

L---------T----------T-------------T--------¦          ¦             ¦

---------          ¦             L------¬

----------+----------¬       ¦      --------------+---------¬

¦    Матричные       ¦       ¦      ¦ Индикаторы клавиатуры ¦

¦   передатчики      ¦       ¦      ¦     (светодиоды)      ¦

L---------T-----------       ¦      L-----------------------¦                  ¦

-----------+----------¬  -----+-----------------¬

¦  Матричные переклю- +--+ Матричные приемники  ¦

¦  чатели клавиш      ¦  ¦                      ¦

L----------------------  L----------------------Рис. 9.1. Блок-схема клавиатуры

В клавиатуре имеется микропроцессор, который сканирует (просмативает

Похожие материалы

Информация о работе