如何检测Intel Alder Lake CPU中的P/E-Core?

Ata*_*era 7 x86 intel cpu-cores cpuid

哪个逻辑处理器属于 P 核心组,哪个属于 E 核心组?

我的第一个想法是检查每个逻辑处理器的基本时钟,然后假设最低的基本时钟属于 E 核(根据英特尔规范,E 核的基本时钟总是明显低于 P 核)。

我希望HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor在注册表中进行检查就足够了。不幸的~MHz是始终包含 P 核的基本时钟。

A F*_*Fog 10

CPUID 指令提供有关执行该指令的内核的信息。P核和E核的情况不同。

启用后,Alder Lake 上两个内核的 CPUID 均为系列 6 型号 0x9A。当禁用 E 核并启用 AVX512 时,CPUID 更改为系列 6 型号 0x97。

CPUID leaf 7 EDX 位 15 表示混合设计。

CPUID leaf 1A EAX 位 24-31 指示核心类型,根据《Alder Lake 性能混合架构游戏开发指南》,https://www.intel.com/content/www/us/en/developer/articles/指南/桤木湖-开发者-guide.html

请参阅我的讨论https://www.agner.org/forum/viewtopic.php?f=1&t=79