3.7. 配置和“即插即用”
除了电源管理之外,ACPI 接口还提供控制和信息,使 OSPM 能够配置主板设备所需的资源以及它们的动态插入和移除。ACPI 定义块,包括差异化系统描述表(DSDT)和二级系统描述表(SSDTs),以一种称为 ACPI 命名空间的分层格式描述主板设备。OS 只需遍历 ACPI 命名空间并查找具有硬件 ID 的设备,即可枚举主板设备。
由 ACPI 枚举的每个设备都在 ACPI 命名空间中包含 ACPI 定义的对象,这些对象报告设备可能占用的硬件资源、一个报告设备当前正在使用的资源的对象,以及用于配置这些资源的对象。即插即用 OS(OSPM)利用这些信息来配置设备。
注意
在准备引导系统时,平台引导固件只需要配置引导设备。这包括在 ACPI 系统描述表中描述的引导设备,以及通过其他标准控制的设备。
3.7.1. 设备配置示例:配置调制解调器
回到上面的调制解调器设备示例,当 OS 在 DSDT 中找到该调制解调器时,OS 将找到它并为其加载驱动程序。该表将具有控制方法,向 OS 提供以下信息:
该设备可以使用 IRQ 3、I/O 3F8-3FF,或 IRQ 4、I/O 2E8-2EF
该设备当前正在使用 IRQ 3、I/O 3F8-3FF
OS 使用即插即用算法配置调制解调器的硬件资源。它会选择一种不与任何其他设备冲突的受支持配置。然后,OSPM 通过运行差异化定义块中调制解调器部分提供的控制方法,为设备配置这些资源。该控制方法会写入配置设备到给定资源所需的任何 I/O 端口或内存地址。
3.7.2. NUMA 节点
采用非一致内存访问(NUMA)架构的系统包含由处理器、内存和 I/O 总线等硬件资源集合构成的内容,这通常被称为“NUMA 节点”。处理器访问本地 NUMA 节点内的内存或 I/O 资源通常比访问本地 NUMA 节点之外的内存或 I/O 资源更快。ACPI 定义了接口,使平台能够在启动时以静态方式以及在资源被添加到系统或从系统移除时以运行时动态方式,向 OSPM 传达 NUMA 节点拓扑信息。