高级配置与电源接口 http://zh.wikipedia.org/zh-cn/%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE%E4%B8%8E%E7%94%B5%E6%BA%90%E6%8E%A5%E5%8F%A3 全局状态(Global System States) ACPI规范定义了一台兼容ACPI的计算机系统可以有以下七个状态(所谓的全局状态)
高级配置与电源接口
http://zh.wikipedia.org/zh-cn/%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE%E4%B8%8E%E7%94%B5%E6%BA%90%E6%8E%A5%E5%8F%A3
全局状态(Global System States)
ACPI
规范定义了一台兼容ACPI的计算机
系统可以有以下七个状态(所谓的全局状态):
-
'G0
(S0
)正常工作状态
:计算机的正常工作状态-操作系统和应用程序都在运行。CPU
(s)执行指令。
在这个状态下(即没有进入G1睡眠
),CPU
和像硬盘、DVD驱动器等等这些的设备可以一再的进入和从低能源状态回来,叫做C0
-C
n
和D0
-D3
。(例如膝上型计算机
,当使用电池运行的时候通常关掉所有当前未使用的设备;一些桌面型计算机
也这么做来减少噪声。)
- G1
睡眠
细分为从S1到S4这四种状态。系统从这几种状态被唤醒到G0运行
(唤醒等待
时间)所需的时间最短的是S1,较短的是S2和S3,不太短的是S4。
- S1
:最耗电的睡眠模式。处理器的所有寄存器
被刷新,并且CPU
停止执行指令。CPU
和内存
的电源一直维持着,一些设备如果没有被使用那么就会被停止供电。这种模式通常指上电待机
或者简单叫做POS
,特别在BIOS
设置界面上。一些新式的计算机不再支持S1;老式的电脑对S1支持可能要比S3好。
- S2
:一个比S1更深的睡眠状态,不过已经不给CPU
供电了;然而,通常这种模式并不被采用。
- S3
:在BIOS中叫做"挂到内存
" (Suspend
to RAM/STR),在Windows
XP
以后的Windows
版本和一些Linux
发行版中叫做"待机
(Standby)",
在Windows
Vista
和Mac OS
X
则叫做"睡眠(Sleep)",虽然ACPI规范仅仅提到术语"S3"和"睡眠(Sleep)"。在这个状态下,主存储器(RAM
)仍然有电源供给,尽管它也是几乎唯一的有电源供给的原件。因为操作系统
、所有应用程序和被打开的文档等等的状态都是保存在主存储器中,用户可以把工作恢复到正好上次他们保持的状态-计算机从S3状态回来时主存储器的内容和它进入S3状态时候的内容是相同象的。(规范中提到了S3和S2是相当类似的,只有更多的组件在S3状态下会被关掉电源。)
相比较S4来说S3有两个好处;计算机恢复的过程比重启要快,第二,如果任何正在运行的应用程序(被打开的文档等等)有私有信息在里面,这些信息是不会被写到硬盘上的。然而,在系统不能被唤醒比如遇到了电源故障的时候,
高速缓冲存储器
可能会被flushed来防止数据毁坏。
- S4
: 在Windows
中叫休眠
,
在Mac OS
X
中叫作安全睡眠
,也称为挂到硬盘
,虽然ACPI规范中只提到了一个术语S4
(main
article:Hibernate(OS
feature)
)。在这个状态下,所有主存储器
的内容被储存在非挥发性存储器,例如硬盘
,保护操作系统当前的状态,包括所有应用程序,打开的文档等.这意味着从S4恢复后,用户可以恢复到原本的工作状态,采用的方法和S3是一样的。S4和S3之间的差异是,除了把主存储器中的内容移进移出所消耗的时间以外,在S3状态下的时候如果一旦停电了,所有主存储器上的数据就会丢失,包括所有的没有保存的文档,而在S4状态下则没有影响.S4和其他的S
状态有很大不同,事实上更类似G2Soft
Off
状态和G3 Mechanical
Off
状态,而不是S1-S3.在S4状态下的系统同样可进入G3(Mechanical
Off
)状态,并且保留S4时候的状态信息.所以它可以恢复到以前的运行状态在关掉电源之后.
- G2
(S5
)Soft
Off
--G2
,S5
,和Soft
Off
都是相同的叫法。G2和G3Mechanical
Off
几乎是相同的,但有些部件仍然带电,使计算机仍然可以被键盘、时钟、modem
(电话唤醒)、LAN
(网络唤醒)还有USB
设备所唤醒。[1]
在启动系统从G2恢复到G0正常工作
模式的过程中,无论是G3
Mechanical Off
还是G2都得运行启动程序
来启动操作系统。
此外,当操作系统在不支持ACPI的情况下运行,这种状态被定义为Legacy
。在这个状态下,硬件和电源不是通过ACPI来管理的,实际上已经禁用了ACPI。
(参考资料:ACPI规范3.0b版的链接在下面
External links
, 查看chapter 7.3.4)
[编辑
]
设备电源状态(Device Power State)
设备状态对于用户来说往往是不可见的,比如当一个设备已经没有电源供应的时候,可能整个系统还是在工作状态,光驱
应该是一个很好的例子吧。
设备状态是与设备相关的状态,他们的定义和以下四个因素有关:
电源消耗
(Power consumption),设备用电量的多少。
设备状态/环境
(Device
context),设备(从D0进入其他状态的时候)保留了多少原来的状态/环境。操作系统负责保存丢失的设备状态/环境。
设备驱动
(Device driver),让设备恢复到D0,驱动程序
应该做什么(或者做多少)。
设备状态有一下几个:
- D0 Fully-On
是(正常)工作
状态,电源
消耗量最多,设备是完全被相应的,并且设备保留了全部的设备状态/环境。
- D1 和 D2是中间电源状态,它的定义根据设备的不同而有所不同。
- D3 Off
是设备电源关闭所以对总线来说是没有相应的。设备状态/环境
全部丢失,操作系统
会重新初始化设备当重新给它加电的时候。这个状态下的设备恢复到D0相比之下需要最长的时间。
设备状态总结
设备状态 |
电源消耗 |
保留设备状态信息 |
驱动程序恢复 |
---|
D1 |
D0>D1>D2>D3 |
>D2 |
|
D2 |
D0>D1>D2>D3 |
>D1 |
|
D3 - Off |
0 |
没有保留 |
完全初始化
并且装载 |
[编辑
]
处理器电源状态(Processor Power State)
处理器电源状态(C0到C3状态,后面还有Cn)是指在G0状态下(只对G0状态有效,在其他状态下不予讨论)的处理器电能消耗和温度管理的状态。
只有C0状态下CPU才会执行指令,C1到Cn状态下CPU都处于各种不同程度的睡眠状态(Sleeping
States
),在这睡眠状态下,CPU都有一个恢复到C0的唤醒时间
(latency
),它是和CPU的电能消耗有关的,通常,用电能量越小意味着得花更长的时间恢复到C0状态,也就是唤醒时间越长。
当在C0状态下时,ACPI允许通过定义节流阀(throttling
)过程,和通过进去多性能状态(multiple
performance states,P-states)来改变处理器的性能。
各个状态的定义如下所示:
- C0是正常工作状态,当处理器
处于这种状态下的时候,它能正常处理指令
。
-
C1(通常称为Halt
)拥有最短的唤醒时间,这个延时必须短到操作系统软件使用CPU的时候不会考虑到唤醒时间方面的因素。一些处理器,比如说奔腾4
(Pentium
4
),支持C1E
(Enhanced
C1 state)这样的低电能消耗技术。
这个状态是不被软件所见的。
- C2 (通常称为Stop-Clock
),这个状态下处理器
维持着所有的软件所见的状态信息,但是需要更长的时间来恢复到C0。这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供,并且操作系统
软件可以利用这些信息来决定是采用C1而不是C2状态,C2比C1更省电。
- C3
(通常称为Sleep
),相比C1和C2更省电了。这个状态下情况最坏的硬件唤醒时间是由ACPI固件提供,并且操作系统软件可以利用这些信息来决定是采用C2而不是C3状态,当处于C3状态时,处理器缓存
保留了所有的状态信息,但是忽略所有的侦听
。操作系统软件负责保证缓存数据的一致性。
[编辑
]
设备和处理器性能状态(Device and Processor Performance States)
设备和处理器性能状态(Px状态)是在C0(对于处理器)和D0(对于设备)下定义的电源消耗和能力的状态。性能状态允许OSPM
在性能和能源消耗之间取得平衡。P0是坐高性能状态,从P1到Pn
是连续的低性能状态,最高限制n
为16。
- P0状态,使用最大性能并且消耗的电能最多。
- P1状态,性能比前者要小,但是消耗电能也相应少一些。
- Pn状态,n是的大小是依赖于处理器和设备的,处理器和设备可以定一个任意的不超过16的数字。
这个状态在Intel处理器中称为SpeedStep
,在AMD
处理器中称为PowerNow!
或Cool'n'Quiet
,在VIA
处理器中称为PowerSaver
。