如何使用 CPUID 指令正确获取 x86 CPU 特性?
How to use CPUID instruction to get x86 CPU features correctly?
我想写一个小程序来获取x86
CPU的特征。参考 CPUID 文档后,我发现有 2
个部分:
(1) EAX=1:
......
As of January 2011, the standard Intel feature flags are as follows:
......
(2) EAX=80000001h:
......
AMD feature flags are as follows:
......
所以这意味着如果CPU供应商是GenuineIntel
,我应该使用EAX=1
,而如果是AuthenticAMD
,我应该使用EAX=80000001h
来执行CPUID
指令。我的理解正确吗?
参考AMD CPUID and Intel CPUID文档后,我了解到EAX 1 CPUID
指令的标志不同,因此需要区分它们。
我想写一个小程序来获取x86
CPU的特征。参考 CPUID 文档后,我发现有 2
个部分:
(1) EAX=1:
......
As of January 2011, the standard Intel feature flags are as follows:
......
(2) EAX=80000001h:
......
AMD feature flags are as follows:
......
所以这意味着如果CPU供应商是GenuineIntel
,我应该使用EAX=1
,而如果是AuthenticAMD
,我应该使用EAX=80000001h
来执行CPUID
指令。我的理解正确吗?
参考AMD CPUID and Intel CPUID文档后,我了解到EAX 1 CPUID
指令的标志不同,因此需要区分它们。