Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 8 стр.

UptoLike

Составители: 

8
Новые флаги NT, RF и VM, а также поле IOPL используются
процессором только в защищенном режиме.
Двухразрядное поле привилегий ввода-вывода IOPL (Input/Output
Privilege Level) указывает на максимальное значение уровня текущего
приоритета (от 0 до 3), при котором команды ввода-вывода выполняются
без генерации исключений.
Флаг вложенной задачи NT (Nested Task) показывает, является ли
текущая задача вложенной в выполнение другой задачи. В этом случае
NT=1. Флаг устанавливается автоматически при переключении задач.
Значение NT проверяется командой iret для определения способа возврата
в вызвавшую задачу.
Управляющий флаг рестарта RF (Restart Flag) используется
совместно с отладочными регистрами. Если RF=1, то ошибки, возникшие
во время отладки при исполнении команды, игнорируются до выполнения
следующей команды.
Управляющий флаг виртуального режима VM (Virtual Mode)
используется для перевода процессора из защищенного режима в режим
виртуального процессора 8086. В этом случае процессор функционирует
как быстродействующий МП 8086, но реализует механизмы защиты
памяти, страничной адресации и ряд других возможностей.
При работе с процессором программист имеет доступ к четырем
управляющим регистрам CR0...CR3, в которых содержится информация о
состоянии компьютера. Эти регистры доступны только в защищенном
режиме для программ, имеющих уровень привилегий 0. Нас будет
интересовать лишь регистр CR0 (рисунок 1.4), представляющий собой
слово состояния системы. Более подробно этот управляющий регистр
будет рассмотрен в следующей главе.
Для управления режимом работы процессора и указания его
состояния используются следующие шесть битов регистра CR0:
     Новые флаги NT, RF и VM, а также поле IOPL используются
процессором только в защищенном режиме.
     Двухразрядное поле привилегий ввода-вывода IOPL (Input/Output
Privilege Level) указывает на максимальное значение уровня текущего
приоритета (от 0 до 3), при котором команды ввода-вывода выполняются
без генерации исключений.
     Флаг вложенной задачи NT (Nested Task) показывает, является ли
текущая задача вложенной в выполнение другой задачи. В этом случае
NT=1. Флаг устанавливается автоматически при переключении задач.
Значение NT проверяется командой iret для определения способа возврата
в вызвавшую задачу.
     Управляющий флаг рестарта RF (Restart Flag) используется
совместно с отладочными регистрами. Если RF=1, то ошибки, возникшие
во время отладки при исполнении команды, игнорируются до выполнения
следующей команды.
     Управляющий флаг виртуального режима VM (Virtual Mode)
используется для перевода процессора из защищенного режима в режим
виртуального процессора 8086. В этом случае процессор функционирует
как быстродействующий МП 8086, но реализует механизмы защиты
памяти, страничной адресации и ряд других возможностей.
     При работе с процессором программист имеет доступ к четырем
управляющим регистрам CR0...CR3, в которых содержится информация о
состоянии компьютера. Эти регистры доступны только в защищенном
режиме для программ, имеющих уровень привилегий 0. Нас будет
интересовать лишь регистр CR0 (рисунок 1.4), представляющий собой
слово состояния системы. Более подробно этот управляющий регистр
будет рассмотрен в следующей главе.
     Для управления режимом работы процессора и указания его
состояния используются следующие шесть битов регистра CR0:


                                      8