Режимы функционирования IA-32

Функционирование компьютера при использовании набора команд может производится в одном из трех режимов:

· режиме реального адреса;

· защищенном режиме;

· режиме управления системой.

Во всех последующих моделях процессоров для обеспечения преемственности работы операционной системы и прикладных программ был реализован так называемый режим реального адреса (real-address mode), эмулирующий (имитирующий) работу процессора Intel 8086 с некоторыми расширениями. Процессор переходит в этот режим при включении или перезагрузке.

Защищенный режим (protected mode) назван так потому, что он предназначен для одновременного выполнения нескольких задач, а при таком выполнении команды и данные отдельных задач должны быть защищены друг от друга. Каждая из этих задач выполняется в режиме реального адреса. Защищенный режим называется также виртуальным режимом 8086 (virtual-8086 mode). Защищенный режим позволил аппаратно обеспечивать многопрограммные и многопользовательские операционные системы Windows и Unix.

Режим управления системой – SMM (System Management Mode) обеспечивает операционную систему такими возможностями как управление электропитанием и безопасностью системы. Процессор переходит в режим SMM при возникновении специального прерывания SMM. При этом состояние выполняемой в момент генерации прерывания задачи сохраняется, а процессор переходит к выполнению специальных команд режима SMM. После их выполнения процессор возвращается к прерванной задаче. данных.

Доступ к памяти в IA-32 выполняется в одном из следующих режимов:

· плоском режиме;

· режиме сегментации;

· режиме реального адреса.

В плоском (flat) режиме память рассматривается как единый блок с адресами от 0 до 232-1. Адрес команды или данного в этом блоке называется линейным адресом.

В режиме сегментации доступный объем оперативной памяти разбивается на относительно небольшие и независимые фрагменты – сегменты. При использовании этого режима программа, данные и стековая память располагаются в своих сегментах. Адрес команды или данного задается как сумма адреса начала сегмента и величина смещения адреса команды или данного относительно начала сегмента. При использовании команд набора IA-32 можно адресовать до 16383 сегментов, каждый из которых может занимать до 232 байт. Для ускорения обмена между процессором и оперативной памятью память в 32-разрядных процессорах память может загружаться по страницам (из оперативной или внешней памяти), обеспечивая виртуальную память неограниченного объема.

В режиме реального адреса используется специальная реализация сегментации памяти, в которой сегменты памяти имеют размер до 64 Кбайт. Максимальный размер линейного адресного пространства в этом режиме – 220 байт.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: