zmw_831110 发表于 2009-4-27 18:45

[转帖]PC功耗管理详细指南(顺带rmclock这个软件)

http://www.beareyes.com.cn/2/lib/200707/19/20070719174_0.htm
   
近几年,个人计算机的运行速度有了质的飞跃,但是功耗却没能与时俱进,着实让人觉得遗憾不少…… (4969 字)   






   
简介
   

近几年,个人计算机的运行速度有了质的飞跃,但是功耗却没能与时俱进,着实让人觉得遗憾不少。例如这样一台为游戏玩家配备的电脑:四核心处理器、两块nVidia GeFore 8800 Ultra、4条DDR2内存、几块硬盘,你估计功耗会是多少?就算什么也不干,功耗也下不了200W!不管是为了省银子,还是为了环保,降低能耗已然成为我们必须考虑的问题啦。
    1992年1月,微软(Microsoft)与英特尔(Intel)共同制定了电脑电源管理规格:高级电源管理(AdvancedPower Management,APM)。1996年12月,APM的继任者AdvancedConfiguration and Power Interface(ACPI)在微软、康柏、英特尔、东芝、Phoenix的努力下诞生,这也是行业开放标准的电源管理界面。那么APM与ACPI有什么不同?
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_1.jpg
    ·执行成本低,但效果不明显
      ·应用程序和驱动直接控制了APM驱动
      ·各个配件的功耗由相应的驱动来管理
      ·CPU等硬件的功耗由APM BIOS来管理
      ·电源管理状态比较简单,由APM来管理
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_2.jpg
    ·执行成本偏高,但比较有效
      ·应用程序不负责功耗管理
      ·配件通过ACPI界面来管理功耗
      ·ACPI更抽象,因此要把操作系统和硬件分开管理
      ·电源管理状态更复杂,因此由操作系统来处理。
   
ACPI电源管理状态
   

今天,我们就好好说说已经被广泛使用的ACPI电源管理标准。

以下是ACPI规格的具体电源管理状态,稍后我们详细介绍一下各个状态:

全局状态(Globalsystem states)
      ·用户可见
      ·分4个状态:G0, G1, G2, G3

睡眠状态(Sleepingstates)
      ·全局状态G1(不含S5)的睡眠状态
      ·分5个状态:S1,S2,S3,S4,S5

设备电源状态(DevicePower states)
      ·用户不可见
      ·只要有一个配置显示为“on”(启动)状态,另一个则显示为“off”(关闭)状态
      ·分4个状态:D0,D1,D2,D3
    CPU电源状态(CPU Power states)
      ·也叫做CPU睡眠状态
      ·在全局状态G0中
      ·分5个状态:C0,C1,C2,C3,C4
      ·将来会有C6状态(Penryn)
    CPU/设备性能状态(CPU / Device Performance states)
      ·电压和时钟频率由工作量决定
      ·P-state状态总量符合CUP/设备规格
      ·例如,CPU倍频越高,P-states就越高
    CPU温度监控(CPU Thermal Monitor)
      ·当CPU温度超过极限时,监控系统会降低CPU的性能
      ·在TM1中,功过改变周期来降低CPU性能
      ·在TM2种,通过改变时钟频率和核心电压(P-state)来降低CPU性能
   
全局状态(G-States)
   
    G0工作状态
      ·在这一状态下可运行应用程序
      ·整个计算机系统都可以运行,但外设、CPU都可动态改变各自的功耗。例如,在听音乐的时候就会把显示器关闭
      ·笔记本电脑在运行最大化节电模式时,CPU会在某一时间内
      ·是所有G状态下功耗最高的
      ·例如:如果只是上网或者聊天,CPU将以最低的时钟频率运行,同时关闭CD-ROM光驱等,以达到节电的目的。
    G1睡眠状态
      ·在G1状态下无法运行应用程序。计算机呈“关闭”状态。
      ·不用重新启动,操作系统会切换到正常状态(G0)。
      ·计算机的大部分内容都会保存在RAM内存或硬盘中。
      ·唤醒延迟(从G1切换到G0)有很多种,这取决于G1状态下的S-State选择。
      ·功耗很小,可能降低至几瓦(由S-State决定)。
      ·例如:在Windows XP系统中会切换到“待机”或“休眠”模式。
    G2软关机状态
      ·不可运行应用程序和操作系统(保留在G2状态中)。
      ·除了主要的电源供电单元,基本上会关闭整个系统。
      ·功耗约等于零
      ·需重启系统,唤醒延迟时间比较长
      ·例如,在Windows XP系统中选择“关闭计算机”,但总电源并没有关闭。
    G3机械性关机
      ·通过切断总电源来彻底关闭计算机
      ·使用笔记本电源,只有实时时钟频率
      ·不考虑电池,功耗为零
      ·切换到工作状态的时间比较长

