Глава 1. Обзор режимов микропроцессоров IA-32.
Процессоры IA-32 могут работать в четырёх режимах: режиме реальных адресов, защищённом режиме, режиме виртуального процессора 8086 и режиме системного управления. Теперь более подробно об этих режимах.
1. | Режим реальных адресов (real address mode). Также вы могли встречать термин "реальный режим", что должно обозначать то же самое, хотя, это немного не правильно и ещё одно название этого режима, встречающееся в документации Intel: R-Mode. Режим реальных адресов - это режим, в котором процессор работает как "экстишка" (8086), но позволяет пользоваться большинством своих технологий (MMX / SSE / SSE2, 32-разрядные регистры общего назначения, регистры управления и отладки и пр.). После аппаратного сброса процессор переходит в этот режим и начинает выполнять программную инициализацию из BIOS-а.
Вообще говоря, режим реальных адресов в современных процессорах предназначен для запуска компьютера и подразумевается, что операционная система будет работать в защищённом режиме (поэтому оптимизация по производительности для процессоров IA-32 производится для защищённого режима). В режиме реальных адресов не доступны основные достоинства процессора - виртуальная память, мультизадачность, уровни привилегий, работа с кэшами, буферами TLB, буфером ветвлений и некоторыми другими технологиями, обеспечивающими высокую производительность. |
2. | Защищённый режим (protected mode или P-Mode). Как утверждает Intel, это "родной" (native) режим 32-разрядного процессора.
В защищённый режим процессор надо переводить специальными операциями над системными регистрами и войти в этот режим процессор может только из режима реальных адресов. При работе в защищённом режиме процессор контролирует практически все действия программ и позволяет разделить операционную систему, драйвера и прикладные программы разными уровнями привилегий. Благодаря этому ОС может ограничить области памяти, выделяемой программам, запретить или разрешить ввод/вывод по любым адресам, управлять прерываниями и многое другое. При попытке программы выйти за допустимый диапазон адресов памяти, выделенной ей, либо при обращении к "запрещённым" для неё портам процессор будет генерировать исключения - специальный тип прерываний. Грамотно оперируя исключениями, операционная система может контролировать действия программ, организовать систему виртуальной памяти, мультизадачность и другие программные технологии. В защищённом режиме максимально доступны все ресурсы процессора. Например, R-Mode максимальный диапазон адресов памяти ограничен одним мегабайтом, а в защищённом режиме он расширен до 4 Гб для процессоров 386 и 486 и 64 Гб для Pentium-ов. |
3. | Режим виртуального процессора 8086 (virtual-8086 mode) или V-Mode, или "виртуальный режим" (что, вообще говоря, не совсем правильно).
В V-Mode можно войти только из защищённого режима. В этом режиме процессор эмулирует работу 8086 процессора (1 Мб адресного пространства, "обычные" прерывания и пр.), но при этом процессор сохраняет все средства контроля, присущие защищённому режиму. Обычно, V-Mode используется в операционных системах для запуска программ, рассчитанных на процессор 8086 (так называемая, "обратная совместимость ПО"). V-Mode реализуется как отдельная задача в мультизадачной среде и она может взаимодействовать с другими задачами, если, конечно же, ей позволит это операционная система. |
4. | Режим системного управления (system management mode или S-Mode). |
Следующая глава | Оглавление | Вопросы? Замечания? Пишите: sasm@narod.ru |
Copyright © Александр Семенко. |