[英]How can I find out what “processor family” an Intel processor is under?
在英特尔手册中,有些表包含Performance-Monitoring Counters
列表,但它们对特定处理器系列非常具体。
例如,一个表列出了P6 Family
的计数器,另一个表列出了Pentium
的计数器。
在Ubuntu
,如果我执行cat /proc/cpuinfo
,我会得到一条说cpu family
,但它只是一个数字。 这个数字和英特尔的processor family
概念之间是否有一些映射?
我也从英特尔看过这个页面 ,但它甚至没有提到“家庭”这个词。
顺便说一句,我在X3470
所以我想也许Xeon
是家庭,但手册没有列出它。
具体而言,对于“X3470”,它基于Nehalem微架构。
一般来说; 对于Intel 80x86和仅Intel 80x86(不包括Itanium和Xeon Phi / KNC以及所有其他80x86 CPU制造商 - 请不要忘记检查CPUID中的“供应商ID”字符串):
CPUID.family == 4
表示它是80486(无性能监控) CPUID.family == 5
表示它是奔腾 CPUID.family == 15
意味着它是一个“Netburst”(奔腾4,奔腾D,奔腾EE,一些赛扬而不是其他人,以及一些Xeons而不是其他人) CPUID.family == 6
意味着它是从Pentium Pro(1995)到最新Haswell(2014)的任何东西,除了“Netburst” 对于CPUID.family == 6
您必须检查CPUID.model
字段。 你可以通过煞费苦心地浏览所有各种规格的更新来找到模型编号的范围,同时在你的呼吸下嘀咕猥亵(注意:这是传统的方法)。 我不知道是否有一种不那么疯狂的方法来破译它。
请注意,还有“营销废话”(针对软件开发人员完全没用的销售人员的东西)。 这包括CPU品牌名称(Xeon,Celeron,Core i7等)和CPU型号名称(“X3470”)。 您正在查看的页面只是“营销废话”。
“家庭”是一个模棱两可的概念。 / proc / cpuinfo返回的数字是来自CPUID指令的“系列”字段,它给出了与这个处理器相关的处理器的模糊概念,并且实际上仅用于执行表查找以选择要显示的名称。不支持“处理器品牌字符串”扩展CPUID指令的处理器。
您可以尝试解析所需信息的“处理器品牌字符串”,但最好还是检查扩展的CPUID指令,看看您所寻找的计数器是否受支持。
恕我直言,而不是找出家庭,寻找像CPU中的CPU能力标志::
http://lxr.linux.no/#linux+v3.13.5/arch/x86/include/asm/cpufeature.h
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.