1 Регистры общего назначения
2 Регистры сегментов и дескрипторов сегментов
2 Регистры сегментов и дескрипторов сегментов
3 Указатель команд и регистр флагов
3 Указатель команд и регистр флагов
3 Указатель команд и регистр флагов
3 Указатель команд и регистр флагов
3 Указатель команд и регистр флагов
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
4 Системные регистры
1.14M
Category: electronicselectronics

Презентация 6_Регистровая модель современных персональных компьютеров

1.

Регистровая модель
современных персональных
компьютеров
Автор курса лекций:
кандидат технических наук, доцент
доцент кафедры информатики
Извозчикова Вера Васильевна

2.

1 Регистры общего назначения (ОР)
2 Регистр указателя команд и регистр флагов
3 Регистры сегментов и дескрипторов сегментов
4 Системные регистры

3. 1 Регистры общего назначения

Общие регистры предназначены для хранения данных и адресов.
Структура регистров общего назначения

4. 2 Регистры сегментов и дескрипторов сегментов

Шесть 16-разрядных сегментных регистров содержат значения селекторов
сегментов, которые указывают на текущие адресные сегменты памяти. С каждым
из их связан недоступный программно регистр дескриптора сегмента.
В режиме реальных адресов максимальный размер сегмента 64 Кб. В защищенном режиме от 1 байта до 4 Гб.
Селектор CS обеспечивает обращение к текущему сегменту команд, селектор
SS – текущему сегменту стека, селекторы в DS, ES, FS, GS – к текущим сегментам
данных.
Если в процессоре 8086 содержимое сегментного регистра служит старшими
битами начального адреса сегмента, то в 32-х разрядных МП селектор косвенно
через дескрипторную таблицу определяет сегмент памяти.

5. 2 Регистры сегментов и дескрипторов сегментов

RPL – уровень привилегий;
TI – указывает из какой дескрипторной таблицы выбирается дескриптор. T = 0,
из глобальной таблицы GDT, T = 1, из локальной таблицы LDT.
Index – определяет нужный дескриптор в дескрипторной таблице.
Базовый адрес ОП, где размещается дескрипторная таблица, находится в
регистре GDTR или LDTR. Формат регистра GDTR содержит базовый адрес
глобальной дескрипторной таблицы и ее предел.

6. 3 Указатель команд и регистр флагов

Указатель команд. Его содержимое используется в качестве смещения при
определении адреса следующей выполняемой команды. Смещение задается
относительно базового адреса сегмента команд CS. IP непосредственно
программисту недоступно.
Регистр флагов. Младшие 16 бит регистра полностью соответствуют регистру
флагов МП Intel86 и добавлено 5 новых флажков.

7. 3 Указатель команд и регистр флагов

С – флаг переноса;
Р – флаг четности;
A – полупереноса;
Z – нуля;
S – знака;
T – ловушки (трассировки);
I – разрешения прерывания;
D – направления;
O – переполнения;
IOPL – уровень привилегий
ввода/вывода;
NT – вложенная задача;
R – маски ошибок;
VM – виртуальный режим;

8. 3 Указатель команд и регистр флагов

AC (бит 18) – контроль выравнивания операндов. При обращении к не
выровненному операнду (например, операнд размером в слово, размещенный по
нечетному адресу) генерируется исключение контроля выравнивания. Сообщение
об исключении ситуации выдается в виде прерывания номер 17 с кодом ошибки.
Вырабатывается только на уровне привилегий 3 (уровень пользователя).
VM (режим виртуального МП 8086). При работе 32-х разрядных МП фирмы
Intel в защищенном режиме, установка VM=1 вызывает переключение в режим
виртуального МП 86. Бит VM может быть установлен только в защищенном
режиме посредством переключения задач или с помощью команды IRET (если
уровень привилегий выполняемой программы равен 0). Значение EFLAGS,
сохраняемое при прерываниях и переключениях задач, будет содержать единицу в
данном разряде, если прерванная задача выполнялась в виртуальном режиме 8086.

9. 3 Указатель команд и регистр флагов

RF (флаг маскирования ошибок отладки). Используется при отладке программ с
помощью контрольных точек, значения проверяется между командами перед
прерыванием. Если этот бит установлен, то любая ошибка отладки при выполнении
следующей команды игнорируется. Бит RF автоматически отбрасывается при
успешном завершении каждой команды, сигнализируя об отсутствии ошибки.
Исключение составляют команды IRET, POPF, JMP, CALL и INT, вызывающие
переключение задач. Эти команды устанавливают значение RF в соответствии с
содержимым EFLAGS, вызываемым из памяти.
NT (вложенная задача). Флаг применяется в защищенном режиме. Устанавливается для указания на то, что текущая задача вложена в некоторую другую задачу.
Этот бит или при передачи управления в другую задачу. Значение этого бита
проверяется командой IRET, для того чтобы определить тип возврата. Команды
POPF и IRET устанавливают бит NT в соответствии с вызываемым из стека
значением EFLAGS.

10. 3 Указатель команд и регистр флагов

