欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2. CPUID指令的术语和表达

程序员文章站 2022-07-14 16:28:41
...

Intel64手册里对CPUID指令广泛使用了如下一些表达形式和术语。

1. leaf(叶)

功能号使用leaf术语,例如:CPUID的01号功能,你可以称其为CPUID的01 leaf(叶)。

2. sub-leaf(子叶)

对于一些较复杂的信息查询,往往需要一个辅助的子号

  • EAX寄存器输入的是main leaf(主叶号),
  • ECX寄存器提供的是sub-leaf(子叶号)。
mov eax,0Bh    ; main leaf
mov ecx,0     ; sub-leaf
cpuid

如上所示,0B号功能就是main leaf(主叶),ECX提供的0号就是sub-leaf(子叶)。

3. CPUID指令的描述形式

当软件需要判断某项功能处理器是否支持时,使用CPUID指令进行查询,在Intel手册中使用了下面的描述形式。

2. CPUID指令的术语和表达

2. CPUID指令的术语和表达

上面是判断处理器是否支持PAE(Physical Address Extensions)功能时的描述,当CPUID.01H:EDX[6]的值为1时,表示支持PAE功能。

见Intel手册 1.3.7 A New Syntax for CPUID, CR, and MSR Values

4. Linux中工具

# rpm -qa | grep cpuid
cpuid-20170122-6.tl2.x86_64
# rpm -ql cpuid-20170122-6.tl2.x86_64
/usr/bin/cpuid
/usr/share/doc/cpuid-20170122
/usr/share/doc/cpuid-20170122/ChangeLog
/usr/share/doc/cpuid-20170122/FUTURE
/usr/share/licenses/cpuid-20170122
/usr/share/licenses/cpuid-20170122/LICENSE
/usr/share/man/man1/cpuid.1.gz