![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Основные регистры микропроцессора 180x86, знание которых необходимо для понимания защищенного режима работы, приведены на рис. 3.2. Следует обратить внимание на следующее:
Q указатель команды EIP — 32 битовый регистр, младшие 16 разрядов этого регистра есть регистр IP;
Q регистр флагов EFLAGS — 32 бита, младшие 16 разрядов представляют регистр FLAGS;
Q регистры общего назначения ЕАХ, ЕВХ, ЕСХ, EDX, а также ESP, EBP, ESI, EDI — 32-битовые, однако их младшие 16 разрядов представляют собой известные регистры АХ, ВХ, СХ, DX, SP, BP, SI, DI;
Q сегментные регистры CS, SS, DS, ES, FS, GS — 16-битовые. При каждом из регистров CS, SS, DS, ES, FS, GS изображены пунктиром скрытые от программистов (недоступны никому, кроме собственно микропроцессора) 64-битовые регистры, в которые загружаются дескрипторы соответствующих сегментов;
Q регистр-указатель на локальную таблицу сегментов текущей задачи— LDTR (16 битов). При этом регистре также имеется «теневой» (скрытый от программиста) 64-битовый регистр, в который микропроцессор заносит дескриптор, указывающий на таблицу дескрипторов сегментов задачи, описывающих ее локальное виртуальное адресное пространство;
Q регистр-указатель задачи TR1 (16 битов). Указывает на дескриптор в глобальной таблице дескрипторов, позволяющий получить доступ к дескриптору задачи TSS2 — информационной структуре, которую поддерживает микропроцессор для управления задачами;
1 TR - task register.
2 TSS — task state segment.
О регистр GDTR1 (48 битов) глобальной таблицы GDT, содержащей как дескрипторы общих сегментов, так и специальные системные дескрипторы. В частности, в GDTR находятся дескрипторы, с помощь которых можно получить доступ к сегментам TSS;
1 GDTR - global descriptor table register. |
Q регистр IDTR (48 битов) таблицы дескрипторов прерываний. Содержит информацию, необходимую для доступа к «таблице прерываний» IDT; U управляющие регистры CRO — CR3 (32-битовые) и некоторые другие регистры.
![]() |
Управляющий регистр CRO содержит целый ряд флагов, которые определяют режимы работы микропроцессора. Подробно об этих флагах можно прочитать в книгах [2, 22, 48]. Мы же просто ограничимся тем фактом, что самый младший бит (РЕ, protect enable) этого регистра определяет режим работы процессора. При РЕ=0 процессор функционирует в реальном режиме работы, а при единичном значении микропроцессор переключается в защищенный режим. Самый старший бит регистра CRO (бит PG, paging) определяет, включен (PG=1) или нет (PG=0) режим страничного преобразования адресов.
Регистр CR2 предназначен для размещения в нем адреса подпрограммы обработки страничного исключения, то есть в случае использования страничного механизма отображения памяти обращение к отсутствующей странице будет вызывать переход на соответствующую подпрограмму диспетчера памяти, и для определения этой подпрограммы будет задействован регистр CR2.
Регистр CR3 содержит номер физической страницы, в которой располагается таблица каталогов таблиц страниц текущей задачи. Очевидно, что, приписав к этому номеру нули, мы попадем на начало этой страницы.
Дата публикования: 2015-01-23; Прочитано: 436 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!