如何使用 CPUID 指令正确获取 x86 CPU 功能? [复制]
Posted
技术标签:
【中文标题】如何使用 CPUID 指令正确获取 x86 CPU 功能? [复制]【英文标题】:How to use CPUID instruction to get x86 CPU features correctly? [duplicate] 【发布时间】:2017-09-12 04:54:37 【问题描述】:我想写一个小程序来获取x86
CPUs的特性。参考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
指令。我的理解正确吗?
【问题讨论】:
您到底想检测什么?如果它是像 SSSE3 这样的供应商中立的东西,那么您应该使用您尝试检测的功能指定的输入来执行 CPUID... 【参考方案1】:参考AMD CPUID 和Intel CPUID 文档后,我可以了解到EAX 1 CPUID
指令的标志不同,因此需要区分它们。
【讨论】:
以上是关于如何使用 CPUID 指令正确获取 x86 CPU 功能? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 Raspberry Pi 4B 上获取 CPU 供应商 ID,例如 x86 CPUID?