由于已经快一周了,没有人能够回答这个问题(可能是因为假期),所以我无论如何都会尝试回答这个问题。
我认为答案是肯定的。您可能需要调用CPUID每个核心。原因之一是当今并非所有(甚至 x86)系统都是同类的。
例如,我在超频论坛上读到(我找不到链接),可以在某些双插槽服务器主板上混合使用两种不同的处理器型号。该人有一个双插槽 1366 系统,带有两个不同速度的处理器。(以及不同的型号)
因此,在这种情况下,调用CPUID将取决于线程所在的处理器 - 因此您需要在每个处理器上调用一次才能获取所有信息。
在我的一台服务器主板的手册中,还指出允许您混合使用不同型号的处理器(有一定的限制)。当然,可以混合同一处理器型号的两种不同步进。
仅这个原因(异构拓扑)就已经是需要调用CPUID每个核心的原因。