ACPI(Advanced Configuration and Power Interface)为操作系统、应用程序提供了统一的电源管理接口标准。它包括软件和硬件两个方面的规范。

主要包括以下内容:

  • 系统电源管理(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引入了类似于“抽象层”的概念,嵌入到硬件设备层与操作系统软件层之间。

硬件设备制造商将硬件的基本信息写入ACPI BIOS,比如寄存器信息、ACPI表等等。

以利于在进入操作系统之后,将控制权交给操作系统或应用程序。如下图所示(图片来自ACPI规范愿文)。

应用程序不需要知道每个硬件设备的寄存器具体细节,只要使用符合ACPI规范的语言(ASL),就能与ACPI进行沟通。再由ACPI来负责与硬件设备进行沟通和执行。

ACPI系统中,用户最常遇到的是ACPI的几种全局状态。全局状态应用于整个系统。

它主要从以下几个方面来定义:

  1. 应用软件运行吗?

  2. 对外部唤醒的响应速度如何?

  3. 电源功耗怎样?

  4. 返回工作状态是否需要重启OS?

  5. 拆解计算机安全吗?

  6. 能用电子方法进入或退出这种状态吗?

我们按照上面提到的几个方面,简要介绍ACPI的全局状态:

G3 机械关机

用机械的方法将电源完全切断,此时电源损耗为0。除Real-time Clock外(内部电池供电),没有任何硬件信息内容被保留(硬件没有供电)。此时拆解计算机是安全的。需要用机械方法接通电源才能开机,并且需要重新启动操作系统才能恢复到工作状态。

G2/S5 软件关机

一种功耗小的节能状态。没有用户模式或系统模式的程序在运行。系统当前状态信息不被保留。绝大部分硬件设备处于断电状态(少数硬件由Stand by电压供电)。功耗接近为0。在这种状态下拆解计算机是不安全的(虽然已关机,但电源处于连接状态)。返回工作状态需要重新启动操作系统,因此,需要较长的恢复时间。

G1 休眠

一种功耗小的节能状态。用户模式的程序已停止运行。部分硬件设备已关闭或进入低功耗模式。用电子方法可以快速恢复工作状态,不需要重新启动操作系统。这种状态下千万不要拆解计算机,会造成人员及机器的损坏。

G0工作状态
系统全部功能处于工作状态。用户模式、系统模式的程序都在运行。可以根据用户的需要,转为各种节能状态。

S5软件关机(同G2)

S4安全睡眠,也称STD (Suspend To Disk,或 Save To Disk)

S4是一个特殊的全局系统状态。当系统收到S4睡眠指令时,操作系统将内存中的所有系统信息打包成一个文件,保存到一个非挥发性储存媒介上(比如硬盘)。之后,系统可以进入G2或G3状态。当计算机重新开机 启动操作系统时,只要配置没有发生改变,恢复过程没有被人为中断。系统就会从NVS文件中还原并激活上次睡眠时的系统状态。这种睡眠状态比G2、G3开机进入工作状态要快,但比其它睡眠的恢复速度要慢。如果进入S4睡眠后转入G3状态,则拆解计算机也是安全的。如果是转入G2状态,则不能拆解计算机。

S3休眠。也称STR (Suspend To RAM,或 Save To RAM)

S3是一种能较快恢复工作状态的休眠状态。进入S3休眠时,操作系统将保留内存中的所有系统信息,保持内存电路的供电,关闭其它设备电源。当唤醒事件发生时,还原部分CPU及L2的配置,复位CPU引导系统恢复到休眠时的工作状态。不必重新启动操作系统。

S2休眠

从S2休眠状态恢复到工作状态所需的时间比S3快但比S1慢。这种状态下,所有应用程序停止运行;除RTC外,所有系统时钟停止运行;所有硬件设备保留当前状态信息停止工作。动态内存进入自刷新或休眠刷新状态。停止给CPU及Cache供电,但不停止其它硬件设备的供电。这种休眠状态较少被采用。

S1休眠。 也称POS (Power On Suspend 上电待机)

S1是恢复最快,功耗最大的休眠状态。这种状下,应用程序停止运行。系统时钟停止运行,所有硬件设备保留当前状态信息并停止工作。动态内存进入自刷新或休眠刷新状态。CPU也停止工作但不停止供电。唤醒时,只要Reset CPU,启动系统时钟就能恢复到休眠时的工作状态。

下面是各种全局状态特点对比表

下面是各种全局系统电源状态之间的转换示意图(图片来自ACPI规范原文)

举报/反馈

硬件技术我知道

1225获赞 1024粉丝
长期从事计算机硬件技术类工作
关注
0
0
收藏
分享