Скачиваний:
74
Добавлен:
16.04.2013
Размер:
119 Кб
Скачать
☆

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

В состав этой группы 32-битных регистров входят регистры управления CR4 – CR0, регистры системных адресов GDTR, LDTR, IDTR, TR и регистры отладки DR7 – DR0. Эти регистры доступны только в защищенном режиме для программ, имеющих максимальный уровень привилегий 0. Для доступа к системным регистрам используются специальные инструкции пересылки данных (см. разд. 2.1).

Управляющие регистры (Control Registers) хранят признаки состояния процессора общие для всех задач. Форматы содержимого регистров управления CR0, CR2, CR3 приведены на рис.$.7,8,9. Регистр CR1 в процессорах до Pentium4 не используется (резервирован для последующих моделей).

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

NE

ET

TS

ЕМ

MP

PE

PG

PC

NW

AM

WP

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

Рис. $.7. Форматы содержимого регистра управления CR0

Регистр CR0 обеспечивает общее управление режимами работы процессора. Назначение бит регистра CR0 представлено ниже.

РЕ (Protection Enable) – разрешение защиты. Установка этого флага инструкцией LMSW или LOAD CR0 переводит процессор в защищенный режим, возвращение в реальный режим (сброс флага) возможен только по инструкции LOAD CR0. Сброс бита РЕ является частью довольно длинной последовательности инструкций, подготавливающих корректное переключение в реальный режим.

МР (Monitor Processor Extension) – мониторинг сопроцессора. Установка МР=1 позволяет вызывать исключение #NM по первой же ожидающей инструкции FPU после переключения задач (при TS=1) для сохранения и восстановления контекста сопроцессора.

ЕМ (Processor Extension Emulated) – эмуляция сопроцессора. Установка этого флага вызывает появление исключения #NM (или прерывания от сопроцессора) при каждой инструкции, относящейся к сопроцессору, что позволяет прозрачно осуществлять его программную эмуляцию.

  • Сочетание МР=1, ЕМ=0 используется при наличии сопроцессора, а МР=0, ЕМ=1 при его программной эмуляции.

TS (Task Switch) – флаг переключения задач, устанавливается автоматически при переключении задач. При TS=1 и МР=1 следующая инструкция, относящаяся к сопроцессору, вызовет исключение #NM, что позволяет программно определить, относится ли контекст сопроцессора к текущей задаче. Бит сбрасывается инструкцией CLTS.

  • Сочетание МР=0, ЕМ=0, TS=0, устанавливаемое по аппаратному сбросу, обеспечивает полную совместимость с 8086/88 (исключение #NM не вырабатывается).

  • В табл. $.1 обобщаются действия процессора при разных сочетаниях флагов TS, EM и MP, в случае встречи инструкции FPU.

Таблица $.1

Соседние файлы в папке M4