全局状态概要               
全局状态       
运行程序       
唤醒延迟       
功耗       
重启系统       
G0       
可以       
不可以       
中到大       
不需       
G1       
不可以       
短至中       
小       
不需       
G2       
不可以       
长时间       
接近零       
需要       
G3       
不可以       
最长时间       
仅有电池       
需要   
   
睡眠状态(S-States)
   
    1. CPU不执行指令(彻底睡过去了,嘿嘿)
      2. 不执行应用程序(睡着了嘛)
      3. 部分配件处于睡眠状态,方便唤醒
      4. 系统被唤醒后,计算机会继续执行
    S1状态
      ·CPU输入频率被终止,缓存无效
      ·系统内存进入“Self-refreshing(自我更新)”模式
      ·除实时频率外,所有系统频率被关闭
      ·功耗比G0工作状态下更低
      ·一般需2秒切换到G0工作状态
      ·例如:如果不支持S3状态,就在Windows XP系统下进入“待机”模式
    S2状态
      ·与S1状态相似——除了CPU功耗状态
      ·在S2中,CPU和缓存被关闭
      ·S2状态中的唤醒延迟比S1长,但更省电
    S3状态
      ·除了RAM,CPU、缓存、芯片组、外设均被关闭
      ·需要调用内存的设备仍然运行
      ·RAM转入低功耗、自我更新模式
      ·只有RAM与板载配置的功耗
      ·唤醒延迟为5-6秒
      ·例如:如果硬件支持S3状态,在Windows XP系统中进入“待机”模式
    S4状态
      ·包括RAM在内的所有部件均被关闭
      ·只保留平台设置,其他部分设置被保存在硬盘的特殊位置中
      ·成功切换至S4平台后,系统会关闭
      ·因为几乎所有的程序和配置都已经停止运行,因此功耗<3W
      ·唤醒计算机时需要再次进入“BIOS BootSequence”
      ·不需重启系统,计算机会继续执行
      ·例如:在Windows XP系统下的“睡眠”模式

睡眠状态概要                     
睡眠状态       
唤醒延迟       
功耗       
BIOS重启       
系统重启       
CPU       
缓存       
芯片组       
RAM       
S0(GO)       
无       
大       
不需       
不需       
开启       
开启       
开启       
开启       
S1(G1)       
2-3秒       
中       
不需       
不需       
无频率       
无效       
无频率       
自动更新       
S2(G1)       
3-4秒       
中至低       
不需       
不需       
关闭       
关闭       
无频率       
自动更新       
S3(G1)       
5-6秒       
低       
不需       
不需       
关闭       
关闭       
关闭       
低功耗       
S4(G1)       
20-30秒       
非常低       
需要       
需要       
关闭       
关闭       
关闭       
自动更新       
S5(G2)       
> 30秒       
接近零       
需要       
需要       
关闭       
关闭       
关闭       
关闭   
   
设备状态(D-States)
   

它是出现在全局系统G0工作状态。
    D0状态
      ·在此状态下,计算机在全功耗和全功能下运行
      ·例如:可以使用DVD-ROM光驱
    D1状态
      ·功耗比D0状态下低
      ·例如:在不使用的情况下会自动关闭DVD-ROM光驱,但驱动仍在运行
    D2状态
      ·与D1相似,但电压更低
      ·在此状态下更节能,不过从D2状态唤醒的时间更长
    nD3状态
      ·此状态下,所有设备均被关闭
      ·可最大限度节能
      ·唤醒时间是所有D状态下最慢的
    D状态实例

例1:硬盘驱动功耗管理               
设备状态       
功耗       
唤醒延迟       
驱动监控       
驱动控制器       
界面内容       
D0       
100%       
0       
开启       
功能性       
保存       
D1       
80%       
5秒       
关闭       
功能性       
保存       
D2       
待定       
待定       
待定       
待定       
待定       
D3       
10%       
6-7秒       
关闭       
非功能性       
不保存   

