Intel架构CPU的CPUID指令和Visual Studio的__cpuid/__cpuidex函数

本文介绍了Intel架构处理器的CPUID指令,包括基本和扩展功能,以及如何在Visual Studio中使用__cpuid和__cpuidex函数进行C++封装。通过示例代码展示了如何获取CPU的制造商、处理器签名、家族、型号等信息。
摘要由CSDN通过智能技术生成

摘要

 

简要介绍Intel架构处理器的CPUID指令的规范,在程序中的一般作用,以及微软Visual C++中对应的__cpuid / __cpuidex函数,和我对这两个函数做的简单的类封装。

 

下载 Intel® Processor Identification and the CPUID Instruction

 

 

CPUID 指令

 

具体描述参考上面的Intel官方文本,这里只做很简单的描述。加上一些Intel 241618文档里没有的内容。

 

CPUID汇编指令接受输入的寄存器是EAX,存放需要的子功能号,从0x00开始;存放输出的寄存器是EAX,EBX,ECX,EDX。CPUID的子功能集有两大类,基本和扩展。

 

基本功能:

 

EAX = 00H 获得最大可用的基本功能号,以及CPU Vendor ID

 

EAX = 01H 获得CPU各项基本属性,包括Family, Model, Stepping ID, 和其他特性支持描述符

 

EAX = 02H CPU缓存和TLB的基本描述

 

EAX = 03H CPU

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值