我所认识的ACPI(1)

什么是ACPI?

ACPI的全称是Advanced Configuration and PowerInterface。它是由早期的APM发展和改进起来的,其主要作用是为操作系统提供一套标准的电源管理接口。

ACPI关键概念:

经常听起别人谈到什么Gx State, Cx State, Sx State的, 听得我不知所云,后来看了ACPI的spec后,才有所了解, 先把图搞下来:

我所认识的ACPI(1)_第1张图片

  1. Power Management State(电源管理状态)

为了方便电源管理,ACPI Specification 中定义了四种关键的电源管理状态:

  •  Global State (Gx State) 全局态,这个属于是top-level 的状态
    • G0 --Working State 工作态(S0)
    • G1 --Sleeping State 睡眠态(S1-S4)
    • G2 --Soft-off State  (S5)
    • G3 --Mechanical -off  State
  • System Sleeping State(Sx)  系统睡眠态, S1-S4主要是由恢复到运行态的时间来区分的
    • S0 --对应G0,运行态
    • S1 --系统时钟停止,处理器停止
    • S2 --系统 Cache清除,处理器停止
    • S3 --Suspend to RAM
    • S4 --Suspend to Disk
    • S5 --Soft-off
  • CPU Power State(Cx)
    • C0 -- 工作态,全速运行
    • C1 -- CPU停止工作
    • C2 -- 低功耗,高延时
    • C3 -- 更低功耗,更高延时
  • Device State(Dx)
    • D0 -- Full Power 全速
    • D1 -- 中间态
    • D2 -- 比D1能耗低,延时高
    • D3 -- Off
  1. ASL & AML Language

ASL是一种解释性的语言,由它可以编译成支持ACPI的OS认识的AML语言。

  1. ACPI Control Method (ACPI控制方法)

类似于C语言中的函数,AML的函数叫做Method. 跟据ACPI的规范,BIOS提供了一些标准的Method给OS调用。例如_PTS, _WAK等等。


你可能感兴趣的:(c,工作,cache,OS,语言)