Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MProc / M8 / Исполнительная среда Itanium.doc
Скачиваний:
36
Добавлен:
16.04.2013
Размер:
340.48 Кб
Скачать

3.1.11. Регистры идентификации процессора

Processor Identification Registers. Информация, идентифицирую­щая процессор на уровне приложения доступна в файле регистров называемомCPUID. Этот файл делится на фиксированную область (регистры от 0 до 4) и изменяемую область (регистры с 5 и далее). ПолеCPUID[3].numberпоказывает максимальный номер 8-байтного регистра содержащего информацию, специфицирующую процессор.

Регистры CPUIDявляются не привилегированными и доступны косвенно, с помощью инструкцииmov. Все регистры, следующие за регистром указанным в полеCPUID[3].number, являются резервированными, и обращение к ним вызывает ошибку «Резервированный регистр/поле». Запись запрещена и не существует инструкций для такого действия.

Информация о поставщике находится в CPUIDрегистрах 0 и 1, она задает имя поставщика в кодеASCIIдля реализованного процессора (рис.3.10). Все байты после конца строки и до 16-го байта содержат нули. ПервыеASCII-символы размещаются в регистре с меньшим номером и в байтах с меньшим номером.

64

0

CPUID[0]

Байт 0

CPUID[1]

Байт 15

64

Рис.3.10. CPUIDрегистры 0 и 1 – информация о поставщике.

Регистр CPUID[2] – это игнорируемый регистр (чтение из него возвращает 0).

Регистр CPUID[3] содержит несколько полей показывающих информацию о версии семейства для реализованного процессора. Рис. 3.11 и табл.3.7 задают описание всех полей.

63

40

39

32

31

24

23

16

15

8

7

0

reserv

archrev

family

model

revision

number

24

8

8

8

8

8

Рис.3.11. CPUIDрегистр 3 – информация о версии.

Табл.3.7. Описание полей CPUIDрегистра 3.

Поле

Биты

Описание

number

7:0

Индекс наибольшего реализованного CPUID регистра (на 1 меньше, чем количество реализованных CPUID регистров). Это значение должно быть не меньше 4.

revision

15:8

Номер версии процессора. 8-битное число, которое описывает версию (revision) или модификацию (stepping) реализованного процессора, но не модель процессора.

model

23:16

Номер модели процессора. Уникальное 8-битное число представляющее модель процессора, но не семейство процессора.

family

31:24

Номер семейства процессора. Уникальное 8-битное число показывающее семейство процессора.

archrev

39:32

Версия архитектуры. 8-битное число, которое описывает номер версии архитектуры, в которой реализован процессор.

reserv

63:40

Зарезервировано

Регистр CPUID[4] обеспечивает основную информацию прикладного уровня о свойствах процессора. Как показано на рис.3.12 это обеспечивается установкой флагов в битах, чтобы показать, что конкретное свойство поддерживается в этой модели процессора. Если бит в 1, то свойство поддерживается, если же бит в 0, то свойство не поддерживается. Описание свойств битов текущей архитектуры дано в табл. 3.8. Если новые свойства будут добавлены (или удалены) модель свойств процессора, то будут добавлены, изменены или удалены описания битов соответствующих этим свойствам.

63

1

0

reserv

lb

63

1

Рис.3.12. CPUIDрегистр 4 – биты основных свойств/способно­стей.

Табл.3.8. Поля CPUIDрегистра 4.

Поле

Биты

Описание

lb

0

Процессор реализует инструкции длинных переходов (brl).

reserv

63:1

Зарезервировано

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