如何使用CPUID指令正确获取x86 CPU功能?
问题描述:
我想编写一个小程序来获取x86
CPU的功能。指CPUID文档后,我发现有2
部分:如何使用CPUID指令正确获取x86 CPU功能?
(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
指令。我的理解是否正确?
你想要发现什么?如果它是像SSSE3这样的供应商中立的东西,那么您应该使用您尝试检测的功能指定的输入来执行CPUID ... –