ИМЯ

cpuid - устройство доступа к CPUID в процессорах x86

ОПИСАНИЕ

CPUID предоставляет интерфейс для получения информации о процессоре x86.
Для перехода на нужный уровень CPUID достаточно выполнить на устройстве lseek(2) или pread(2); чтение происходит порциями по 16 байт. Для получения большего количества данных нужно повторить операцию чтения на последующих уровнях.
Младшие 32 бита позиции файла используются как входящее значение для регистра %eax, а старшие 32 бита как входящее значение для %ecx, последнее предназначено для "подсчёта" уровней eax, например eax=4.
Этот драйвер использует устройства /dev/cpu/CPUNUM/cpuid, где CPUNUM указывает на младший номер, а в многопроцессорных машинах CPUNUM указывает на номер процессора, которые перечислены в /proc/cpuinfo.
Файл доступен на чтение только пользователю root или членам группы root.

ЗАМЕЧАНИЯ

Инструкция CPUID может непосредственно выполняться программой с помощью встроенных в языки ассемблерных вставок. Однако это устройство предоставляет удобный доступ ко всем процессорам без изменения в программе.
Большинство информации cpuid можно получить в готовом виде из файла /proc/cpuinfo или подкаталогов /sys/devices/system/cpu. Непосредственное использование CPUID через это устройство нужно использовать только в специальных случаях.
Драйвер cpuid автоматически не загружается. Если ядро модульное, то нужно выполнять загрузку явно:

$ modprobe cpuid

Функции CPUID с дополнительными входными регистра не поддерживаются.
Очень старые процессоры x86 не поддерживают CPUID.

СМ. ТАКЖЕ

cpuid(1)
Intel Corporation, Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M, 3-180 CPUID reference.
Intel Corporation, Intel Processor Identification and the CPUID Instruction, Application note 485.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <[email protected]>, Dmitriy S. Seregin <[email protected]>, Dmitry Bolkhovskikh <[email protected]>, Katrin Kutepova <[email protected]>, Yuri Kozlov <[email protected]> и Иван Павлов <[email protected]>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на [email protected]

Recommended readings

Pages related to cpuid you should read also: