首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多核/NUMA上的CPUID

多核/NUMA上的CPUID
EN

Stack Overflow用户
提问于 2011-12-20 06:00:09
回答 1查看 1.4K关注 0票数 5

我正在为我的爱好OS编写CPU检测和通用环境检测代码。是否存在需要多次调用CPUID的情况?也就是说,如果系统有多个内核,操作系统是否需要在每个内核上调用CPUID?NUMA也是如此。

AMDIntel CPUID手册在这一点上都不清楚。在osdev wiki上有一篇文章提到调用名为Detecting CPU Topology的CPUID,但我的阅读并不清楚什么时候需要调用CPUID以及需要调用多少次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-26 02:24:42

因为已经快一个星期了,没有人能够回答这个问题(可能是因为假期),我无论如何都会尝试回答这个问题。

我认为答案是肯定的,,你可能需要在每个内核上调用CPUID。其中一个原因是,目前并不是所有(即使是x86)系统都是同构的。

例如,我在一个超频论坛上读到(我找不到链接),它可以在一些双插槽服务器主板上混合两种不同的处理器型号。这个人有一个双插槽1366系统,有两个不同速度的处理器。(和不同的型号)

因此,在这种情况下,调用CPUID将取决于线程所在的处理器-因此,您需要在每个处理器上调用它一次,以获取所有信息。

在我的一个服务器主板的手册中,它还说明您可以混合使用不同型号的处理器(有一定的限制)。当然,可以混合使用同一处理器型号的两个不同的steppings

这个原因(异构拓扑)本身就是需要在每个核心上调用CPUID的原因。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8568135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档