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手册中使用了下面的描述形式。
上面是判断处理器是否支持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