例2:显卡功耗管理               
设备状态       
唤醒延迟       
显示器       
DPMS       
控制内容       
内存内容       
D0       
0       
开启       
开启       
保存       
保存       
D1       
1秒       
关闭       
关闭       
保存       
保存       
D2       
5秒       
关闭       
开启       
丢失       
丢失       
D3       
>6秒       
关闭       
关闭       
丢失       
丢失   

备注:显示器电源管理(DPMS,Display Power Management Signal)标准由频电子标准协会(Video Electronics Standards Association, VESA)制定。
   
CPU电源状态(C-States)
   

一 般用户很少注意到这个状态,通常只会在使用CPU-Z来监控时钟频率和电压时才会留意到它。移动处理器的C状态比台式机的多。例如,Core 2 Duo处理器(Meron)会支持C0-C4状态,然后桌面型Core 2 Duo处理(Conroe)仅支持C1-C0状态。
    C0状态(激活)
      ·这是CPU最大工作状态,在此状态下可以接收指令和处理数据
      ·所有现代处理器必须支持这一功耗状态
    C1状态(挂起)
      ·可以通过执行汇编指令“HLT(挂起)”进入这一状态
      ·唤醒时间超快!(快到只需10纳秒!)
      ·可以节省70%的CPU功耗
      ·所有现代处理器都必须支持这一功耗状态
    C2状态(停止允许)
      ·处理器时钟频率和I/O缓冲被停止
      ·换言之,处理器执行引擎和I/0缓冲已经没有时钟频率
      ·在C2状态下也可以节约70%的CPU和平台能耗
      ·从C2切换到C0状态需要100纳秒以上
    C3状态(深度睡眠)
      ·总线频率和PLL均被锁定
      ·在多核心系统下,缓存无效
      ·在单核心系统下,内存被关闭,但缓存仍有效
      ·可以节省70%的CPU功耗,但平台功耗比C2状态下大一些
      ·唤醒时间需要50微妙
    C4状态(更深度睡眠)
      ·与C3相似,但有两大区别
      ·一是核心电压低于1.0V
      ·二是二级缓存内的数据存储将有所减少
      ·可以节约98%的CPU最大功耗
      ·唤醒时间比较慢,但不超过1秒
    C5状态
      ·二级缓存的数据被减为零
      ·唤醒时间超过200微妙
    C6状态
      ·这是Penryn处理器中新增的功耗管理模式
      ·二级缓存减至零后,CPU的核心电压更低
      ·不保存CPU context
      ·功耗未知,应该接近零
      ·唤醒时间未知
   
多核心处理器的C状态(C-States)
   

在多状态每一个核心都会有一个多重C状态,但每一次都只能有一个C状态。假设处理器C状态是Cx,核心C状态是CCx,那么决定处理器C状态的公式是:
    Cx = max (CCx1, CCx2, CCx3……, CCxn)

我们来看看下面的例子:
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_3.jpg
    CPU电源状态概要                        
电源状态        
执行       
唤醒时间        
CPU功耗        
平台       
核心电压       
缓存收缩       
内容丢失       
C0       
是       
0       
大        
正常       
正常       
否       
否       
C1       
否       
10ns       
30%       
正常       
正常       
否       
否       
C2       
否       
100ns       
30%       
无I/O缓冲       
正常       
否       
否       
C3       
否       
50000ns       
30%       
I/O,无监控       
正常       
否       
否       
C4       
否       
160000ns       
2%       
I/0,无监控       
C4_VID       
是       
否       
C5       
否       
200000ns       
待定       
待定       
C4_VID       
L2=0KB       
否       
C6       
否       
待定       
待定       
待定       
C6_VID       
L2=0KB       
是   
   
CPU/设备性能状态(P-States)
   

当CPU和设备处于执行状态时,P-States制定出电源管理状态。C0代表CPU,D0代表设备:
    P0:能耗最大,P-State最小化
      P1,P2,P3……. :P1 > P2 > P3等等
      Pn:能耗最小,P-State最大化
    P-State电源管理一般用于现代处理器和显示核心,它可以控制有效功率。

例如, NVIDIAGeForce 7300等低端显示核心只有一个P-State。NVIDIA GeForce 7900 GT等高端显示核心则至少有两个P-State:在P0状态下运行3D游戏,其频率和电压都被最大化;在P1状态下运行2D模式,频率和电压被最小化。

不过,处理器的P-State电源管理都很复杂。不同的CPU都有不同的P-State状态:
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_4.jpg

   
多核心处理器的P-States
   

