Jump to content

Регистр управления

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

В ранних процессорах отсутствовали специальные регистры управления, и они полагались на ограниченный набор внутренних сигналов и флагов. [1] Когда IBM разработала версию подкачки [примечание 1] в System/360 добавлено 16 управляющих регистров. [2] [3] к дизайну того, что стало 360/67 . IBM не предоставила управляющие регистры для других моделей S/360, но сделала их стандартной частью. [4] из System/370 , хотя и с другими назначениями регистров и битов. По мере того как IBM добавляла в архитектуру новые функции, например, DAS , S/370-XA , S/370-ESA , ESA/390 , они добавляли дополнительные поля в регистры управления. С помощью z/Architecture IBM удвоила размер управляющего регистра до 64 бит.

Регистры управления в IBM 360/67

[ редактировать ]

В 360/67 CR0 и CR2 используются для трансляции адресов, CR 4-6 содержат разные флаги, включая маски прерываний и расширенный режим управления. [3] и CR 8-14 [5] содержат настройки переключателя на блоке конфигурации 2167.

Регистр управления 0 содержит адрес таблицы сегментов для динамической трансляции адресов.

Регистр управления 2 — это регистр адреса исключения перемещения.

CR4 — регистр расширенной маски для каналов 0–31. Каждый бит представляет собой маску канала 1/0 для соответствующего канала.

CR5 зарезервирован для регистра расширенной маски для каналов 32–63. Каждый бит представляет собой маску канала 1/0 для соответствующего канала.

CR6 содержит два флага режима плюс расширения битов маски PSW.

Флаги и маски CR6
Поле Кусочек Описание
0 0 Расширение маски проверки машины для контроллера каналов o
1 1 Расширение маски проверки машины для контроллера канала 1
2-3 Зарезервировано для контроллеров каналов 2-3
4-7 Неназначенный
8 8 Расширенный режим управления
9 9 Бит управления конфигурацией
10-23 Неназначенный
24-31 Маскирование внешнего прерывания
24 Таймер
25 Клавиша прерывания
26 Предупреждение о неисправности — ЦП 1 (Внешний сигнал 2)
27 Предупреждение о неисправности — ЦП 2 (Внешний сигнал 3)
28 Зарезервировано (Внешний знак 4)
29 Зарезервировано (Внешний знак 5)
30 Внешнее прерывание — ЦП 1, 2 (Внешний сигнал 6)
31 Зарезервировано (дополн. знак 7)

Регистр управления 8 содержит назначения блоков памяти процессора 1–4 центральным процессорам (ЦП) и контроллерам каналов (CC).

Назначение блока памяти процессора 1–4
Кусочек Описание
0 От блока памяти процессора 1 до ЦП 1
1 От блока памяти процессора 1 до ЦП 2
2-3 Зарезервировано для ЦП 3-4
4 Блок памяти процессора от 1 до CC 0
5 Блок памяти процессора от 1 до CC 1
6-7 Зарезервировано для CC 3-4
8 От модуля памяти процессора 2 к ЦП 1
9 От модуля памяти процессора 2 к ЦП 2
10-11 Зарезервировано для ЦП 3-4
12 Блок памяти процессора 2–CC 0
13 Блок памяти процессора 2–CC 1
14-15 Зарезервировано для CC 3-4
16 От блока памяти процессора 3 к ЦП 1
17 От блока памяти процессора 3 к ЦП 2
18-19 Зарезервировано для ЦП 3-4
20 Блок памяти процессора от 3 до CC 0
21 Процессорный блок хранения данных от 3 до CC 1
22-23 Зарезервировано для CC 3-4
24 От блока памяти процессора 4 к процессору 1
25 От блока памяти процессора 4 к ЦП 2
26-27 Зарезервировано для ЦП 3-4
28 Блок памяти процессора от 4 до CC 0
29 Процессорный блок хранения данных от 4 до CC 1
30-31 Зарезервировано для CC 3-4

Регистр управления 9 содержит назначения блоков памяти процессора 5–8 центральным процессорам (ЦП) и контроллерам каналов (CC).

