我该如何查找英特尔处理器所属的“处理器系列”?

6
在英特尔手册中,有包含“性能监控计数器”列表的表格,但它们对于特定的处理器系列非常具体。例如,一个表列出了“P6家族”的计数器,另一个表则列出了“Pentium”的计数器。在Ubuntu中,如果我运行“cat /proc/cpuinfo”命令,会输出一行显示为“cpu family”的信息,但它只是一个数字。这个数字和英特尔的“处理器系列”有映射关系吗?我还查看了来自英特尔的this page,但它甚至没有提到“family”这个词。顺便说一下,我的处理器是X3470,所以我想也许“Xeon”是这个家族,但手册上并没有列出它。
3个回答

9
对于特定的“X3470”,它基于Nehalem微架构。
一般而言,仅适用于英特尔80x86(不包括Itanium和Xeon Phi / KNC等其他80x86 CPU制造商-不要忘记在CPUID中检查“vendor ID”字符串):
- 不支持CPUID意味着它是80486或更早版本(有办法可以告诉哪个,但您不会关心,因为没有性能监控) - CPUID.family == 4表示它是80486(没有性能监控) - CPUID.family == 5表示它是Pentium - CPUID.family == 15表示它是“Netburst”(Pentium 4、Pentium D、Pentium EE以及某些Celeron和其他型号的Xeon) - CPUID.family == 6表示它是从Pentium Pro(1995)到最新的Haswell(2014)之间的任何型号,除了“Netburst”
对于CPUID.family == 6,您必须检查CPUID.model字段。您可以通过费力地搜索所有各种规格更新来找到模型编号的范围,同时嘟囔着粗话(注意:这是传统方法)。我不知道是否有一种不那么疯狂的解密方法。
请注意,还有“营销废话”(供销售人员使用的完全无用于软件开发人员的内容)。这包括CPU品牌名称(Xeon、Celeron、Core i7等)和CPU型号名称(“X3470”)。您正在查看的页面仅为“营销废话”。

好的答案。我通常觉得在维基百科上查找型号列表最容易。在这种情况下 - http://en.wikipedia.org/wiki/List_of_Intel_Xeon_microprocessors - Leeor

2
“家庭”是一个模糊的概念。/proc/cpuinfo返回的数字是CPUID指令中的“family”字段,它给出了与此处理器相关的处理器的大致概念,并且只有在进行表查找以选择显示不支持“处理器品牌字符串”扩展CPUID指令的处理器名称时才有用。
您可以尝试解析“处理器品牌字符串”以获取所需的信息,但最好检查扩展的CPUID指令,以查看是否支持您正在查找的计数器。

0

我正在尝试查找手册中要查询哪个表以获取计数器的事件选择标志。您能解释一下能力标志如何帮助解决这个问题吗? - merlin2011
@merlin2011:如果CPU具有X86_FEATURE_LM,则procinfo标志行包含“lm”单词。在该页面上搜索X86_FEATURE_PDCM,如果CPU具有该功能,则相同的行将包含某个单词,可能是“pdcm”。如果您对性能计数器感兴趣,应该查看功能而不是CPU系列。现在,CPU系列并不是非常有意义的东西... - Malkocoglu
不,功能支持还不够,性能计数器或其地址或含义可能会随时间改变。在某些表格中,他可能需要查看“代”而不是“家族”,但完全忽略它是错误的 - Nehalem、SandyBridge或Haswell计数器可能会有很大的差异。 - Leeor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接