UEFI/BIOS-----关于ACPI

本文详细介绍了ACPI协议在计算机电源管理和系统架构中的作用,涵盖了ACPI表的结构、功能、ASL语言的应用,以及S3睡眠状态的工作原理。重点展示了ACPI在现代操作系统中实现低功耗和快速唤醒的技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是ACPI

 高级配置和电源管理接口,APCI是一套协议标准,软硬件都需要实现以配合使用。

大致作用:ACPI在BIOS中负责管理计算机的电源状态和配置,支持系统休眠、唤醒等高级电源管理功能

APCI系统架构流程

在这里插入图片描述
 由上面的结构可知:它的规范所设计主要是由上图红框,ACPI registers组成、ACPI BIOS、ACPI Tables三部分组成。首先需要硬件支持,并提供ACPI需要使用的寄存器,然后还需要一系列的表来规定划分模块和定义接口,最后接着bios需要支持ACPI,实现并提供相应的回调。

ACPI可以实现的功能包括

1.系统电源管理(System power management)

2.设备电源管理(Device power management)

处理器电源管理(Processor power management)

3.设备和处理器性能管理(Device and processor performance management)

4.配置/即插即用(Configuration/Plug and Play)

5.系统事件(System Event)

6.电池管理(Battery management)

7.温度管理(Thermal management)

8.嵌入式控制器(Embedded Controller)

9.SMBus控制器(SMBus Controller)

ACPI定义的电源状态转化结构图

在这里插入图片描述
 G0/G1/G2/G3表示整体的状态,S1/S2/S3/S4/S5表示睡眠状态, C1/C1…/Cn和P0/P1…Px就是Pstates(EIST)和CStates,D0/D1/D2/D3表示不同的设备电源状态。G/C/S等状态,后接的数字越大,系统耗能越少。

ACPI表

 ACPI表是一组数据结构,每个结构体都有固定的表头格式,以及自己特有的格式,它们提供了有关系统硬件的信息,以便操作系统能够识别和管理硬件设备。这些表包括一些预定义的表,如DSDT(Differentiated System Description Table)、FADT(Fixed ACPI Description Table)和SSDT(Secondary System Description Table),以及其他可选的表。

  1. DSDT(Differentiated System Description Table):这是最重要的ACPI表,它描述了系统的主要硬件配置,包括主板、CPU、内存、PCI设备等。操作系统启动时会首先解析DSDT表,以获取系统硬件信息。

  2. FADT(Fixed ACPI Description Table):这是ACPI规范必需的表,它定义了ACPI系统的基本硬件特性,如电源状态、睡眠状态、唤醒设备等。FADT表用于指导操作系统如何管理系统电源。

  3. SSDT(Secondary System Description Table):这是可选的表,用于描述某些特定的硬件设备,如温度传感器、风扇控制器、专用硬件设备等。如果系统中有这些特殊设备,则会包含对应的SSDT表。

  4. MADT(Multiple APIC Description Table):这是可选表,用于描述高级可编程中断控制器(APIC)以及中断源。如果系统使用APIC,则会包含MADT表。

  5. MCFG(PCI Express Memory Mapped Configuration Space Base Address Description Table):这是可选表,用于描述PCI Express总线上的PCI Express配置空间。如果系统使用PCI Express,则会包含MCFG表。

  6. XSDT(Extended System Description Table):这是可选表,与

1164.962389] ACPI Error: Error: No handler for Region [RTCH) (0000000063e8b995) [SystenCHOS] (20210730/evregion-130) 1164.982497] ACPI Region SystemCMOS (ID=5) has no handler. (20210730/exf Idio-261) 1164.982590] 1164.982694] ACP. ror: ACPI or: Aborting method \_SB.PC00.LPCB.ECO.SNTH due to previous error (AE_NOT_EXIST) (20210730/psparse-529) borting method \_SB.PC00.LPCB.ECO._977 due to previous error (AE_NOT _EXIST) (20210730/psparse-529) 1165. 994161] 1165 ACPI No handler for Region [RTCH] (0000000063e8b995) [SystenCHOS] (20210730/evregion-130) 9942671 ACP Region SystenCHOS (ID=5) has no handler (20210730/exf 1dio-261) 1165 934955] aborting method \_SB.PCO0.LPCB.ECO.SNTM due to previous error (AE_NOT_EXIST) (20210730/psparse-529) Aborting method \_SB.PC00.LPCB.ECO._A77 due to previous error (AE_NOT EXIST) (20210730/psparse-529) No handler for Region [RTCH] (0000000063e8b995) [SystemCMOS] (20210730/evregIon-130) Region SystemCHOS (ID=5) has no handler (20210730/exf Id1o-261) Abarting method \_SB.PC00.LPCB.ECO.SNTH due to previous error (AE_NOT _EXIST) (20210730/psparse-529) Aborting method \_SB.PC00.LPCB.ECO._077 due to previous error (AE_NOT EXIST) (20210730/psparse-529) 1168 [SystemCHOS] (20210730/evregion-130) 1166. 006160] 1168.006260] 1168.0063547 1169.006043] 1169.006149] 1169.006241] 1169. Aborting method \_SB.PC00.LPCB.ECO._Q77 due to previous error (AE_NOT_EXIST) (20210730/psparse-529) No handler for Region [RTCH] (0000000063e8b995) [SystemCHOS] (20210730/evregion-130) Region SystemCHOS (ID=5) has no handler (20210730/exf1dio-261) Aborting method \_SB.PC00.LPCB.ECO.SNTH due to previous error (AE_NOT_EXIST) (20210790/psparse-529) Aborting method \_SB.PC00.LPCB.ECO._Q77 due to previous error
03-24
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值