为什么没有将超线程报告为处理器支持? [英] Why does Hyper-threading get reported as supported on processors without it?
问题描述
我正在尝试收集系统信息,并在Intel Xeon E5420上注意到以下内容:
I'm trying to gather system information and noticed the following on an Intel Xeon E5420:
执行CPUID(EAX=1)
后,将设置EDX [28],表示支持超线程,尽管该处理器在英特尔网站上被列为不支持超线程(
After executing CPUID(EAX=1)
, EDX[28] is set, indicating Hyper-threading support, despite the fact that the processor is listed on the Intel website as not supporting Hyper-threading (ark.intel.com)
有人对此有解释吗?
推荐答案
根据英特尔开发人员手册,以下是该位的定义:
Here's the definition of that bit according to the Intel Developer's Manual:
保留的最大APIC ID字段为有效. HTT的值为0表示存在 软件包和软件中仅应包含一个逻辑处理器 仅保留一个APIC ID. HTT的值1表示 CPUID.1.EBX [23:16](逻辑的最大可寻址ID数 此程序包中的处理器)对该程序包有效.
Max APIC IDs reserved field is Valid. A value of 0 for HTT indicates there is only a single logical processor in the package and software should assume only a single APIC ID is reserved. A value of 1 for HTT indicates the value in CPUID.1.EBX[23:16] (the Maximum number of addressable IDs for logical processors in this package) is valid for the package.
手册第3A卷第8章介绍了如何正确检测硬件多线程.
In chapter 8 of volume 3A of the manual, it describes how one properly detects hardware multi-threading.
以下是链接:
http://download.intel.com/products/processor/manual/325462.pdf
这篇关于为什么没有将超线程报告为处理器支持?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!