Микропроцессоров i80x86


Основные регистры микропроцессора i80x86, знание которых необходимо для понимания защищённого режима работы, приведены на рис. 3.2. Следует обра­тить внимание на следующее:

¨ указатель команды EIP – 32 битовый регистр, младшие 16 разрядов этого ре­гистра есть регистр IP;

¨ регистр флагов EFLAGS – 32 бита, младшие 16 разрядов представляют ре­гистр FLAGS;

¨ регистры общего назначения ЕАХ, ЕВХ. ЕСХ, EDX, а также ESP, ЕВР, ESI, EDI – 32-битовые, однако их младшие 16 разрядов представляют собой из­вестные регистры AX, BX, CX, DX, SP, ВР, SI, DI;

¨ сегментные регистры CS, SS, DS, ES, FS, GS – 16-битовые. При каждом из регистров CS, SS, DS, ES, FS, GS изображены пунктиром скрытые от про­граммистов (недоступны никому, кроме собственно микропроцессора) 64-би­товые регистры, в которые загружаются дескрипторы соответствующих сег­ментов;

¨ регистр-указатель на локальную таблицу сегментов текущей задачи – LDTR (16 битов). При этом регистре также имеется «теневой» (скрытый от программиста) 64-битовый регистр, в который микропроцессор заносит дескрип­тор, указывающий на таблицу дескрипторов сегментов задачи, описывающих её локальное виртуальное адресное пространство;

¨ регистр-указатель задачи TR1 (16 битов). Указывает на дескриптор в глобаль­ной таблице дескрипторов, позволяющий получить доступ к дескриптору за­дачи TSS2 – информационной структуре, которую поддерживает микропро­цессор для управления задачами;

¨ регистр GDTR1 (48 битов) глобальной таблицы GDT, содержащей как деск­рипторы общих сегментов, так и специальные системные дескрипторы. В ча­стности, в GDTR находятся дескрипторы, с помощь которых можно получить доступ к сегментам TSS;

 
 

¨ регистр IDTR (48 битов) таблицы дескрипторов прерываний. Содержит ин­формацию, необходимую для доступа к «таблице прерываний» IDT;

¨ управляющие регистры CR0 – CR3 (32-битовые) и некоторые другие регистры.

Управляющий регистр CR0 содержит целый ряд флагов, которые определяют режимы работы микропроцессора. Подробно об этих флагах можно прочитать в книгах [2, 22, 48]. Мы же просто ограничимся тем фактом, что самый млад­ший бит (РЕ, protect enable) этого регистра определяет режим работы процессо­ра. При РЕ=0 процессор функционирует в реальном режиме работы, а при еди­ничном значении микропроцессор переключается в защищённый режим. Самый старший бит регистра CR0 (бит PG, paging) определяет, включен (PG=l) или нет (PG=0) режим страничного преобразования адресов.

Регистр CR2 предназначен для размещения в нем адреса подпрограммы обра­ботки страничного исключения, то есть в случае использования страничного механизма отображения памяти обращение к отсутствующей странице будет вы­зывать переход на соответствующую подпрограмму диспетчера памяти, и для определения этой подпрограммы будет задействован регистр CR2.

Регистр CR3 содержит номер физической страницы, в которой располагается таблица каталогов таблиц страниц текущей задачи. Очевидно, что, приписав к этому номеру нули, мы попадем на начало этой страницы.



Дата добавления: 2022-02-05; просмотров: 248;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.