Назначение блока памяти процессора 1–4
Кусочек Описание
0 От блока памяти процессора 5 до ЦП 1
1 От блока памяти процессора 5 до ЦП 2
2-3 Зарезервировано для ЦП 3-4
4 Блок памяти процессора от 5 до CC 0
5 Блок памяти процессора от 5 до CC 1
6-7 Зарезервировано для CC 3-4
8 Процессорный блок хранения данных от 6 до ЦП 66
9 От блока памяти процессора 6 до ЦП 2
10-11 Зарезервировано для ЦП 3-4
12 Блок памяти процессора от 6 до CC 0
13 Процессорный блок хранения данных от 6 до CC 1
14-15 Зарезервировано для CC 3-4
16 От блока памяти процессора 7 до ЦП 1
17 От блока памяти процессора 7 до ЦП 2
18-19 Зарезервировано для ЦП 3-4
20 Блок памяти процессора с 7 по CC 0
21 Процессорный блок хранения данных от 7 до CC 1
22-23 Зарезервировано для CC 3-4
24 От блока памяти процессора 8 до ЦП 1
25 От блока памяти процессора 8 до ЦП 2
26-27 Зарезервировано для ЦП 3-4
28 Блок памяти процессора от 8 до CC 0
29 Процессорный блок хранения данных от 8 до CC 1
30-31 Зарезервировано для CC 3-4

Регистр управления 10 содержит коды назначения адреса памяти процессора.

Коды назначения битов 11–14 адреса памяти процессора
Кусочек Начальный адресный код для
0-3 Блок памяти процессора 1
4-7 Блок памяти процессора 2
8-11 Блок памяти процессора 3
12-15 Блок памяти процессора 4
16-19 Блок памяти процессора 5
20-23 Блок памяти процессора 6
24-27 Блок памяти процессора 7
28-31 Блок памяти процессора 8

Регистр управления 11 содержит назначения контроллера канала (CC).

Разделение контроллера каналов CR11 (CC)
Кусочек Описание
0 CC 0 доступен на CPU 1
1 CC 0 доступен на CPU 2
2-3 Зарезервировано для процессоров 3-4
4 CC 1 доступен на CPU 1
5 CC 1 доступен на CPU 2
6-7 Зарезервировано для процессоров 3-4
8-15 Неназначенный
16 ЦП 1 только на CC 0
17 ЦП 1 только на CC 1
18-19 Зарезервировано для CC 2-3
20 ЦП 2 только на CC 0
21 ЦП 2 только на CC 1
22-23 Зарезервировано для CC 2-3
24-31 Неназначенный

CR12 содержит разделение блока управления вводом/выводом.

Блок управления вводом/выводом CR12 1–16. Разделение
Кусочек Блок управления вводом/выводом Интерфейс
0 1 1
1 2
2 2 1
3 2
4 3 1
5 2
6 4 1
7 2
8 5 1
9 2
10 6 1
11 2
12 7 1
13 2
14 8 1
15 2
16 9 1
17 2
18 10 1
19 2
20 11 1
21 2
22 12 1
23 2
24 13 1
25 2
26 14 1
27 2
28 15 1
29 2
30 16 1
31 2

CR13 содержит разделы блока управления вводом/выводом.

Блок управления вводом/выводом CR13 17-32 Разделение
Кусочек Блок управления вводом/выводом Интерфейс
0 17 1
1 2
2 18 1
3 2
4 19 1
5 2
6 20 1
7 2
8 21 1
9 2
10 22 1
11 2
12 23 1
13 2
14 24 1
15 2
16 25 1
17 2
18 26 1
19 2
20 27 1
21 2
22 28 1
23 2
24 29 1
25 2
26 30 1
27 2
28 31 1
29 2
30 32 1
31 2

CR14 содержит индикаторы.

Индикаторы CR14
Кусочек Индикатор
0-27 Неназначенный
22 2167 Включение питания
23 Неназначенный
24 Прямое управление, ЦП 1
25 Прямое управление, ЦП 2
26-27 Неназначенный
28 Префикс, ЦП 1
29 Префикс, ЦП 2
30-31 Неназначенный

Регистры управления в IBM S/390

[ редактировать ]

Регистры управления ESA/390 [6] на IBM S/390 являются эволюционным усовершенствованием регистров управления более ранней версии ESA/370 , [7] С/370-ХА [8] и С/370 [9] процессоры. Подробную информацию о том, какие поля зависят от конкретных функций, см. в Принципах работы. [10]

