Cpuid
cpuid (CPU Identification) — ассемблерная инструкция процессоров x86, используется для получения информации о ЦПУ. Инструкция cpuid введена в процессорах Pentium в 1993. Используя инструкцию cpuid, программа может определить тип ЦПУ и его возможности (например, можно определить, поддерживаются ли инструкции MMX/SSE).
Опкод: 0F A2.
Использование cpuid
Инструкция cpuid принимает параметр в регистре EAX. В регистр EAX должно быть загружено значение, определяющее, какого рода информацию о процессоре необходимо вернуть. Инструкция cpuid в первый раз должна быть вызвана со значением EAX = 0, при этом будет возвращено максимальное допустимое значение параметра инструкции, поддерживаемое данным процессором. Для того, что бы получить информацию о дополнительных функциях, в регистре EAX перед вызовом cpuid должен быть установлен бит 31. Для того, что бы определить максимальное допустимое значение параметра для дополнительных функций, необходимо выполнить cpuid со значением EAX = 80000000h.
EAX=0: Получить идентификатор производителя процессора
При EAX=0 возвращает строку символов — идентификатор производителя процессора. Строка состоит из 12 символов ASCII и содержится в регистрах EBX, EDX, ECX (именно в таком порядке). Максимальный допустимое значение EAX при вызове cpuid возвращается в регистре EAX.
Вот некоторые идентификаторы производителей процессоров:
- "GenuineIntel" — Intel
- "AuthenticAMD" — AMD
- "CyrixInstead" — Cyrix
- "CentaurHauls" — Centaur
- "SiS SiS SiS " — SiS
- "NexGenDriven" — NexGen
- "GenuineTMx86" — Transmeta
- "RiseRiseRise" — Rise
- "UMC UMC UMC " — UMC
- "Geode by NSC" — National Semiconductor
Ссылки
- http://www.sandpile.org/ia32/cpuid.htm
- http://support.intel.com/support/processors/procid/
- CPUID guide:
- Программы для Windows:
- Программы для Linux: