ACPI关于states的定义在ACPI spec 2.2至2.6
I,Globa System State Definitions
Gx states是针对整个系统的,且对用户可见。
G3 Mechanical Off
通过机械手段进入或者离开。完全不消耗电能。
也即我们常做的按power建关机。
G2/S5 Soft Off
消耗最少的电能。
G2与G3的区别在于,还有很少一部分部件保持供电,如键盘,鼠标以及唤醒部件。在G2状态下,可以通过键盘,鼠标或者其他设备唤醒系统。
G1 Sleeping
消耗较少的电能,用户线程不被执行(意味着CPU处于不工作状态),系统看起来像是被关闭了。系统上下文会被硬件和软件保存和回复。
即我们常说的sleep和hibernate。
这个状态又分为几个子状态,称为Sx states,在Sleeping State Definetion中定义。
G0 Working
消耗最大的电能,用户线程被执行和调度。外设的电源状态可以被动态调节。用户可以通过调整一些参数来满足性能或者节能的需求。系统可以实时的响应外部事件。
S4 Non-Volatile Sleep
即hibernate,将系统上下文保存到硬盘或其他非易失性存储设备中,主板电源切断。
II,Device Power State Definitions
Dx是指某一个外设所处的电源状态,对用户不可见。
D3(Off)
设备完全切断电源,设备上下文丢失,系统需要重新初始化设备(当设备重新供电时)
D3hot
D3hot state的设备可被软件枚举。D3hot state可更多的电能消耗。在该state下,设备上下文是否被保存是可选的,即被能假设设备上下文已经被保存。如果设备上下文没有被保存,则会切换到D0,并由OS重新初始化。(设备主动进入D0,还是OS切换?)
D3hot与D3的且别在于,D3hot的main power rail还在,并且软件可以访问设备。
D2
D1
D1和D2是介于D3和D0之间的中间状态,D1比D2消耗更多的电能,保存更多的设备上下文。
D1和D2是可选的,很多设备都没有实现这两个状态。
D0 (Fully-On)
消耗最高的电能。设备完全使能,设备上下文被希望连续的保存。
III, Sleeping State Definitins
如Gx state中所说,G1 state细分出几个子项,即Sleeping States。
S1 Sleeping state
S1是低唤醒延迟的状态,系统上下文不会丢失(处理器或者芯片组),硬件负责维持所有的系统上下文。
S2 Sleeping state
与S2相似,不同的是处理器和系统cache上下文会丢失(OS负责维护cache和处理器上下文)。收到唤醒时间后,从处理器的reset vector开始执行。
S3 Sleeping State
除了内存之外的所有上下文都会丢失。硬件会保存一部分处理器和L2 cache配置上下文。收到唤醒时间后,从处理器的reset vector开始执行。
S4 Sleeping State
所有的系统上下文都会丢失。内存中的内容会保存到非易失存储介质中。OS负责上下文的保存与恢复。
S5 Soft Off State
与S4相似,但OS不会保存和回复系统上下文。消耗很少的电能,可通过鼠标键盘等设备唤醒。
设置S4,S5的目的在于让BIOS知道是执行正常启动还是从硬盘中恢复内存上下文。
IV, Processor Power State Definitions
该states是G0 state下,描述处理器电能消耗和热量管理的状态。用Cx来表示。
C0 Processor Power State
正常运行模式,可执行指令。对操作系统不会有其他的影响。
C1 Processor Power State
最低唤醒延迟,以致操作系统不用考虑该延迟。对操作系统不会有其他的影响。
C2 Processor Power State
比C1节省更多的电流。由BIOS设定,操作系统根据ACPI信息判断使用C1还是C2。对操作系统不会有其他的影响。
C3 Processor Power State
操作系统负责保证cache的一致性
对该模式的描述可见另一篇专门描述Cx state的翻译文章。
V,Device and Processor Performance State Definitins
该状态是描述处理器和外设在使能/执行模式下的电能消耗和执行能力的模式。
P0 Performance State
最大功耗,最大执行能力
P1 Performance State
Pn Performance State
较低功耗,较低执行能力
阅读(7355) | 评论(0) | 转发(0) |