《X86-64体系探索及编程》 第4章 处理器的身份

本文深入探讨X86-64体系中CPUID指令的使用,包括测试指令支持、CPUID术语解析、处理器型号识别、最大地址宽度、扩展状态信息等。通过CPUID,可以获取处理器的基本信息、扩展信息,如最大功能号、处理器型号、物理地址和线性地址宽度,并了解Processor Extended State的相关内容。
摘要由CSDN通过智能技术生成

X86-64处理器使用CPUID指令查看和识别身份。

4.1 测试是否支持CPUID指令

eflag寄存器的第21位是ID(Processor Feature Identification)标志位。

测试方法为:如果该位可以修改该标志位,则表示支持CPUID指令。

4.2 CPUID的术语和表达

leaf(叶)
一个功能号就是一个leaf叶。也就是要写入eax寄存器的值。
sub-leaf(子叶)
对于一些比较复杂的功能号,需要一个辅助的子号才能获取具体的信息。这个辅助的子号就是子叶。
在EAX寄存器中输入的是leaf(叶),在ECX寄存器中输入的是ECX寄存器的值是sub-leaf(子叶)。
CPUID指令的描述形式
如下所示:

CPUID.01H:EDX[6]

其中01H代表leaf,EDX是返回值所在寄存器,其中EDX[6]是返回值中的某个标志位(在这里,是PAE(Physical Address Extensions)功能是否支持)。

4.3 基本信息和扩展信息

通过CPUID获取的信息有两类:

  • base(基本信息)
  • extended(扩展信息)

获取信息需要先知道对应的leaf(功能号)࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值