- •Мп и их роль в современных компьютерах, cisc, risc и epic мп:
- •Поэтому, для risc – процессоров характерно:
- •К преимуществам мп с risc – архитектурой можно отнести:
- •Краткая история развития мп семейства х86:
- •4. Перспективы развития микропроцессорной техники.
- •Основные причины и результаты усовершенствования мп семейства х86:
- •Системные регистры мп семейства х86:
- •Дескрипторные таблицы Дескрипторные таблицы
- •Назначение и структура дескрипторов кода и данных:
- •Назначение и структура системных дескрипторов:
- •Назначение и структура дескрипторов шлюзов:
- •Теневые регистры и их назначение:
- •Регистр флагов и назначение его отдельных битов:
- •Принцип формирования линейных адресов в реальном режиме работы мп семейства х86:
- •Принцип формирования линейных адресов в защищенном режиме работы мп в семействе х86:
- •Страничное преобразование адресов, ее назначение и принцип реализации:
- •Источники и разновидности запросов прерываний процессора:
- •Организация системы прерываний в реальном режиме работы процессоров семейства х86:
- •Организация системы прерываний в защищенном режиме работы процессоров семейства х86:
- •Организация общей (базовой) защиты в мп х86:
- •Защита по привилегиям сегментов и ее организация:
- •Защита по привилегиям команд:
- •Принципы организации многозадачного режима работы:
- •Сегмент состояния задачи, его структура и назначение:
- •Принципы, лежащие в основе использования кэш-памяти, и организация кэш-памяти прямого отображения:
- •Принципы организации полностью ассоциативной и множественно-ассоциативной кэш-памятей:
- •Принципы организации целостности данных в подсистеме памяти с кэшированием:
- •Описание блок-схем алгоритмов обслуживания запросов в подсистеме памяти с кэшированием:
- •4. Двухуровневое кэширование.
- •Принципы организации конвейерной обработки сигналов в мп х86:
- •Циклы шины и режимы работы мп х86:
- •2. Реальный режим (r86)
- •3. Защищенный режим (p – режим)
- •4. Виртуальный режим (v86)
- •5. Режим smm
- •Принципы организации пакетного режима обмена информацией:
- •Основные особенности микроархитектуры Intel Sandy Bridge и ее структурная схема:
- •Сущность принципа «динамического исполнения команд»:
- •Структурная схема ядер мп Sandy Bridge и их функционирование:
- •Необходимость и общие принципы функционирования блока предсказаний ветвлений:
- •Необходимость предварительного и основного декодирования инструкций х86 в мп микроархитектуры Sandy Bridge:
- •Функционирование системы обнаружения программных циклов и суть работы блока pcu в мп микроархитектуры Sandy Bridge:
- •Сущность технологий макро- и микрослияний инструкций и микрокоманд в мп микроархитектуры Sandy Bridge:
4. Виртуальный режим (v86)
При виртуальном режиме происходит эмуляция (моделирование) функционирования процессора 8086 в операционной среде основного процессора i386+, работающего в многозадачном режиме, как одной из его возможных задач. При этом обеспечивается ряд средств защиты и возможность страничной организации памяти. Поэтому, часто говорят, что в режиме V86 микропроцессор работает как виртуальный процессор 8086, состоящий из аппаратных средств основного процессора i386+, системного программного обеспечения, представляющего собой специальную программу – монитор V86 в среде основной ОС и прикладного программного обеспечения, разработанного для 8086. Сам же монитор V- режима (V86) представляет собой программу Р - режима, которая выполняется на уровне привилегий 0.
Таким образом, задача в виртуальном режиме имеет сложную структуру: обычная пользовательская программа 8086, вложена в программу-монитор V86, которая, в свою очередь, является задачей защищенного режима базового процессора i386+, выполняемой на уровне привилегий 0. Но программа-монитор V86 может, например, эмулировать средства MS-DOS. В этом случае структура задачи получается еще более сложной: обычная задача 8086 вкладывается в MS-DOS, а сама MS-DOS – в монитор V86.
Все задачи виртуального режима V86 выполняются на уровне привилегий 3 (CPL = 3). Этим виртуальный режим отличается от реального режима работы, при котором всем программам представляется наиболее привилегированный уровень CPL = 0. Поскольку в виртуальном режиме, как и в реальном дескрипторы не используются, то в нем определены только некоторые способы защиты, а именно:
При использовании страничной организации памяти, в случае нарушения правил доступа к странице, реализуется прерывание типа 14 (отказ страницы).
При появлении привилегированных команд, которые выполняются в защищенном режиме только при CPL = 0 (команды LIDT, LGDT, LMSW, CLTS, HLT, а также команда MOV при обращении к регистрам управления, тестирования и отладки), возникает прерывание типа 13 (нарушение защиты).
При появлении других привилегированных команд (LLDT, SIDT, LTR, STR, LAR, LSL, ARPL, VERR, VERW) возникает прерывание типа 6 (неразрешенный код команды).
В задачу, работающую в виртуальном режиме можно войти двумя основными способами:
Выполнив команду CALL или JMP к TSS, у которого установлен в единичное состояние бит VM (Virtual Machine) в копии регистра EFLAGS, т.е. осуществить операцию переключения задач.
При возврате из прерывания, с использованием команды IRET в ходе выполнения программы с CPL=0, если в загружаемом при этом из стека содержимом регистра EFLAGS, бит VM установлен в 1.
Выход процессора из режима V86 может произойти только при обработке прерываний или исключений, когда:
В результате прерывания происходит переход на процедуру с высшим уровнем привилегий (с CPL=0). При этом текущее состояние регистра EFLAGS заносится в стек, а бит VM сбрасывается в 0. То есть, вызванная процедура будет выполняться в защищенном режиме.
Прерывание вызывает переключение задачи командой JMP на задачу с TSS, в котором значение бита VM, в поле EFLAGS, равно нулю.
Следует заметить, что в процессорах определен также расширенный виртуальный режим EV86 (Extended V86), который включается дополнительной установкой в единичное состояние бита VME в управляющем регистре CR4. В этом режиме процессор имеет возможность управлять флагом IF (с помощью инструкций CLI и STI) не только при IOPL=3, но и при IOPL<3. В этом режиме IOPL – чувствительные инструкции не вызывают особого случая – отказа, а воздействуют на виртуальную версию флага VIF в регистре EFLAGS. Этот флаг не влияет на восприятие процессором внешних (маскируемых) прерываний, а лишь указывает на состояние задачи EV86 – разрешила или запретила она обработку прерываний. При этом, во-первых, повышается производительность – инструкции CLI и STI теперь не приводят к отказам, а во-вторых, упрощается монитор, обеспечивающий программную виртуализацию флага прерываний (в V86 монитор должен был отслеживать все инструкции, влияющие на IF – CLI, STI, PUSHF, POPF, INT и IRET). Аппаратная виртуализация флага приводит к значительному повышению производительности. В режиме EV86 сегмент состояния задачи TSS приобретает новую 32–байтную структуру – карту перенаправления прерываний (смотри раздел о многозадачном режиме работы). Каждый бит карты перенаправления соответствует одному из 256 (32×8) программных прерываний, вызываемых инструкцией INTn. Если этот бит установлен (равен 1), то соответствующее прерывание вызовет особый случай – отказ с выходом из EV86 в монитор. Если же он сброшен, то прерывание обрабатывается процедурой реального режима без выхода из EV86.
На программные прерывания, вызываемые иным образом, а также особые случаи и внешние аппаратные прерывания карта перенаправления действия не оказывает.
В заключение приведем таблицу возможностей рассмотренных режимов работы процессоров i386+, при выполнении задач (табл.IX.1).
Табл.IX.1.
Возможности различных режимов процессоров i386+.
Возможности |
Реальный режим (PE = 0) |
Защищенный режим (PE=1) |
|
V – режим (VM=1) |
P- режим (VM=0) |
||
|
|
|
|
32-битные регистры общего назначения |
Доступны |
Недоступны |
Доступны |
Многозадачность |
Нет |
Нет |
Возможна |
Защита: - сегментов - страниц - ввода/вывода |
Нет |
Нет |
Есть |
Нет |
Есть |
Есть |
|
Нет |
Возможна |
Есть |
|
Уровни привилегий |
0 |
3 |
0, 1, 2, 3 |
Доступность команд МП i386+ |
Не все |
Не все |
Все |
Память: - общий объем - размер сегмента - страничный механизм - виртуальная память |
|
|
|
До 1 Мбайт |
До 1 Мбайт |
До 4 (64) Гбайт |
|
До 64 Кбайт |
До 64 Кбайт |
До 4 Гбайт |
|
Нет |
Возможен |
Возможен |
|
Нет |
Нет |
Возможна |
|
