Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Системные регистры.




К системным регистрам относятся те внутренние регистры процессора, которые предназначены для использования системными программистами. Эти регистры помогают реализовать мощные системные возможности процессоров семейства Х86 при работе в защищенном (P) режиме. Отсюда ясно, что процессоры младших моделей – 8086/8088 и 80186 системных регистров не имеют. Их включение начинается с модели 80286, когда впервые был введен защищенный режим работы, хотя регистров отладки и тестирования не было и в нем. С дальнейшим развитием процессоров семейства Х86, их состав и число используемых в них битов только возрастало.

В общем случае системные регистры микропроцессоров семейства Х86 можно разделить на три группы (см. рис.II.3):

1) регистры управления памятью (регистры P – режима). Эти регистры присутствуют во всех процессорах, начиная с 80286 и кончая последними моделями Intel Core 2.

2) регистры общего управления, которые также присутствуют во всех моделях семейства Х86;

3) регистры отладки, которые введены начиная с модели 80386;

Регистры управления памятью

Регистры управления памятью определяют местонахождение структур данных, управляющих сегментацией памяти. Функции этих регистров остались практически неизменными во всех моделях, начиная с 80286 до последних моделей Intel Core 2. По структуре, правда, регистры управления памятью модели 80286 несколько отличаются от регистров всех остальных моделей, поскольку в дескрипторах МП 80286 размещен 24 разрядный базовый адрес сегмента, а в дескрипторах других моделей – 32 разрядный.

К регистрам управления памятью относятся следующие регистры.

GDTR (Global Descriptor Table Register) – регистр глобальной

дескрипторной таблицы.

IDTR (Interrupt Descriptor Table Register) – регистр дескрипторной

таблицы прерываний.

LDTR (Local Descriptor Table Register) – регистр локальной

дескрипторной таблицы.

TR (Task Register) – регистр задачи.

Регистр GDTR служит для хранения базового (начального) адреса сегмента глобальной дескрипторной таблицы в адресном пространстве оперативной памяти и ее размера. Этот сегмент включает в себя дескрипторы всех сегментов кода, данных, а также системных сегментов, за исключением дескрипторов шлюзов, используемых при прерываниях.

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

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

В регистре TR хранится селектор, который адресует дескриптор сегмента состояния (TSS) текущей задачи (процесса), в котором находится его адрес и размер.

Загружаются регистры управления памятью соответственно командами: LGDT, LIDT, LLDT, LTR

При этом, сами дескрипторы как сегмента локальной дескрипторной таблицы (LDT), так и сегмента состояния задачи (TSS), располагаются в глобальной дескрипторной таблице.

 

Регистры общего управления

Регистры общего управления включают в себя:

- в процессоре 80286, только один 16 разрядный регистр, который называется регистром слова состояния машины MSW (Machine Status Word). Он включает в себя 7 управляющих битов: бит 0 – PE (Protect Enable), бит 1 – MP (Mathematic Present), бит 2 – EM (Emulation), бит 3 – TS (Task Switched), бит 4 – ET (Extension Type), бит 5 – NE (Numeric Error) и бит 15 – WP (Write Protect). В дальнейших моделях МП этого семейства, MSW вместе с перечисленными битами входит как младшие два байта в регистр общего управления CR0 (т.е. регистр MSW входит как составная часть регистра CR0, реализуя принцип преемственности моделей семейства);

- в процессорах 80386 и 80486 уже присутствуют четыре управляющих регистра общего управления: CR0, CR1, CR2, CR3. При этом в регистре CR0 для управления используются дополнительно: бит 18 – AM (Alignment Mask), бит 29 – NW (Not Write-through), бит 30 – CD (Cache Disable) и бит 31 – PG (Paging). Кроме того, в регистре CR3 как управляющие используются биты 3 – PWT (Page Write – Through) и 4 – PCD (Page Cache Disable);

 

1. Регистры управления памятью (Memory Control Register)

Рис.II.3 Системные регистры процессоров семейства Х86.

 

 

- в процессорах Pentium добавлен еще один управляющий регистр общего управления – CR4 и в нем задействованы еще 6 управляющих битов. Бит 0 – VME (Virtual 8086 Mode Extension), бит 1 – PVI (Protected-Mode Virtual Interrupt), бит 2 – TSD (Time Stamp Disable), бит 3 – DE (Debugging Extensions), бит 4 – PSE (Page Size Extensions) и бит 6 – MCE (Machine-Check Enable).

Регистр CR1 – зарезервирован. В регистре CR2 фиксируется линейный адрес страничного нарушения, например, в случае отсутствии в оперативной памяти страницы, к которой произведено обращение. А в старших двух байтах регистра CR3 хранится физический адрес каталога страниц.

Рассмотрим теперь функциональное назначение ряда упомянутых битов несколько более подробно.

PE (Protect Enable – разрешение защиты ). Установка бита PE в состояние 1 переводит работу процессора из реального R – режима в защищенный P – режим. При запуске процессора, или после сброса, всегда устанавливается реальный режим его работы, в котором эмулируется работа процессора 8086. Поэтому для перехода в защищенный режим, в котором доступна 32 разрядная система команд, процедура инициализации BIOS устанавливает в единичное состояние бита PE в регистре CR0.

MP (Mathematic Present – присутствие математического сопроцессора). В процессорах 80286 и 80386 устанавливается в состояние 1 при использовании дополнительного математического сопроцессора. В процессорах старших моделей математический сопроцессор расположен внутри микросхемы на одном кристалле с центральным процессором. Поэтому в них бит MP устанавливается в состояние 1 автоматически. Этот бит используется для управления командой ожидания WAIT, которая применяется для согласования действий центрального процессора с математическим сопроцессором при выполнении операций с вещественными числами.

EM (Emulation -эмуляция ). Этот управляющий бит, установленный в состояние 1, позволяет центральному процессору дополнительно выполнять операции с действительными числами, используя специальные процедуры. При этом CPU осуществляет как бы эмуляцию математического сопроцессора.

TS (Task Switched – задача переключена ). Процессор устанавливает этот флаг в состояние 1 при каждом переключении задач и анализирует его при поступлении команд математического сопроцессора. Это позволяет задержать сохранение или восстановление контекста математического сопроцессора до фактического использования численных данных.

ET (Extension Type – тип расширения ). Этот бит указывает тип используемого сопроцессора. ET = 1 определяет использование 32 разрядного протокола МП 80387. При ET = 0 используется 16 разрядный протокол МП 80287. Следовательно, при ET = 0, процессор 80386 может быть использован совместно с математическим сопроцессором 80287. В процессорах последующих моделей этот бит не имеет значения, поскольку математические сопроцессоры в них встроены внутри кристалла.

PG (Paging – страничное преобразование). Этот бит разрешает (1) или запрещает использование страничного преобразования адреса.

NE (Numeric Error – численная ошибка). Установка этого бита в состояние 1 включает механизм сообщений об ошибках математического сопроцессора.

WP (Write Protect – защита от записи). Установка этого бита в 1 позволяет защитить страницы, расположенные на уровне привилегий пользователя, от изменения их программами операционной системы, работающих на более привилегированных уровнях. При WP = 0, операционная система может осуществить запись в страницы пользовательского уровня, хотя и защищенные от записи.

AM (Alignment Mask – маска выравнивания). Этот бит разрешает (1) или запрещает (0) контроль выравнивания. Контроль выравнивания производится, когда AM=1, флаг AC=1 и текущий уровень привилегий CPL=3 (режим пользователя). При AM=0 достигается совместимость с процессором 80386 (не имеющим флага AC), поскольку при AM=0 бит AC замаскирован.

NW (Not Write-through – несквозная запись ). Этот бит, предназначен для управления встроенной кэш-памятью. Если этот бит, сброшен, то сквозная запись и циклы недостоверности разрешены. Если бит, установлен, то сквозная запись и циклы недостоверности запрещены.

CD (Cache Disable – запрещение кэш-памяти). Если CD = 0, работа внутренней кэш-памяти разрешена, иначе – запрещена.

PWT (Page Write-Through – сквозная запись в страницу ). Этот бит используется для управления кэш-памятью. При PWT=1, для текущей страницы обновление реализуется методом сквозной записи, при PWT=0 – методом обратной записи.

PCD (Page Cache Disable – запрещение кэширования страницы). Этот бит используется для управления кэш-памятью. Посредством этого бита можно управлять кэшированием, как отдельных страниц, так и таблиц страниц. Установка бита PCD в 1 запрещает загрузку страницы в кэш-память.

VME (Virtual-8086 Mode Extensions – расширение режима виртуального 8086 ). Установка в 1 этого бита включает поддержку флагов виртуальных прерываний VIF и VIP в режиме V86.

PVI (Protected-Mode Virtual Interrupt – виртуальные прерывания защищенного режима). Установка в 1 этого бита включает поддержку виртуальных прерываний в защищенном режиме. Это позволяет выполнять программы, предназначенные для уровня привилегий 0, на уровне привилегий 3.

TSD (Time Stamp Disable – разрешение маркера времени ). Установка бита TSD в 1 разрешает использовать привилегированную команду RDTSC (Read from time stamp counter).

DE (Debugging Extensions – расширение отладки). Установка бита DE в 1 разрешает точки останова по вводу/выводу.

PSE (Page Size Extensions – расширение размера страниц). Установка бита PSE в 1 разрешает использование страниц размером 4 Мбайт.

MCE (Machine-Check Enable – расширение контроля машины ). MCE=1 разрешает расширенный контроль.

 

Регистры отладки

Регистры отладки включают в себя 8 регистров, которые ввели в процессоры семейства Х86, начиная с модели 80386. Регистры отладки предназначены для реализации новых средств отладки, которые раньше применялись в больших компьютерах.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных