Особенности архитектуры универсальных микропроцессоров. Механов В.Б. - 116 стр.

UptoLike

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

116
4.4. Режим виртуального
микропроцессора 8086 (V86)
Прикладные программы для 8086 могут исполняться на
32-разрядных процессорах как в реальном режиме, так и в ре-
жиме виртуального 8086 (V86), который является особым со-
стоянием задачи защищенного режима. Режим V86 более при-
влекателен своими возможностями и гибкостью:
– в этом режиме работает защита и механизм страничной
переадресации, позволяющий адресоваться к любой области
4-гигабайтного пространства памяти;
– выполнение приложений 8086 в среде V86 возможно па-
раллельно с приложениями защищенного режима;
– несколько задач в режиме V86 совместно могут исполь-
зовать общие области кода операционной системы.
Все программы, выполняемые в режиме V86, имеют уро-
вень привилегий 3, т.е. минимальные привилегии (реальный ре-
жим подразумевает уровень привилегий 0). Таким образом, про-
граммы в V86 выполняются со всеми проверками защиты. По-
пытка выполнения привилегированных инструкций вызывает
исключение. Попытка выполнения инструкций, допустимых
только для защищенного режима, также вызовет исключение.
Прерывания в V86 для полной эмуляции машины на 8086
обрабатываются особым образом. Все прерывания и исключе-
ния влекут за собой смену уровня привилегий обратно к уровню
операционной системы защищенного режима. Эта ОС может
распознать, что прерывание пришло из V86, по образу регистра
флагов в стеке. Далее ОС может либо обработать это прерыва-
ние самостоятельно, либо переслать его к ОС реального режима,
работающей в V86.
В конечном итоге ОС защищенного режима может совер-
шенно прозрачно для приложения 8086, работающего в V86,
эмулировать окружение обычной машины 8086, включая пре-
рывания и перехватывая обращения к портам.
Вход в режим V86 установка бита VM в регистре флагов
– возможен одним из двух способов:
            4.4. Режим виртуального
           микропроцессора 8086 (V86)
     Прикладные программы для 8086 могут исполняться на
32-разрядных процессорах как в реальном режиме, так и в ре-
жиме виртуального 8086 (V86), который является особым со-
стоянием задачи защищенного режима. Режим V86 более при-
влекателен своими возможностями и гибкостью:
     – в этом режиме работает защита и механизм страничной
переадресации, позволяющий адресоваться к любой области
4-гигабайтного пространства памяти;
     – выполнение приложений 8086 в среде V86 возможно па-
раллельно с приложениями защищенного режима;
     – несколько задач в режиме V86 совместно могут исполь-
зовать общие области кода операционной системы.
     Все программы, выполняемые в режиме V86, имеют уро-
вень привилегий 3, т.е. минимальные привилегии (реальный ре-
жим подразумевает уровень привилегий 0). Таким образом, про-
граммы в V86 выполняются со всеми проверками защиты. По-
пытка выполнения привилегированных инструкций вызывает
исключение. Попытка выполнения инструкций, допустимых
только для защищенного режима, также вызовет исключение.
     Прерывания в V86 для полной эмуляции машины на 8086
обрабатываются особым образом. Все прерывания и исключе-
ния влекут за собой смену уровня привилегий обратно к уровню
операционной системы защищенного режима. Эта ОС может
распознать, что прерывание пришло из V86, по образу регистра
флагов в стеке. Далее ОС может либо обработать это прерыва-
ние самостоятельно, либо переслать его к ОС реального режима,
работающей в V86.
     В конечном итоге ОС защищенного режима может совер-
шенно прозрачно для приложения 8086, работающего в V86,
эмулировать окружение обычной машины 8086, включая пре-
рывания и перехватывая обращения к портам.
     Вход в режим V86 – установка бита VM в регистре флагов
– возможен одним из двух способов:



                            116