1. ACPI寄存器模型概述
ACPI(Advanced Configuration and Power Interface)寄存器模型是操作系统电源管理(OSPM)与硬件交互的核心机制。作为现代计算机系统中电源管理的基石,ACPI寄存器模型定义了硬件与操作系统之间的标准接口,使操作系统能够统一管理不同厂商的硬件设备。
在ACPI架构中,寄存器主要分布在六个地址空间:
- 系统输入输出(System I/O)
- 系统存储器(System Memory)
- PCI配置空间(PCI Configuration)
- 系统管理总线(SMBus)
- 嵌入式控制器(Embedded Controller)
- 功能固定硬件(Functional Fixed Hardware)
这些寄存器可分为两大类:
- 固定硬件寄存器:处理数量有限但至关重要的系统事件
- 通用硬件寄存器:灵活处理大量平台特定事件
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. ACPI寄存器架构详解
2.1 寄存器块与分组机制
ACPI采用寄存器块(Register Block)的概念组织硬件资源。系统在启动时通过FADT(Fixed ACPI Description Table)提供指向不同寄存器块的指针列表。每个寄存器块包含特定类型的寄存器,如状态寄存器、使能寄存器或控制寄存器。
寄存器分组(Register Grouping)是ACPI的重要设计,它将两个寄存器块组合成一个逻辑单元:
- 读取操作:OSPM先读取"A"寄存器块,再读取"B"寄存器块,最后对结果进行逻辑"或"运算
- 写入操作:OSPM将相同值同时写入"A"和"B"寄存器块
这种设计允许硬件厂商将寄存器分布在不同的芯片上,同时为操作系统提供统一的编程接口。
2.2 寄存器类型与功能
ACPI定义了三种基本寄存器类型:
-
状态寄存器(Status Register):
- 记录硬件事件的发生
- 通常通过写入"1"来清除状态位
- 示例:PM1_STS、GPE_STS
-
使能寄存器(Enable Register):
- 控制是否允许特定事件触发系统中断(SCI)
- 与状态寄存器配对使用
- 示例:PM1_EN、GPE_EN
-
**控
