русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Новые системные регистры микропроцессоров i80x86


Дата добавления: 2014-11-28; просмотров: 1082; Нарушение авторских прав


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

- указатель команды (EIP) — это 32-разрядный регистр, младшие 16 разрядов которого представляют регистр IP;

- регистр флагов (EFLAGS) — это 32-разрядный регистр, младшие 16 разрядов которого представляют регистр FLAGS;

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

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

' На самом деле, поскольку происходит именно сложение и каждое из слагаемых может иметь значе­ние в интервале от нуля до 2"' - 1= 65 535 = 64 Кбайт, мы можем указать адрес начала сегмента, рав­ный FFFFFFFF00H, и к нему прибавить смещение FFFFFFFFH. В этом случае мы получим пере­полнение разрядной сетки, но для современных 32-разрядных процессоров (и для уже забытого i80286) имеется возможность указать первые 64 Кбайт выше первого мегабайта.


104________________ Глава 4, Особенности архитектуры микропроцессоров j80x86

Рис. 4.2. Основные системные регистры микропроцессоров i80x86

- при 16-разрядном регистре-указателе на локальную таблицу дескрипторов ( Lo­cal Descriptor Table Register, LDTR) также имеется «теневой» (скрытый от про­граммиста) 64-разрядный регистр, в который микропроцессор заносит дескрип­тор, указывающий на таблицу дескрипторов сегментов задачи, описывающих ее локальное виртуальное адресное пространство;



- 16-разрядный регистр задачи (Task Register, TR) указывает на дескриптор в гло­бальной таблице дескрипторов, который позволяет получить доступ к дескрип-


Адресация в 32-разрядных микропроцессорах j80x86________________________ 105

тору сегмента состояния задачи (Task State Segment, TSS) — информацион­ной структуре, которую поддерживает микропроцессор для управления зада­чами;

- 48-разрядный регистр GDTR (Global Descriptor Table Register) глобальной таб­
лицы дескрипторов (Global Descriptor Table, GDT) содержит как дескрипторы
общих сегментов, так и специальные системные дескрипторы, в частности,
в GDT находятся дескрипторы, с помощью которых можно получить доступ
к сегментам TSS;

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

- 32-разрядные регистры CR0-CR3 являются управляющими. Помимо перечисленных имеются и некоторые другие регистры.

Управляющий регистр CR0 содержит целый ряд флагов, которые определяют ре­жимы работы микропроцессора. Подробности об этих флагах можно найти, на­пример, в [1, 8, 20]. Мы же просто ограничимся тем фактом, что самый младший бит РЕ (Protect Enable) этого регистра определяет режим работы процессора. При РЕ = 0 процессор функционирует в реальном режиме работы, а при единичном значении микропроцессор переключается в защищенный режим. Самый старший бит регистра CR0 — бит PG (PaGing) — определяет, включен (PG =1) или нет (PG = 0) режим страничного преобразования адресов.

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

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



<== предыдущая лекция | следующая лекция ==>
Реальный и защищенный режимы работы процессора | Поддержка сегментного способа организации виртуальной памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.564 сек.