Assembler - язык неограниченных возможностей




. Другие команды - часть 4


Если ЕАХ = 2, CPUID на процессорах семейства Р6 возвращает в регистрах ЕАХ, ЕВХ, ЕСХ и EDX информацию о кэшах и TLB. Самый младший байт ЕАХ (регистр AL) указывает, сколько раз надо вызвать CPUID с ЕАХ = 2, чтобы получить информацию обо всех кэшах (1 для Pentium Pro и Pentium II). Самый старший бит (бит 31) каждого регистра указывает, содержит ли этот регистр правильную информацию (бит 31 = 0) или он зарезервирован (бит 31 = 1). В первом случае регистр содержит информацию в 1-байтных дескрипторах со следующими значениями:

00h — Пустой дескриптор.

01h — TLB команд, 4-килобайтные страницы, 4-сторонняя ассоциативность, 32 элемента.

02h — TLB команд, 4-мегабайтные страницы, 4-сторонняя ассоциативность, 4 элемента.

03h — TLB данных, 4-килобайтные страницы, 4-сторонняя ассоциативность, 64 элемента.

04h — TLB данных, 4-мегабайтные страницы, 4-сторонняя ассоциативность, 8 элементов.

06h — Кэш команд, 8 Кб, 4-сторонняя ассоциативность, 32 байта в строке.

08h — Кэш команд, 16 Кб, 4-сторонняя ассоциативность, 32 байта в строке.

0Ah — Кэш данных, 8 Кб, 2-сторонняя ассоциативность, 32 байта в строке.

0Ch — Кэш данных, 16 Кб, 2-сторонняя ассоциативность, 32 байта в строке.

41h — Унифицированный кэш, 128 Кб, 4-сторонняя ассоциативность, 32 байта в строке.

42h — Унифицированный кэш, 256 Кб, 4-сторонняя ассоциативность, 32 байта в строке.

43h — Унифицированный кэш, 512 Кб, 4-сторонняя ассоциативность, 32 байта в строке.

44h — Унифицированный кэш, 1 Мб, 4-сторонняя ассоциативность, 32 байта в строке.

Совместимые с Intel процессоры AMD и Cyrix поддерживают вызов «расширенных функций» CPUID со значениями ЕАХ, в которых самый старший бит всегда установлен в 1.

ЕАХ = 80000000h: Возвращает в ЕАХ максимальный номер расширенной функции CPUID, поддерживаемой данным процессором.




Содержание  Назад  Вперед