为什么ACPI表中的转储处理器号与实际安装的处理器不同?

时间:2017-03-30 14:35:12

标签: operating-system bios firmware uefi acpi

我的电脑配有i5-4300U处理器。它有4个逻辑处理器。

enter image description here

最大cpu名称为\_PR.CPU3

enter image description here

根据ACPI规范,其中一个ACPI表,DSDT表(区分系统描述表)应该描述我的平台。所以我使用RW Everything在我的计算机上转储ACPI表。

在DSDT中,我看到了:

DefinitionBlock ("DSDT.AML", "DSDT", 0x01, "LENOVO", "TP-GJ   ", 0x00002410)
{
    Scope(\_PR)
    {
        Processor(CPU0,0x01,0x00001810,0x06) {}
        Processor(CPU1,0x02,0x00001810,0x06) {}
        Processor(CPU2,0x03,0x00001810,0x06) {}
        Processor(CPU3,0x04,0x00001810,0x06) {}
        Processor(CPU4,0x05,0x00001810,0x06) {}
        Processor(CPU5,0x06,0x00001810,0x06) {}
        Processor(CPU6,0x07,0x00001810,0x06) {}
        Processor(CPU7,0x08,0x00001810,0x06) {}
    }

所以看起来DSDT声称8个处理器,这似乎与我的机器不匹配。而更奇怪的是,它仍然可以工作。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

我可以收集的额外CPU表的原因是因为你的i5 cpu有2个超线程的逻辑核心,相当于4个核心,这表明你的系统也有i7 cpu选项,有4个逻辑核心超线程,这将是等于8个核心。

例如。我正在运行一个带有2x Xeon E5-2650 v2 CPU的系统,我的DSDT中的CPU范围包含4个SCK(SCK0 SCK1 SCK2 SCK3)定义和32个CPU定义,每个定义总共128个CPU定义,目前只有32个是使用(每个CPU 16个或SCK0和SCK1定义中16个),其余部分根据系统当前可访问的核心数量动态禁用。您的系统就是这种情况。