Регистры управления ESA/390
ЧР биты Поле
0 1 SSM-подавление
0 2 TOD-управление тактовой синхронизацией
0 3 Низкоадресное управление защитой
0 4 Контроль полномочий добычи
0 5 Вторичный космический контроль
0 6 Управление переопределением защиты от выборки
0 7 Управление отключением защиты хранилища
0 8-12 Формат перевода
0 13 Контроль регистра AFP
0 14 Векторное управление
0 15 Управление функциями адресного пространства
0 16 Маска подкласса предупреждения о неисправности
0 17 Маска подкласса аварийного сигнала
0 18 Маска подкласса внешнего вызова
0 19 Маска подкласса проверки синхронизации TOD-тактов
0 20 Маска подкласса тактового компаратора
0 21 Маска подкласса таймера ЦП
0 22 Маска подкласса служебного сигнала
0 24 Установить на 1
0 25 Маска подкласса клавиши прерывания
0 26 Установить на 1
0 27 Маска подкласса ETR
0 28 Программа-вызов-быстро
0 29 Крипто-контроль
1 0 Первичное управление событиями космического переключения
1 1-19 Происхождение первичной таблицы сегментов
1 22 Первичное управление подпространственной группой
1 23 Первичный контроль частного пространства
1 24 Первичный контроль событий изменения хранилища
1 25-31 Длина первичной таблицы сегментов
2 1-25 Происхождение таблицы управления диспетчерским устройством
3 0-15 Маска PSW-ключа
3 16-31 Вторичный АСН
4 0-15 Индекс авторизации
4 16-31 Первичный АСН
5 0 Управление связями подсистем
5 1-24 Происхождение таблицы связей
5 25-31 Длина таблицы связей
5 1-25 Когда управление функцией адресного пространства одно,
Первичный-ASN-вторая-запись-таблицы
6 0-7 Маска подкласса прерывания ввода-вывода
7 1-19 Вторичное происхождение таблицы сегментов
7 22 Вторичный контроль подпространственной группы
7 23 Вторичный контроль частного пространства
7 24 Вторичный контроль событий изменения хранилища
7 25-31 Длина вторичной таблицы сегментов
8 0-15 Индекс расширенной авторизации
8 16-31 Маски монитора
9 0 Маска событий успешного ветвления
9 1 Маска событий получения инструкций
9 2 Маска событий изменения хранилища
9 3 Маска события GR-изменения
9 4 Маска события магазина с использованием реального адреса
9 8 Контроль адреса филиала
9 10 Контроль складских помещений
9 16-31 Маски общего регистра PER
10 1-31 Начальный адрес PER
11 1-31 Конечный адрес PER
12 0 Контроль трассировки ветвей
12 1-29 Адрес для отслеживания
12 30 ASN-контроль трассировки
12 31 Явное отслеживание контроля
13 0 Управление событиями домашнего пространства
13 1-19 Начало исходной таблицы сегментов
13 23 Контроль домашнего частного пространства
13 24 Контроль событий домашнего хранения-изменения
13 25-31 Длина домашнего сегмента таблицы
14 0 Установить на 1
14 1 Установить на 1
14 2 Расширенное управление областью сохранения
14 3 Маска подкласса, ожидающего отчета о канале
14 4 Маска подкласса восстановления
14 5 Маска подкласса деградации
14 6 Маска подкласса внешнего повреждения
14 7 Маска подкласса предупреждения
14 10 TOD-тактовое управление-переопределение управления
14 12 ASN-контроль трансляции
14 13-31 Источник ASN-первая таблица
15 1-28 Адрес входа в стек связей

Регистры управления в IBM z/Architecture

[ редактировать ]

Регистры управления z/Architecture [11] являются эволюционным усовершенствованием регистров управления более ранней версии ESA/390 на процессорах IBM S/390 . Подробную информацию о том, какие поля зависят от конкретных функций, см. в Принципах работы. [12] Поскольку z/Architecture расширяет регистры управления с 32 бит до 64, нумерация битов отличается от нумерации в ESA/390.

