本文主要是介绍零知识学习ACPI —— 1. 初识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、什么是ACPI
1. 概念
ACPI的英文全称为Advanced Configuration and Power Interface,中文译为高级配置电源管理接口。ACPI 是一种描述硬件接口的方法,用于操作系统与计算机硬件之间的通信。它提供了一种标准化的方法来管理电源管理、热管理和配置功能。
2. 功能
ACPI的主要功能包括:
- 电源管理
ACPI允许操作系统控制计算机的电源状态,例如休眠、待机和关闭。包括:系统电源管理(System Power Management)、设备电源管理(Device Power Management)和处理器电源管理(Processor Power Management)。它还提供了一种方法来管理电源供应和电池状态(Battery Management)。
- 温度管理
ACPI可以监测和控制计算机的温度,并根据需要调整风扇的转速。它还可以降低设备的性能以防止过热。
- 配置管理
ACPI提供了一种方法来配置计算机硬件和外部设备。它可以识别和管理各种设备,包括处理器、内存、硬盘驱动器和外部接口等。
ACPI的运行时模型用于管理在系统运行期间发生的所有ACPI事件。它处理中断事件,并评估处理这些事件所需的对象。当用户启动系统时,系统固件会完成ACPI的设置、初始化和自我测试。
ACPI可以实现的功能包括:
- 系统电源管理(System power management)
- 设备电源管理(Device power management)
- 处理器电源管理(Processor power management)
- 设备和处理器性能管理(Device and processor performance management)
- 配置/即插即用(Configuration/Plug and Play)
- 系统事件(System Event)
- 电池管理(Battery management)
- 温度管理(Thermal management)
- 嵌入式控制器(Embedded Controller)
- SMBus 控制器(SMBus Controller)
二、ACPI历史
三、节电方式与六种状态
1. 节电方式
- suspend
即挂起。显示屏自动断电;只是主机通电。这时敲任意键即可恢复原来状态。
- save to ram或suspend to ram
即挂起到内存。系统把当前信息存储在内存中,只有内存等几个关键部件通电,这时计算机处在高度节电状态,按任意键后,计算机从内存中读取信息很快恢复到原来状态。
- save to disk或suspend to disk
即挂起到硬盘。计算机自动关机,关机前将当前数据存储在硬盘上,用户下次按开关键开机时计算机将无需启动系统,直接从硬盘读取数据,恢复原来状态。
2. 六种状态
分别是S0到S5,它们代表的含义分别是:
- S0
就是平常的工作状态(正常工作状态),所有设备全开,功耗一般会超过80W。
- S1
也称为POS(Power on Suspend),除了通过CPU时钟控制器将CPU关闭之外,其它的部件仍然正常工作,这时的功耗一般在30W以下(其实有些CPU降温软件就是利用这种工作原理)。
- S2
除了CPU处于停止运作状态外,总线时钟也被关闭,但其余的设备仍然运转。
- S3
这就是我们熟悉的STR(Suspend to RAM),这时的功耗不超过10W。
- S4
这就是我们熟悉的STD(Suspend to Disk),这时系统主电源关闭,硬盘存储S4前数据信息,所以S4是比S3更省电状态。
- S5
这种状态是最干脆的,就是连电源在内的所有设备全部关闭,即关机(shutdown),功耗为0。
以上几种状态中,S0和S5是平时的开关机的状态。除了这两种状态外,最常用到的是S3状态,即Suspend to RAM(挂起到内存)状态,简称STR。顾名思义,STR就是把系统进入STR前的工作状态数据都存放到内存中去。在STR状态下,电源仍然继续为内存等最必要的设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Power按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。内存的读写速度极快,因此我们感到进入和离开STR状态所花费的时间不过是几秒钟而已;而S4状态,即STD(挂起到硬盘)与STR的原理是完全一样的,只不过数据是保存在硬盘中。由于硬盘的读写速度比内存要慢得多,因此用起来也就没有STR那么快了。STD的优点是只通过软件就能实现,比如Windows 2000就能在不支持STR的硬件上实现STD。
四、常见问题
1. 电脑长眠
这主要是硬件对ACPI支持得不好。这时首先应该翻阅主板和其它硬件的说明书,看看它们是不是完全支持ACPI。也有的时候在BIOS中设置使用显卡的USWC(Uncacheable Speculative Write Combining)模式会有这样的情况,改回到UC(Uncacheable)模式就可以解决问题。
2. 模式失效
STD是一种省电的高级应用,全称为“Suspend To Disk”(STD就是休眠至硬盘功能,将当前系统状态保存到硬盘后,硬盘随即停止转动,系统进入低功耗状态当再开机时系统会跳过自检,直接从硬盘恢复原来的系统状态,而不是正常系统的默认状态,从而缩短了开机时间),这种模式由于硬盘文件格式的兼容性可能会出现问题,刷新BIOS就可以解决问题。
五、相关术语
- ACPI硬件(ACPI Hardware)
- ACPI命名空间(ACPI Namespace)
- ACPI机器语言(ACPI Machine Language,AML)
- 高级可编程中断控制器(Advanced Programmable Interrupt Controller,APIC)
- ACPI源语言(ACPI Source Language,ASL)
- 控制方法(Control Method)
- 差分系统描述表(Differentiated System Description Table,DSDT)
- 可扩展固件接口(Extensible Firmware Interface,EFI)
这篇关于零知识学习ACPI —— 1. 初识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!