Иллюстрированный самоучитель по задачам и примерам Assembler

Команда 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) и счетчики событий.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.