科普贴–电源管理的几种状态

G状态

针对系统整个平台来定义,肉眼可以识别。我们根据吃电量大小,软件是否工作,外部事件触发到工作状态的延时时间,拆机是否安全等来判断系统处于哪种状态

  • G0:工作状态,操作系统分发用户线程并执行。在此状态中,外围设备吃电量可以改变。
  • G1:显示器关闭,用户态线程不再执行。系统状态S1,S3,S4均属G1状态。返回G0状态用时比G2短。
  • G2:关机状态,硬件不会保存软件环境,需要较长时间才能返回到工作状态。此状态也称为soft off。
  • G3:也称Mechanicaloff,除RTC电开启外,再无其它电,此种状态下,我们拆机不会有短路风险

S状态

系统状态,这种状态是针对OS所定义。G状态中除了G3,其余G0,G1和G2分别有相应的状态与之相对应。
S状态的判定:可根据平台吃电量大小,系统返回工作状态的延时时间来判定。

  • S0:工作状态,和G0相同。
  • S1:CPU时钟信号被停止,CPU有较低的功耗,返回到S0的时间较短。
  • S3:即我们常说的睡眠状态。此状态下,系统环境保存在内存里面。设备带电方面:只有内存VCC保留,其余设备全部关闭。时钟方面:只有RTC时钟依然有效,其余全部关闭。
  • S4:我们常说的休眠状态。此状态下,系统环境保存在硬盘上面。设备带电方面,所有设备都没电。时钟方面,RTC时钟依然工作。
  • S5:关机状态。系统环境不再保存。返回S0时,系统要重新启动。此状态下,吃电量和S4吃电量一样。不同的是,OSPM不会把系统环境保存在硬盘上面。

C状态

C状态是G0下的CPU电源状态。分为ACTIVE和SLEEP状态。即C0,C1,C2,C3……Cn。最常用的为C0和C1。

  • C0:ACTIVE状态,此状态下,CPU执行指令。CPU PSTATE和THROTTLING功能都在此状态下被调用。
  • C1:所有的处理器必须支持这种状态。这种状态的支持是通过一个本地的处理器指令(HLT或者mwait),并且认为不需要芯片组的硬件支持,即不需要PMC的支持。这种状态的硬件延迟必须足够的低。在C1状态下,处理器可以保持系统cache里面的内容。只要系统有任何中断产生,CPU便从C1返回C0。

参考

Bios工程师手边事—ACPI电源管理