gpt4 book ai didi

operating-system - 即时禁用和启用超线程

转载 作者:行者123 更新时间:2023-12-04 08:34:02 27 4
gpt4 key购买 nike

我想知道在理论上是否可以在 BIOS 中禁用超线程后启用超线程,反之亦然。事实证明,如果禁用超线程,它们仍然会在 ACPI 的 MADT 表中显示为禁用的核心。这是 MADT 的示例输出,处理器具有 4 个内核和每个内核 2 个线程,并且禁用了超线程。

CPU 0: APIC_ID=0 ACPI_PROCESSOR_ID=0 ENABLED=1
CPU 1: APIC_ID=2 ACPI_PROCESSOR_ID=1 ENABLED=1
CPU 2: APIC_ID=4 ACPI_PROCESSOR_ID=2 ENABLED=1
CPU 3: APIC_ID=6 ACPI_PROCESSOR_ID=3 ENABLED=1
CPU 4: APIC_ID=255 ACPI_PROCESSOR_ID=4 ENABLED=0
CPU 5: APIC_ID=255 ACPI_PROCESSOR_ID=5 ENABLED=0
CPU 6: APIC_ID=255 ACPI_PROCESSOR_ID=6 ENABLED=0
CPU 7: APIC_ID=255 ACPI_PROCESSOR_ID=7 ENABLED=0

我想知道 (a) 是否有在运行时启用这些内核的选项(无需重新启动和通过 BIOS)。并且 (b) 超线程/处理器处于什么状态(定义明确与否),如果它未启用(例如,它是否在禁用本地 APIC 的情况下执行 hlt 或 mwait 指令?)。

我在 ACPI 规范(5.2.12.2 处理器本地 APIC 结构)中读到的启用标志如下:

If zero, this processor is unusable, and the operating system support will not attempt to use it.

但是,如果有人知道,我很想知道禁用的超线程所处的实际状态是什么。例如,英特尔软件开发人员手册第 3 卷(第 8.4.3 节)中描述的 MP 初始化协议(protocol)算法) 在初始化期间在禁用的超线程上执行?

最佳答案

(a) 抱歉,您不能有 99.99% 的把握,除非您可以访问处理器初始化代码或您的 BIOS 供应商碰巧注释掉了几行不同的代码。内核和线程的数量在冷启动过程结束时被锁定。

(b) 我很确定 HT 禁用位何时设置。逻辑处理器 1 和辅助 APIC 被禁用。

关于operating-system - 即时禁用和启用超线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23120175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com