Регистры управления режимом z/архитектуры
ЧР биты Поле
0 8 Контроль исполнения транзакций
0 9 Переопределение фильтрации прерываний программы при выполнении транзакций
0 10 Контроль знака часов-компаратора
0 13 Контроль счетчика криптографии
0 14 Управление расширением процессорной активности
0 15 Контроль измерения-противоизвлечения-авторизации
0 30 Маска подкласса предупреждения
0 32 TRACE TOD-управление часами
0 33 SSM-подавление
0 34 TOD-управление тактовой синхронизацией
0 35 Низкоадресное управление защитой
0 36 Контроль полномочий добычи
0 37 Вторичный космический контроль
0 38 Управление переопределением защиты от выборки
0 39 Управление отключением защиты хранилища
0 40 Расширенное управление включением DAT
0 43 Управление выполнением инструкций, защитой и включением
0 44 Контроль повторного использования ASN и LX
0 45 Контроль регистра AFP
0 46 Управление векторным включением
0 48 Маска подкласса предупреждения о неисправности
0 48 Маска подкласса предупреждения о неисправности
0 49 Маска подкласса аварийного сигнала
0 50 Маска подкласса внешнего вызова
0 52 Маска подкласса тактового компаратора
0 53 Маска подкласса таймера ЦП
0 54 Маска подкласса служебного сигнала
0 56 Инициализировано значением 1
0 57 Маска подкласса клавиши прерывания
0 58 Маска подкласса оповещения об измерениях
0 59 Маска подкласса оповещения о времени
0 61 Крипто-контроль
1 0-51 Первичный элемент управления адресным пространством (ASCE)
Первичное происхождение таблицы регионов
Происхождение первичной таблицы сегментов
Первичное происхождение токена реального пространства
1 54 Первичное управление подпространственной группой
1 55 Первичный контроль частного пространства
1 56 Первичное событие изменения хранилища
1 57 Первичное управление событиями космического переключения
1 58 Первичное управление в реальном пространстве
1 60-61 Первичное обозначение типа управления
1 62-63 Длина основного стола
2 33-57 Происхождение таблицы управления диспетчерским устройством
2 59 Контроль включения охраняемого хранилища
2 61 Область диагностики транзакции
2 62-63 Диагностический контроль транзакций
3 0-31 Номер экземпляра вторичной записи второй таблицы ASN
3 32-47 Маска PSW-ключа
3 48-63 Вторичный АСН
4 0-31 Первичный номер экземпляра второй записи таблицы ASN
4 32-47 Индекс авторизации
4 48-63 Первичный АСН
5 33-57 Источник первичной-ASN-второй-таблицы
6 32-39 Маска подкласса прерывания ввода-вывода
7 0-51 Вторичный элемент управления адресным пространством (ASCE)
Вторичное происхождение таблицы регионов
Вторичное происхождение таблицы сегментов
Вторичное происхождение токена реального пространства
7 54 Вторичный контроль подпространственной группы
7 55 Вторичный контроль частного пространства
7 56 Вторичный контроль событий изменения хранилища
7 58 Вторичный контроль реального пространства
7 60-61 Вторичное обозначение типа управления
7 62-63 Длина вторичного стола
8 16-31 Маски расширенного монитора
8 32-47 Индекс расширенной авторизации
8 48-63 Маски монитора
9 32 Маска событий успешного ветвления
9 33 Маска событий получения инструкций
9 34 Маска событий изменения хранилища
9 35 Маска события изменения ключа хранения
9 36 Маска события магазина с использованием реального адреса
9 37 Маска события обнаружения нулевого адреса
9 38 Маска события завершения транзакции
9 39 Маска события получения инструкций обнуления
9 40 Контроль адреса филиала
9 41 Контроль подавления событий PER
9 43 Контроль складских помещений
10 0-63 Начальный адрес PER
11 0-63 Конечный адрес PER
12 0 Контроль трассировки ветвей
12 1 Контроль режима трассировки
12 2-61 Адрес для отслеживания
12 62 ASN-контроль трассировки
12 63 Явное отслеживание контроля
13 0-51 Элемент управления домашним адресом (ASCE)
Начало таблицы домашнего региона
Начало исходной таблицы сегментов
Происхождение жетона домашнего реального пространства
13 55 Контроль домашнего частного пространства
13 56 Домашнее хранение-переделка-событие
13 57 Управление событиями домашнего пространства
13 58 Вторичный контроль реального пространства
13 60-61 Управление типом обозначения дома
13 62-63 Длина домашнего стола
14 32 Установить на 1
14 33 Установить на 1
14 34 Расширенное управление областью сохранения (режим совместимости с ESA/390).

только)

14 35 Маска подкласса, ожидающего отчета о канале
14 36 Маска подкласса восстановления
14 37 Маска подкласса деградации
14 38 Маска подкласса внешнего повреждения
14 39 Маска подкласса предупреждения
14 42 TOD-тактовое управление-переопределение управления
14 44 ASN-контроль трансляции
14 45-63 Источник ASN-первая таблица
15 0-60 Адрес входа в стек связей

Регистры управления в Intel x86 серии

[ редактировать ]

Регистр CR0 имеет длину 32 бита на процессорах 386 и выше. На x64 процессорах в длинном режиме он (и другие управляющие регистры) имеет длину 64 бита. CR0 имеет различные флаги управления, которые изменяют базовую работу процессора. Регистр CR0 — это 32-битная версия старого регистра слова состояния машины (MSW). Регистр MSW был расширен до Регистра управления с появлением процессора i386.

Кусочек Имя Полное имя Описание
0 НА Включить защищенный режим Если 1, система находится в защищенном режиме , иначе система находится в реальном режиме.
1 член парламента Сопроцессор монитора Управляет взаимодействием инструкций WAIT/FWAIT с флагом TS в CR0.
2 В Эмуляция Если установлено, модуль с плавающей запятой x87 отсутствует, если флажок снят, присутствует FPU x87.
3 ТС Задача переключена Позволяет сохранять контекст задачи x87 при переключении задачи только после использования инструкции x87.
4 И Тип расширения На 386 это позволяло указать, был ли внешний математический сопроцессор 80287 или 80387.
5 NE Числовая ошибка Включить внутренний отчет об ошибках с плавающей запятой x87 , если он установлен, в противном случае включается обнаружение ошибок x87 в стиле ПК.
16 WP Защита от записи Если этот параметр установлен, ЦП не может записывать на страницы, доступные только для чтения, если уровень привилегий равен 0.
18 ЯВЛЯЮСЬ Маска выравнивания Проверка выравнивания включена, если установлен AM, установлен флаг AC (в регистре EFLAGS ) и уровень привилегий равен 3.
29 СЗ Не писать через Глобально включает/отключает кэширование со сквозной записью
30 компакт-диск кэш Отключить Глобально включает/отключает кэш памяти.
31 PG Пейджинг Если 1, включите пейджинг и используйте регистр § CR3 , иначе отключите пейджинг.

Зарезервировано, ЦП выдаст исключение #UD при попытке доступа к нему.

Содержит значение, называемое линейным адресом ошибки страницы (PFLA). При возникновении ошибки страницы адрес, к которому программа пыталась получить доступ, сохраняется в регистре CR2.

Типичное использование CR3 при трансляции адресов со размером 4 КиБ. страницами

Используется, когда виртуальная адресация включена, следовательно, когда бит PG установлен в CR0. CR3 позволяет процессору преобразовывать линейные адреса в физические адреса, определяя каталог страниц и таблицы страниц для текущей задачи. Обычно старшие 20 бит CR3 становятся базовым регистром каталога страниц (PDBR), в котором хранится физический адрес каталога первой страницы. Если бит PCIDE в регистре CR4 установлен, младшие 12 битов используются для идентификатора контекста процесса (PCID). [13]

Используется в защищенном режиме для управления такими операциями, как поддержка virtual-8086, включение точек останова ввода-вывода, увеличение размера страницы и исключения машинной проверки .

Кусочек Имя Полное имя Описание
0 УМЭ Расширения виртуального режима 8086 Если установлено, включает поддержку флага виртуального прерывания (VIF) в режиме виртуального-8086.
1 ПВИ Виртуальные прерывания в защищенном режиме Если установлено, включает поддержку флага виртуального прерывания (VIF) в защищенном режиме.
2 ТСД Временная отметка отключена Если установлено, инструкция RDTSC может выполняться только в кольце 0 , в противном случае RDTSC можно использовать на любом уровне привилегий.
3 ИЗ Отладка расширений Если установлено, включает прерывания на основе регистров отладки при доступе к пространству ввода-вывода .
4 ПОЧЕМУ Расширение размера страницы Если установлено, включает 32-битный режим подкачки для использования огромных страниц размером 4 МБ в дополнение к страницам размером 4 КиБ.

Если PAE включен или процессор находится в длинном режиме x86-64 , этот бит игнорируется. [14]

5 САЙТ Расширение физического адреса Если установлено, изменяется макет таблицы страниц для преобразования 32-битных виртуальных адресов в расширенные 36-битные физические адреса.
6 МЦЕ Исключение проверки машины Если установлено, разрешается прерывание проверки машины.
7 ПГЕ Глобальная страница включена Если установлено, трансляции адресов (записи PDE или PTE) могут использоваться совместно между адресными пространствами.
8 ПКЭ Включение счетчика мониторинга производительности Если установлено, RDPMC может выполняться на любом уровне привилегий, в противном случае RDPMC можно использовать только в кольце 0.
9 ОСFXSR Поддержка операционной системой инструкций FXSAVE и FXRSTOR. Если установлено, включает инструкции Streaming SIMD Extensions (SSE) и быстрое сохранение и восстановление FPU.
10 ОСXMMEXCPT Поддержка операционной системой немаскированных исключений SIMD с плавающей запятой Если установлено, включает немаскированные исключения SSE.
11 УМИП Предотвращение инструкций пользовательского режима Если установлено, инструкции SGDT, SIDT, SLDT, SMSW и STR не могут быть выполнены, если CPL > 0. [13]
12 ЛА57 57-битные линейные адреса Если установлено, включает 5-уровневый пейджинг. [15] [16] : 2–18 
13 VMXE Расширения виртуальной машины включены см. раздел Intel VT-x x86 Виртуализация .
14 SMXE Расширения безопасного режима включены см. технологию доверенного выполнения (TXT)
15 [а] (Сдержанный)
16 ФСГСБАЗЕ ФСГСБАСЭ Включить Если установлено, включает инструкции RDFSBASE, RDGSBASE, WRFSBASE и WRGSBASE.
17 ПКИДЕ PCID включить Если установлено, включает идентификаторы контекста процесса (PCID).
18 OSXSAVE Включение XSAVE и расширенных состояний процессора
19 в Ключевой шкафчик включен Если установлено, включает инструкции AES Key Locker.
20 СМЭП [19] Включить защиту выполнения в режиме супервизора Если установлено, выполнение кода в более высоком кольце генерирует ошибку .
21 СМАП предотвращение доступа в режиме супервизора Включить Если установлено, доступ к данным в более высоком кольце приводит к ошибке . [20]
22 ПКЕ Ключ защиты Включить См. Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32.
23 ЭТОТ Технология обеспечения контроля потока управления Если установлено, включает технологию принудительного управления потоком управления. [16] : 2–19 
24 МСС Включить ключи защиты для страниц режима супервизора Если этот параметр установлен, каждый линейный адрес в режиме супервизора связан с ключом защиты при использовании 4-уровневого или 5-уровневого пейджинга. [16] : 2–19 
25 ИНТР Пользовательские прерывания включены Если установлено, включает межпроцессорные прерывания пользовательского режима и связанные с ними инструкции и структуры данных.
63-26 (Сдержанный)
  1. ^ В ранних проектах спецификации Intel SGX бит 15 CR4 назывался «CR4.SEE» и описывался как бит включения инструкций анклава SGX. [17] В более поздних версиях этой спецификации ссылки на этот бит были удалены. [18]

Зарезервировано, тот же случай, что и CR1.

Дополнительные регистры управления в Intel x86-64 серии

[ редактировать ]

Регистр включения расширенных функций (EFER) — это регистр для конкретной модели , добавленный в процессор AMD K6 , позволяющий включать инструкцию SYSCALL /SYSRET, а затем для входа и выхода из длинного режима . Этот регистр становится архитектурным в AMD64 и принят Intel как IA32_EFER. Его номер MSR — 0xC0000080.

Кусочек Цель
0 SCE (расширения системных вызовов)
1 DPE (только для AMD K6: включение предварительной выборки данных)
2 SEWBED (только для AMD K6: спекулятивный EWBE# отключен)
3 GEWBED (только для AMD K6: глобальный EWBE# отключен)
4 L2D (только для AMD K6: отключить кэш L2)
5-7 Зарезервировано, читается как ноль
8 LME (включение длительного режима)
9 Сдержанный
10 LMA (активный длительный режим)
11 NXE ( включение запрета выполнения )
12 SVME ( включение безопасной виртуальной машины )
13 LMSLE (включение ограничения сегмента в длинном режиме)
14 FFXSR (быстрое FXSAVE/FXRSTOR)
15 TCE (расширение кэша переводов)
16 Сдержанный
17 MCOMMIT (включение инструкции MCOMMIT)
18 INTWB (включение прерываемого WBINVD/WBNOINVD)
19 Сдержанный
20 UAIE (включение игнорирования верхнего адреса)
21 AIBRSE (автоматическое включение IBRS)
22–63 Сдержанный

CR8 — это новый регистр, доступный в 64-битном режиме с использованием префикса REX. CR8 используется для определения приоритета внешних прерываний и называется регистром приоритета задачи (TPR). [14]

Архитектура AMD64 позволяет программному обеспечению определять до 15 классов приоритета внешних прерываний. Классы приоритета пронумерованы от 1 до 15, причем класс приоритета 1 является самым низким, а класс приоритета 15 — самым высоким. CR8 использует четыре младших бита для указания приоритета задачи , а остальные 60 бит зарезервированы и должны быть записаны нулями.

Системное программное обеспечение может использовать регистр TPR для временной блокировки прерываний с низким приоритетом от прерывания задачи с высоким приоритетом. Это достигается путем загрузки в TPR значения, соответствующего прерыванию с самым высоким приоритетом, которое должно быть заблокировано. Например, загрузка TPR со значением 9 (1001b) блокирует все прерывания с классом приоритета 9 или меньше, в то же время позволяя распознавать все прерывания с классом приоритета 10 или выше. Загрузка TPR со значением 0 разрешает все внешние прерывания. Загрузка TPR с номером 15 (1111b) отключает все внешние прерывания.

TPR сбрасывается в 0 при сбросе.

XCR0, или расширенный регистр управления 0, — это регистр управления, который используется для переключения хранения или загрузки регистров, связанных с конкретными функциями ЦП, с помощью инструкций XSAVE/XRSTOR. Он также используется с некоторыми функциями для включения или отключения способности процессора выполнять соответствующие инструкции. Его можно изменить с помощью привилегированного чтения XSETBV с помощью непривилегированных инструкций XGETBV. [21]

Кусочек Имя Включенная функция Цель
0 х87 х87 графический процессор Состояние x87 FPU/MMX, должно быть «1».
1 СШЭ СШЭ MXCSR и 16 регистров XMM
2 AVX AVX 16 верхних половин регистров YMM [а]
3 БН РЕГ МПХ Четыре регистра BND
4 БНДЦСР Регистры BNDCFGU и BNDSTATUS
5 МАСКА AVX-512 Восемь регистров k-маски
6 ZMM_Hi256 16 верхних половин регистров ZMM [б]
7 Привет16_ZMM 16 «старших» регистров ZMM (от ZMM16 до ZMM31)
8 ПТ Трассировка процессора
9 ПКРУ Ключи защиты реестр ПКРУ
10 БОЙФРЕНД
11 CET_U Интел СЕТ Стек теней пользователя
12 CET_S Теневой стек супервизора
13 HDC Аппаратный рабочий цикл
14 ИНТР Пользовательские прерывания
15 ЛБР Записи последнего филиала
16 ЗВП Аппаратные P-состояния
17 XTILECFG Интел АМХ 64-байтовый регистр TILECFG
18 XTILEDATA Восемь регистров TILE по 1024 байта.
19 [с] АПХ Intel APX 16 «высоких» георадаров (от R16 до R31)
20–63 Сдержанный
  1. ^ Младшие 128 бит всех регистров YMM хранятся в состоянии SSE.
  2. ^ Младшие 256 бит регистров ZMM от ZMM0 до ZMM15 хранятся в состояниях SSE и AVX.
  3. ^ Несмотря на то, что Intel APX указывается через бит 19 XCR0, на самом деле он записывается через XSAVE (несжатая форма) в неиспользуемое 64-байтовое пространство, оставшееся там, где находился Intel MPX.

Существует также MSR IA32_XSS, который находится по адресу DA0h. IA32_XSS MSR управляет битами XCR0, которые считаются состоянием «супервизора» и должны быть невидимы для обычных программ. Он работает с привилегированными инструкциями XSAVES и XRSTORS, добавляя состояние супервизора к данным, с которыми они работают. Проще говоря, если состояние X87 было включено в XCR0, а состояние PT было включено в IA32_XSS, инструкция XSAVE будет хранить только состояние X87, тогда как привилегированная XSAVES будет хранить как состояния X87, так и PT. Поскольку это MSR, доступ к нему можно получить с помощью инструкций RDMSR и WRMSR.

Кусочек Цель
0–7 Сдержанный; должно быть 0.
8 PT (позволяет сохранять и загружать девять MSR трассировки процессора.)
10 Состояние идентификатора адресного пространства процессора (PASID)
11 Состояние пользователя технологии контроля потока управления (CET)
12 Государство-контролер технологии обеспечения контроля потока управления (CET)
13 HDC (позволяет сохранять и загружать IA32_PM_CTL1 MSR.)
14 Состояние пользовательских прерываний (UINTR)
15 Состояние последней записи ветки (LBR)
16 HWP (позволяет сохранять/загружать IA32_HWP_REQUEST MSR)
17–63 Сдержанный; должно быть 0.

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ IBM никогда не поставляла 360/64 или 360/66, только 360/67.
Руководства IBM
M67прелим
System/360 Model 67 — Система разделения времени — Предварительное техническое описание (PDF) . Справочная библиотека по системам (первое изд.). ИБМ . C20-1647-0 . Проверено 8 мая 2023 г.
М67
IBM System/360 Model 67 — Функциональные характеристики (PDF) . Справочная библиотека по системам (Третье изд.). ИБМ . Февраль 1972 г. А27-2719-0 . Проверено 8 мая 2023 г.
С/370
IBM System/370 - Принципы работы (PDF) (одиннадцатое изд.). ИБМ . Сентябрь 1987 г. GA22-7000-10 . Проверено 8 мая 2023 г.
С/370-ХА
Принципы работы IBM System/370 с расширенной архитектурой (PDF) (второе изд.). ИБМ . Январь 1987 г. SA22-7085-1 . Проверено 8 мая 2023 г.
S/370-ЕСА
IBM Enterprise Systems Architecture/370 Принципы работы (PDF) (Первое издание). ИБМ . Август 1988 г. SA22-7200-0 . Проверено 8 мая 2023 г.
S/390-ЕСА
IBM Enterprise Systems Architecture/390 Принципы работы (PDF) (Девятое изд.). ИБМ . Июнь 2003 г. SA22-7201-08 . Проверено 8 мая 2023 г.
з/Архитектура
z/Architecture - Принципы работы (PDF) (Четырнадцатое изд.). ИБМ . Май 2022 г. SA22-7832-13 . Проверено 8 мая 2023 г.
  1. ^ "lab4.pdf" (PDF) . Уппсальский университет . 17 марта 2024 г. Архивировано (PDF) из оригинала 17 января 2021 г. . Проверено 16 марта 2024 г.
  2. ^ M67prelim , стр. 25-26 , Регистры управления.
  3. ^ Jump up to: а б М67 , с. 16 , Таблица 4. Регистры управления.
  4. ^ S/370 , стр. 4-8-4-11 , Регистры управления.
  5. ^ M67 , стр. 31-35 , Назначение битов регистра управления для определения.
  6. ^ S/390-ESA .
  7. ^ S/370-ESA .
  8. ^ С/370-ХА .
  9. ^ С/370 .
  10. ^ S/390-ESA , стр. 4-6-4-10 , Регистры управления.
  11. ^ z/Архитектура .
  12. ^ z/Architecture , стр. 4-9–4-12 , Регистры управления.
  13. ^ Jump up to: а б Корпорация Intel (2016). «4.10.1 Идентификаторы контекста процесса (PCID)». Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32 (PDF) . Том. 3A: Руководство по системному программированию, часть 1.
  14. ^ Jump up to: а б «Руководство программиста по архитектуре AMD64, том 2: Системное программирование» (PDF) . АМД . Сентябрь 2012 г., стр. 127 и 130 . Проверено 4 августа 2017 г.
  15. ^ «5-уровневый пейджинг и 5-уровневый EPT» (PDF) . Интел . Май 2017. с. 16 . Проверено 23 января 2018 г.
  16. ^ Jump up to: а б с «Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32» (PDF) . Корпорация Intel®. 28 июня 2021 г. Проверено 21 сентября 2021 г.
  17. ^ Intel, Справочник по программированию расширений Software Guard , ссылка №. 329298-001, сентябрь 2013 г. — в главах 1.7 и 6.5.2 описан CR4.SEE.
  18. ^ Intel, Справочник по программированию расширений Software Guard , ссылка №. 329298-002, октябрь 2014 г. — CR4.SEE не упоминается.
  19. ^ Фишер, Стивен (21 сентября 2011 г.). «Защита выполнения в режиме супервизора» (PDF) . Конференция АНБ по надежным вычислениям 2011 . National Conference Services, Inc. Архивировано из оригинала (PDF) 3 августа 2016 г. Проверено 4 августа 2017 г.
  20. ^ Анвин, Х. Питер (21 сентября 2012 г.). «x86: Предотвращение доступа в режиме супервизора» . LWN.net . Проверено 4 августа 2017 г.
  21. ^ «Глава 13, Управление состоянием с помощью набора функций Xsave» (PDF) . Руководство разработчика программного обеспечения для архитектур Intel(R) 64 и IA-32, том 1: Базовая архитектура . Корпорация Intel (2019) . Проверено 23 марта 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b32ecb5d4e9e0fef5a93285fab2b39e0__1721657940
URL1:https://arc.ask3.ru/arc/aa/b3/e0/b32ecb5d4e9e0fef5a93285fab2b39e0.html
Заголовок, (Title) документа по адресу, URL1:
Control register - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)