每一个核心都要有一个不同的P-State,这些都取决于处理器能耗控制单元的功率。

单核心

单核心P-State与处理器P-State一样。

双核心
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_5.jpg


我们用Core 2Extreme X6800来举例说明。在Core 1中运行SuperPI,在Core 2中只能运行WinAmp。Core1可以在最高工作状态(P0)下运行,而Core 2就要在最低工作状态(P5)下运行。

因为Core 2Extreme只有一个PLL(时钟来源)和一个Vcore(电压源),最后的主频是2.93GHz,电压源是1.2875V。而AMD Athlon 64 X2 处理器也是只有一个PLL和一个电压源,游戏运行时的效果与Core 2 Extreme X6800差不多。

四核心(Intel)
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_6.jpg

    Kentsfield处理器是由两个Conroe芯片组成,每一面都有一个芯片。以Core 2 Extreme X6800为例,我们来看看倍频和电压:

从上表可以看出,Cores1&2的频率是2.67GHz,Cores3&4的频率是2.3GHz。所有的核心都有一个相同的电压源(1.2875V)。                   
P-States       
倍频       
主频       
电压       
加载       
P0       
10x       
2.67GHz       
1.2875V       
71-80%       
P1       
9x       
2.40GHz       
1.2500V       
51-70%       
P2       
8x       
2.13GHz       
1.2250V       
31-50%       
P3       
7x       
1.87GHz       
1.2000V       
11-30%       
P4       
6x       
1.60GHz       
1.1750V       
0-10%   

四核心(AMD)
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_7.jpg

    AMD下一代四核心处理器Barcelona采用了更为先进的P-State管理技术,与目前的处理器相比,Barcelona有更多的优势。Barcelona处理有三条电源供电电路——一条用于处理CPU核心(4个核心共享一个供电电路),一条为北桥核心供电(含IMC和缓存),一条为输入/输出供电。
   
P-State状态的其他的特点
   

超低频率模式

只 能在移动酷睿2处理器(Merom核心)中使用。在正常低频率模式中,Intel支持的最小倍频是6x。前端总线的频率是200MHz,CPU最大频率是 1.2GHz。另外,新的PLL设计不太理想,因此Intel要把FSB频率降低至100MHz。这就迫使CPU必须在600MHz下运行,且核心电压要 低于正常低频率模式。因为芯片组不支持,所以桌面型Conroe核心处理器不能使用这一模式。
    CPU温度监控

温度监控的主要目的是在CPU温度过高时降低功耗。在游戏进行到一半的时候,CPU风扇突然不转了,Pentium 4处理器虽然不会烧起来,但绝对会大大影响游戏的进程。基本上有两种降温的方法——一种是靠处理器本身,一种是靠ICH芯片组。相对而言,CPU降温方法要更好更快更有效,此外,它还支持两种温度监控模式,ICH只支持一种。         
温度监控1   
(Thermal Monitor1, TM1)       
超过温度极限时,TM1将改变频率周期以降低CPU功耗。在TM1状态时,用户会觉得程序运行不稳定。   
Core1进入TM1状态时,Core2仍在正常状态下运行。       
温度监控2   
(Thermal Monitor2, TM2)       
超过温度极限时,TM2将改变时钟频率与核心电压以降低CPU功耗。所有核心都会同时切入TM2状态。程序运行平稳。只有CPU支持TM2状态。       
扩展温度监控   
(Extended Thermal Monitor, ETTM)       
在热度环境非常糟糕的情况下,TM1会突然切入TM2状态以降低CPU功耗。   
   
结论
   

其实ACPI电源管理的模式实在太多,如果你还不是很清楚的话,就看看下面这张图。
http://i408.photobucket.com/albums/pp168/zmw0510/ACPI_8.jpg

    ACPI的定义界面很不错,有很多功耗模式可供选择,执行效果也比较明显。同时在直接控制和使用硬件的同时也可以避免恶意软件的攻击。

zmw_831110 发表于 2009-4-27 18:46

为什么会想到这个呢?
关键是这个软件,看到几个名词不太懂


注册机

注册机有两个文件,一个是注册产品,一个是注册升级。

这个软件可以正确得识别CPU的VID
http://i408.photobucket.com/albums/pp168/zmw0510/E8400_E0_VID.jpg
core_temp不准

[ 本帖最后由 zmw_831110 于 2009-4-27 19:03 编辑 ]
页: [1]
查看完整版本: [转帖]PC功耗管理详细指南(顺带rmclock这个软件)