logo
АВМиС - бывшее АПЭВМ / apvem / всякаявсячина

42.Виртуальный 8086

Mеханизм адресации режима виртуального МП 8086 (V86). Основное различие между реальным режимом МП 80386 и защищенным режимом МП 80386 --интерпретация селекторов сегментов. При работе микропроцессора в режиме виртуального МП 8086 используются селекторы реального режима. Содержимое сегментного регистра сдвигается влево на 4 разряда и суммируется со смещением для формирования линейного базового адреса сегмента. МП 80386 позволяет операционной системе определить, какая программа использует механизм адресации МП 8086, а какая - механизм защищенной адресации на уровне задачи. При использовании механизма страничной организации 1Мб адресного простанства задачи режима V86 можно разместить в любой 4-гигабайтовой линейной адресной области МП 80386.Эффективные адреса V86, превышающие 64Кб, будут вызывать исключительную ситуацию 13. Страничная организация в режиме V86. Аппаратура страничной организации обеспечивает совместное выполнение множества задач режима V86, а также защиту и изоляцию операционной системы. Это необходимо при одновременном выполнении нескольких задач режима V86 или при распределении адресной области задач этого режима в физическое адресное пространство, превышающее один мегабайт.Страничная аппаратура позволяет разделить 20-разрядное адресное пространство режима V86 на 256 страниц. Каждая страница может быть размещена в любом месте 4-гигабайтового адресного пространства МП 80386. Т.к. CR3 загружается по переключению страниц, каждая задача режима V86 может использовать различные схемы размещения страниц на их карте.Страничная аппаратура разрешает совместное использование среды операционной системы 8086 между несколькими прикладными программами.Эмуляция МП 8086. Программы МП 8086 выполняются в среде защищенного режима МП 80386 как часть задачи V86. Задачи V86 используют все преимущества аппаратной поддержки защищенного режима. V86 может включать множество задач, которые выполняют одну программу МП 8086, либо задачи V86 могут быть рассмотрены как отдельные задачи наряду с другими задачами МП 80386. Целью задачи V86 является формирование "виртуальной машины", на которой выполняется программа МП 8086. Полная виртуальная машина включает в себя не только аппаратуру МП 80386, но и системные программы. Таким образом, эмуляция МП 8086 представляет собой сочетание между аппаратурой и программным обеспечением в следующем виде:1) аппаратура обеспечивает набор виртуальных регистров (через TSS), виртуальную область памяти (первый мегабайт линейного адресного пространства задачи) и непосредственное выполнение всех команд, которые имеют дело с этими регистрами и с адресной областью;2) системная программа управляет внешним интерфейсом виртуальной машины. В случае ввода-вывода, системные программы могут выбрать либо эмуляцию команд ввода-вывода, либо непосредственное аппаратное их выполнение. Системное программное обеспечение, которое обслуживает средства виртуальных машин 8086, называется монитором V86.