Функция cpuid 0Bh, intel, всегда пустые регистры
И в Linux (как root), и в Windows (XP, как admin) я всегда получаю пустой набор регистров после вызова cpuid с eax = 0xB. Согласно официальному руководству, http://www.intel.com/content/www/us/en/processors/processor-identification-cpuid-instruction-note.html я написал следующий код:
mov eax,0xb
xor ecx,ecx
cpuid
; EAX = EBX = ECX = EDX = 0
Я успешно написал AMD cpuinfo на основе инструкции 'cpuid' прямо перед этим, но функция Intel 0xb просто не будет работать. попробовал на двух доступных компьютерах Intel без удачи. Что мне здесь не хватает?
1 ответ
Сначала проверьте доступность функции, см. руководство, 5.1.2, функция 01.
однако это не отвечает на вопрос перечисления реальных ядер ЦП, который был моим намерением. Если кто-то не ленится, пожалуйста, поделитесь своими выводами по этой теме в комментариях, спасибо.