IOPL (уровень привилегий ввода/вывода, бит 12-13). Применяется в
защищенном режиме. Указывает максимальную величину уровня привилегий
текущей программы, при котором разрешается выполнение команд ввода/вывода.
Если это команды содержатся в программе с уровнем привилегий более низким,
чем задано полем IOPL, то при их выборке возникает исключительная ситуация
(№13) (нарушение общей защиты). Поле IOPL также указывает максимальный
уровень привилегий, позволяющий изменить бит, IF (флаг разрешения
прерываний), когда новое значение регистра EFLAGS выгружается из стека,
команды POPF и IRET могут изменить поле IOPL, если выполняемая программа
имеет уровень привилегий 0.
Переключение задач всегда изменяет поле IOPL, при этом новое значение
загружается из сегмента состояния прибывающей задачи.

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

Управляют функционированием 32-х разрядным МП фирмы Intel в целом и
режимами работы отдельных внутренних блоков: процессора FPU, кэш-памяти,
диспетчера памяти.
Набор системных регистров включает 4 регистра управления (CR0, CR1, CR2,
CR3) и четыре регистра системных адресов и сегментов ( GDTR, IDTR, TR, LDTR).
Регистры управления вместе с регистрами системных адресов хранят
информацию о состоянии 32-х разрядного МП фирмы Intel, которое затрагивает все
задачи. Для доступа к регистрам управления определены специальные команды
загрузки и сохранения.
CR1 – пока не определен и при обращении к нему возникает особый случай неверного кода операции.
Все регистры доступны только программам с нулевым уровнем привилегий и
только с помощью команд MOV.

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

Регистры управления микропроцессора

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

CR0 включает 10 разрядов для управления работой и определения состояния
МП. Младшие 16 бит образуют регистр слова состояния машины MSW, который
имеется в процессоре 80286. Команда LMSW модифицирует только младшие 16
бит регистра.
Структура регистра CR0

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

Функции управляющих разрядов регистра CR0 следующие:
1) управление режимом работы i486: PG, PE
PG – страничное преобразование (1 – разрешает, 0 – запрещает страничное
пребразование);
PE – разрешение защиты (установка в 1 разрешает защиту на уровне
сегментов)
PG PE
0
0 – реальный режим;
0
1 – режим виртуального 8086;
1
1 – защищенный режим.
2) управление режимами работы внутренней кэш-памяти: CD, NW:

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

3) управление режимом работы FPU: TS, EM, MP, NE;
4) управление проверкой выравнивания: AM –маска для флага АС- контроль
выравнивания операндов;
5) защита от записи: WP- защищает от записи страницы Б которые можно
только читать.
Регистр CR2 используется, когда блок страничной адресации вырабатывает
сигнал отказа, вызывающий прерывание номер 14 (отказ страницы).
Причиной отказа м.б. отсутствие страницы, к которой выполняется обращение, или
недостаточный уровень привилегий программы, запрашивающей страницу с более
высоким уровнем защищенности. В регистр CR2 записывается 32-разрядный
линейный адрес, поступление которого в блок страничной адресации вызвало
отказ. В стек программы обработки прерываний при этом загружается
соответствующий код ошибки.

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

Регистр CR3 содержит базовый физический адрес каталога страниц.
У 32-разрядных МП фирмы Intel размер страницы фиксирован (4 Кб) и каталог
выровнен по границам страниц, поэтому для указания базового адреса таблицы
используется 20 старших разрядов регистра CR3.

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

PWT и PCD управляют кэш-памятью при страничной адресации.
Если PWT установлен в 1, то модификации во внешней кэш-памяти
немедленно записываются в ОП. Если он установлен в 0, то режим кэширования с
обратной записью, то есть модификации в кэш-памяти записываются в память
только по специальному запросу. Этот сигнал полезен только для внешней кэш, так
как внутренняя кэш всегда действует со сквозной записью.
PCD – запрещение кэширования страницы. Показывает, является ли текущая
страница кэшируемой. Применяется для управления кэшированием только во
внешней кэш-памяти.

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

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

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

Регистры системных сегментов

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

Регистр GDTR служит для обращения к таблице GDT (таблица глобальных
дескрипторов);
Регистр IDTR служит для обращения к таблице IDT (таблица дескрипторов
прерываний);
Регистр LDTR служит для обращения к таблице LDT (таблица локальных дескрипторов);
Регистр TR служит для обращения к сегменту TSS (сегмент состояния
задачи).

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

Регистры таблицы глобальных дескрипторов GDTR и регистры таблицы дескрипторов IDTR содержат 32-рзрядные базовые адреса и 16-разрядные размеры
таблицы GDT и IDT соответственно.
Эти таблицы являются общими для всех задач.
В регистр таблицы локальных дескрипторов LDTR и регистр задачи TR
заносятся 16-разрядные селекторы, позволяющие обращаться к таблице LDT и
сегменту TTS, которые определены для каждой отдельной задачи. С каждым из
этих регистров связан программно недоступный регистр дескриптора сегмента.
English     Русский Rules