Команда CPUID – получение информации о текущем процессоре
Таблица 8.3. Поля регистра EDX после выполнения команды CPUID (при ЕАХ=n).
Биты EDX | Назначение (если биты установлены) |
---|---|
0 | Присутствует сопроцессор с набором команд i387 |
1 | Поддержка расширенных возможностей обработки прерываний в режиме виртуального процессора i8086 |
2 | Процессор поддерживает точки прерывания ввода-вывода (точки останова по обращению к портам) для предоставления расширенных возможностей отладки и доступ к регистрам DR4 и DR5. Флаг CR4.DE=1 |
3 | Процессор поддерживает 4-мегабайтные страницы |
4 | Поддержка счетчика меток реального времени TSC |
5 | Поддержка команд RDMSR и WRMSR для работы с модельно-зависимыми регистрами |
6 | Процессор поддерживает физические адреса, большие, чем 32 бита, расширенный формат элемента таблицы страниц, дополнительный уровень трансляции страничного адреса и 2-мегабайтные страницы |
7 | Поддержка исключения 18 – машинного контроля |
8 | Поддержка инструкции CMPXCHG8B |
9 | Микропроцессор содержит программно-доступный контроллер прерываний APIC |
10 | Резерв |
11 | Поддержка инструкций SYSENTER и SYSEXIT быстрых системных вызовов |
12 | Поддержка регистра управления кэшированием MTRR_CAP (относится к MSR-регистрам) |
13 | Поддержка работы с битом G, определяющим глобальность страницы в PTDE и РТЕ. Бит CR4.PGE = 1 |
14 | Поддержка архитектуры машинного контроля (MSR-регистр MCG_CAP) |
15 | Поддержка инструкций CMOV, FCMOVCC, FCOMI условной пересылки |
16 | Поддержка инструкций CMOVCC, FMOVCC и FCOMI (если установлен бит 0) |
17 | Процессор поддерживает 36-разрядную физическую адресацию с 4-мегабайтными страницами |
18 | Процессор поддерживает собственную идентификацию по уникальному 96-битному номеру и эта поддержка активна |
19-22 | Резерв |
23 | Поддержка целочисленного MMX-расширения |
24 | Процессор поддерживает команды FXSAVE и FXRSTOR |
25 | Поддержка MMX-расширения с плавающей точкой |
24-31 | Резерв |
Таблица 8.4. Значения дескрипторов, описывающих кэш-память, и дескрипторов TLB.
Содержание дескриптора | Значение |
---|---|
00h | Нулевой дескриптор |
01h | Буфер TLB-команд: размер страницы – 4 Кбайт, ассоциативный 4-канальный, 32 входа |
02h | Буфер TLB-команд: размер страницы – 4 Кбайт, ассоциативный, 2 входа |
03h | Буфер TLB-данных: размер страницы – 4 Кбайт, ассоциативный 4-канальный, 64 входа |
04h | Буфер TLB-данных: размер страницы – 4 Кбайт, ассоциативный 4-направленный, 8 входов |
06h | Кэш команд: размер 8 Кбайт, наборно-ассоциативный 4-канальный, длина строки 32 байта |
08h | Кэш команд: размер 16 Кбайт, наборно-ассоциативный 2-канальный, длина строки 32 байта |
0ah | Кэш данных: размер 8 Кбайт, ассоциативный 2-направленный, длина строки 32 байта |
0ch | Кэш данных: размер 16 Кбайт, ассоциативный 2-или 4-направленный, длина строки 32 байта |
40h | Кэш-память второго уровня (L2) отсутствует |
41h | Объединенный кэш: размер 128 Кбайт, наборно-ассоциативный 4-канальный, длина строки 32 байта |
42h | Объединенный кэш: размер 256 Кбайт, наборно-ассоциативный 4-направленный, длина строки 32 байта |
43h | Объединенный кэш: размер 512 Кбайт, наборно-ассоциативный 4-направленный, длина строки 32 байта |
44h | Объединенный кэш: размер 1 Мбайт, наборно-ассоциативный 4-направленный, длина строки 32 байта |
45h | Объединенный кэш: размер 2 Мбайт, наборно-ассоциативный 4-направленный, длина строки 32 байта |
Рассмотрим подробнее средства для мониторинга производительности, которые включают счетчик меток реального времени TSC (Time Stamp Counter) и счетчики событий.