【发布时间】:2011-09-04 03:22:41
【问题描述】:
我已经在寻找 X86-64 处理器的 NUMA 文档,不幸的是我只找到了 NUMA 的优化文档。
我想要的是:如何在系统中初始化 NUMA(这将包括获取系统的内存拓扑和处理器拓扑)。有人知道关于 X86-64 AMD 和 Intel 处理器的 NUMA 的好文档吗?
【问题讨论】:
标签: x86-64 intel osdev numa amd-processor
我已经在寻找 X86-64 处理器的 NUMA 文档,不幸的是我只找到了 NUMA 的优化文档。
我想要的是:如何在系统中初始化 NUMA(这将包括获取系统的内存拓扑和处理器拓扑)。有人知道关于 X86-64 AMD 和 Intel 处理器的 NUMA 的好文档吗?
【问题讨论】:
标签: x86-64 intel osdev numa amd-processor
我知道,如果您想要系统拓扑,可以从 ACPI SLIT(系统位置信息表)或 SRAT(静态资源关联表)中获得。您可以从此处的 ACPI 规范 (http://www.acpi.info/spec.htm) 中了解更多相关信息,特别是第 5.2.16 和 5.2.17 节。
基本上,您使用 SRAT 来确定哪些内存范围与哪些 CPU 相关联,并且您使用 SLIT 来确定使用特定 CPU/内存范围的相对成本。这两个表都是可选的,但根据我的经验,大多数 NUMA 系统至少有一个有用的 SRAT。
就初始化而言,我认为我帮不上什么忙。您可能想了解如何在 Linux 内核(或 BSD 内核)上启动处理器。您可能还需要阅读本地 APIC,因为它们用于初始化 x86 AP。
【讨论】: