首页 > 代码库 > CPU工作状态的知识介绍
CPU工作状态的知识介绍
转自:http://www.bbwxbbs.com/forum.php?mod=viewthread&tid=2552
近几年,个人计算机的运行速度有了质的飞跃,但是功耗却没能与时俱进,着实让人觉得遗憾不少。例如这样一台为游戏玩家配备的电脑:四核心处理器、两块nVidia GeFore8800 Ultra、4条DDR2内存、几块硬盘,你估计功耗会是多少?就算什么也不干,功耗也下不了200W!不管是为了省银子,还是为了环保,降低能耗已然成为我们必须考虑的问题啦。
1992年1月,微软(Microsoft)与英特尔(Intel)共同制定了电脑电源管理规格:高级电源管理(Advanced Power Management,APM)。1996年12月,APM的继任者Advanced Configuration and Power Interface(ACPI)在微软、康柏、英特尔、东芝、Phoenix的努力下诞生,这也是行业开放标准的电源管理界面。那么APM与ACPI有什么不同?
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image001.jpg
·执行成本低,但效果不明显
·应用程序和驱动直接控制了APM驱动
·各个配件的功耗由相应的驱动来管理
·CPU等硬件的功耗由APM BIOS来管理
·电源管理状态比较简单,由APM来管理
·应用程序和驱动直接控制了APM驱动
·各个配件的功耗由相应的驱动来管理
·CPU等硬件的功耗由APM BIOS来管理
·电源管理状态比较简单,由APM来管理
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image002.jpg
·执行成本偏高,但比较有效
·应用程序不负责功耗管理
·配件通过ACPI界面来管理功耗
·ACPI更抽象,因此要把操作系统和硬件分开管理
·电源管理状态更复杂,因此由操作系统来处理。
·应用程序不负责功耗管理
·配件通过ACPI界面来管理功耗
·ACPI更抽象,因此要把操作系统和硬件分开管理
·电源管理状态更复杂,因此由操作系统来处理。
ACPI电源管理状态 |
今天,我们就好好说说已经被广泛使用的ACPI电源管理标准。
以下是ACPI规格的具体电源管理状态,稍后我们详细介绍一下各个状态:
全局状态(Global system states)
·用户可见
·分4个状态:G0, G1, G2, G3
·用户可见
·分4个状态:G0, G1, G2, G3
睡眠状态(Sleeping states)
·全局状态G1(不含S5)的睡眠状态
·分5个状态:S1,S2,S3,S4,S5
·全局状态G1(不含S5)的睡眠状态
·分5个状态:S1,S2,S3,S4,S5
设备电源状态(Device Power states)
·用户不可见
·只要有一个配置显示为“on”(启动)状态,另一个则显示为“off”(关闭)状态
·分4个状态:D0,D1,D2,D3
·用户不可见
·只要有一个配置显示为“on”(启动)状态,另一个则显示为“off”(关闭)状态
·分4个状态:D0,D1,D2,D3
CPU电源状态(CPU Power states)
·也叫做CPU睡眠状态
·在全局状态G0中
·分5个状态:C0,C1,C2,C3,C4
·将来会有C6状态(Penryn)
·也叫做CPU睡眠状态
·在全局状态G0中
·分5个状态:C0,C1,C2,C3,C4
·将来会有C6状态(Penryn)
CPU/设备性能状态(CPU / Device Performance states)
·电压和时钟频率由工作量决定
·P-state状态总量符合CUP/设备规格
·例如,CPU倍频越高,P-states就越高
·电压和时钟频率由工作量决定
·P-state状态总量符合CUP/设备规格
·例如,CPU倍频越高,P-states就越高
CPU温度监控(CPU Thermal Monitor)
·当CPU温度超过极限时,监控系统会降低CPU的性能
·在TM1中,功过改变周期来降低CPU性能
·在TM2种,通过改变时钟频率和核心电压(P-state)来降低CPU性能
·当CPU温度超过极限时,监控系统会降低CPU的性能
·在TM1中,功过改变周期来降低CPU性能
·在TM2种,通过改变时钟频率和核心电压(P-state)来降低CPU性能
全局状态(G-States) |
G0工作状态
·在这一状态下可运行应用程序
·整个计算机系统都可以运行,但外设、CPU都可动态改变各自的功耗。例如,在听音乐的时候就会把显示器关闭
·笔记本电脑在运行最大化节电模式时,CPU会在某一时间内
·是所有G状态下功耗最高的
·例如:如果只是上网或者聊天,CPU将以最低的时钟频率运行,同时关闭CD-ROM光驱等,以达到节电的目的。
·在这一状态下可运行应用程序
·整个计算机系统都可以运行,但外设、CPU都可动态改变各自的功耗。例如,在听音乐的时候就会把显示器关闭
·笔记本电脑在运行最大化节电模式时,CPU会在某一时间内
·是所有G状态下功耗最高的
·例如:如果只是上网或者聊天,CPU将以最低的时钟频率运行,同时关闭CD-ROM光驱等,以达到节电的目的。
G1睡眠状态
·在G1状态下无法运行应用程序。计算机呈“关闭”状态。
·不用重新启动,操作系统会切换到正常状态(G0)。
·计算机的大部分内容都会保存在RAM内存或硬盘中。
·唤醒延迟(从G1切换到G0)有很多种,这取决于G1状态下的S-State选择。
·功耗很小,可能降低至几瓦(由S-State决定)。
·例如:在Windows XP系统中会切换到“待机”或“休眠”模式。
·在G1状态下无法运行应用程序。计算机呈“关闭”状态。
·不用重新启动,操作系统会切换到正常状态(G0)。
·计算机的大部分内容都会保存在RAM内存或硬盘中。
·唤醒延迟(从G1切换到G0)有很多种,这取决于G1状态下的S-State选择。
·功耗很小,可能降低至几瓦(由S-State决定)。
·例如:在Windows XP系统中会切换到“待机”或“休眠”模式。
G2软关机状态
·不可运行应用程序和操作系统(保留在G2状态中)。
·除了主要的电源供电单元,基本上会关闭整个系统。
·功耗约等于零
·需重启系统,唤醒延迟时间比较长
·例如,在Windows XP系统中选择“关闭计算机”,但总电源并没有关闭。
·不可运行应用程序和操作系统(保留在G2状态中)。
·除了主要的电源供电单元,基本上会关闭整个系统。
·功耗约等于零
·需重启系统,唤醒延迟时间比较长
·例如,在Windows XP系统中选择“关闭计算机”,但总电源并没有关闭。
G3机械性关机
·通过切断总电源来彻底关闭计算机
·使用笔记本电源,只有实时时钟频率
·不考虑电池,功耗为零
·切换到工作状态的时间比较长
·通过切断总电源来彻底关闭计算机
·使用笔记本电源,只有实时时钟频率
·不考虑电池,功耗为零
·切换到工作状态的时间比较长
全局状态概要
全局状态 | 运行程序 | 唤醒延迟 | 功耗 | 重启系统 |
G0 | 可以 | 不可以 | 中到大 | 不需 |
G1 | 不可以 | 短至中 | 小 | 不需 |
G2 | 不可以 | 长时间 | 接近零 | 需要 |
G3 | 不可以 | 最长时间 | 仅有电池 | 需要 |
睡眠状态(S-States) |
1. CPU不执行指令(彻底睡过去了,嘿嘿)
2. 不执行应用程序(睡着了嘛)
3. 部分配件处于睡眠状态,方便唤醒
4. 系统被唤醒后,计算机会继续执行
2. 不执行应用程序(睡着了嘛)
3. 部分配件处于睡眠状态,方便唤醒
4. 系统被唤醒后,计算机会继续执行
S1状态
·CPU输入频率被终止,缓存无效
·系统内存进入“Self-refreshing(自我更新)”模式
·除实时频率外,所有系统频率被关闭
·功耗比G0工作状态下更低
·一般需2秒切换到G0工作状态
·例如:如果不支持S3状态,就在Windows XP系统下进入“待机”模式
·CPU输入频率被终止,缓存无效
·系统内存进入“Self-refreshing(自我更新)”模式
·除实时频率外,所有系统频率被关闭
·功耗比G0工作状态下更低
·一般需2秒切换到G0工作状态
·例如:如果不支持S3状态,就在Windows XP系统下进入“待机”模式
S2状态
·与S1状态相似——除了CPU功耗状态
·在S2中,CPU和缓存被关闭
·S2状态中的唤醒延迟比S1长,但更省电
·与S1状态相似——除了CPU功耗状态
·在S2中,CPU和缓存被关闭
·S2状态中的唤醒延迟比S1长,但更省电
S3状态
·除了RAM,CPU、缓存、芯片组、外设均被关闭
·需要调用内存的设备仍然运行
·RAM转入低功耗、自我更新模式
·只有RAM与板载配置的功耗
·唤醒延迟为5-6秒
·例如:如果硬件支持S3状态,在Windows XP系统中进入“待机”模式
·除了RAM,CPU、缓存、芯片组、外设均被关闭
·需要调用内存的设备仍然运行
·RAM转入低功耗、自我更新模式
·只有RAM与板载配置的功耗
·唤醒延迟为5-6秒
·例如:如果硬件支持S3状态,在Windows XP系统中进入“待机”模式
S4状态
·包括RAM在内的所有部件均被关闭
·只保留平台设置,其他部分设置被保存在硬盘的特殊位置中
·成功切换至S4平台后,系统会关闭
·因为几乎所有的程序和配置都已经停止运行,因此功耗<3W
·唤醒计算机时需要再次进入“BIOS Boot Sequence”
·不需重启系统,计算机会继续执行
·例如:在Windows XP系统下的“睡眠”模式
·包括RAM在内的所有部件均被关闭
·只保留平台设置,其他部分设置被保存在硬盘的特殊位置中
·成功切换至S4平台后,系统会关闭
·因为几乎所有的程序和配置都已经停止运行,因此功耗<3W
·唤醒计算机时需要再次进入“BIOS Boot Sequence”
·不需重启系统,计算机会继续执行
·例如:在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光驱
·在此状态下,计算机在全功耗和全功能下运行
·例如:可以使用DVD-ROM光驱
D1状态
·功耗比D0状态下低
·例如:在不使用的情况下会自动关闭DVD-ROM光驱,但驱动仍在运行
·功耗比D0状态下低
·例如:在不使用的情况下会自动关闭DVD-ROM光驱,但驱动仍在运行
D2状态
·与D1相似,但电压更低
·在此状态下更节能,不过从D2状态唤醒的时间更长
·与D1相似,但电压更低
·在此状态下更节能,不过从D2状态唤醒的时间更长
nD3状态
·此状态下,所有设备均被关闭
·可最大限度节能
·唤醒时间是所有D状态下最慢的
·此状态下,所有设备均被关闭
·可最大限度节能
·唤醒时间是所有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 ManagementSignal)标准由频电子标准协会(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最大工作状态,在此状态下可以接收指令和处理数据
·所有现代处理器必须支持这一功耗状态
·这是CPU最大工作状态,在此状态下可以接收指令和处理数据
·所有现代处理器必须支持这一功耗状态
C1状态(挂起)
·可以通过执行汇编指令“HLT(挂起)”进入这一状态
·唤醒时间超快!(快到只需10纳秒!)
·可以节省70%的CPU功耗
·所有现代处理器都必须支持这一功耗状态
·可以通过执行汇编指令“HLT(挂起)”进入这一状态
·唤醒时间超快!(快到只需10纳秒!)
·可以节省70%的CPU功耗
·所有现代处理器都必须支持这一功耗状态
C2状态(停止允许)
·处理器时钟频率和I/O缓冲被停止
·换言之,处理器执行引擎和I/0缓冲已经没有时钟频率
·在C2状态下也可以节约70%的CPU和平台能耗
·从C2切换到C0状态需要100纳秒以上
·处理器时钟频率和I/O缓冲被停止
·换言之,处理器执行引擎和I/0缓冲已经没有时钟频率
·在C2状态下也可以节约70%的CPU和平台能耗
·从C2切换到C0状态需要100纳秒以上
C3状态(深度睡眠)
·总线频率和PLL均被锁定
·在多核心系统下,缓存无效
·在单核心系统下,内存被关闭,但缓存仍有效
·可以节省70%的CPU功耗,但平台功耗比C2状态下大一些
·唤醒时间需要50微妙
·总线频率和PLL均被锁定
·在多核心系统下,缓存无效
·在单核心系统下,内存被关闭,但缓存仍有效
·可以节省70%的CPU功耗,但平台功耗比C2状态下大一些
·唤醒时间需要50微妙
C4状态(更深度睡眠)
·与C3相似,但有两大区别
·一是核心电压低于1.0V
·二是二级缓存内的数据存储将有所减少
·可以节约98%的CPU最大功耗
·唤醒时间比较慢,但不超过1秒
·与C3相似,但有两大区别
·一是核心电压低于1.0V
·二是二级缓存内的数据存储将有所减少
·可以节约98%的CPU最大功耗
·唤醒时间比较慢,但不超过1秒
C5状态
·二级缓存的数据被减为零
·唤醒时间超过200微妙
·二级缓存的数据被减为零
·唤醒时间超过200微妙
C6状态
·这是Penryn处理器中新增的功耗管理模式
·二级缓存减至零后,CPU的核心电压更低
·不保存CPU context
·功耗未知,应该接近零
·唤醒时间未知
·这是Penryn处理器中新增的功耗管理模式
·二级缓存减至零后,CPU的核心电压更低
·不保存CPU context
·功耗未知,应该接近零
·唤醒时间未知
多核心处理器的C状态(C-States)
在多状态每一个核心都会有一个多重C状态,但每一次都只能有一个C状态。假设处理器C状态是Cx,核心C状态是CCx,那么决定处理器C状态的公式是:
Cx =max (CCx1, CCx2, CCx3……, CCxn)
我们来看看下面的例子:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image003.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最大化
P1,P2,P3……. :P1 > P2 > P3等等
Pn:能耗最小,P-State最大化
P-State电源管理一般用于现代处理器和显示核心,它可以控制有效功率。
例如, NVIDIA GeForce 7300等低端显示核心只有一个P-State。NVIDIA GeForce7900 GT等高端显示核心则至少有两个P-State:在P0状态下运行3D游戏,其频率和电压都被最大化;在P1状态下运行2D模式,频率和电压被最小化。
不过,处理器的P-State电源管理都很复杂。不同的CPU都有不同的P-State状态:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image004.jpg
多核心处理器的P-States
每一个核心都要有一个不同的P-State,这些都取决于处理器能耗控制单元的功率。
单核心
单核心P-State与处理器P-State一样。
双核心
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image005.jpg
我们用Core 2 Extreme X6800来举例说明。在Core 1中运行SuperPI,在Core 2中只能运行WinAmp。Core 1可以在最高工作状态(P0)下运行,而Core 2就要在最低工作状态(P5)下运行。
因为Core 2 Extreme只有一个PLL(时钟来源)和一个Vcore(电压源),最后的主频是2.93GHz,电压源是1.2875V。而AMDAthlon 64 X2 处理器也是只有一个PLL和一个电压源,游戏运行时的效果与Core 2 Extreme X6800差不多。
四核心(Intel)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image006.jpg
Kentsfield处理器是由两个Conroe芯片组成,每一面都有一个芯片。以Core 2 ExtremeX6800为例,我们来看看倍频和电压:
从上表可以看出,Cores 1&2的频率是2.67GHz,Cores 3&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)
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image007.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功耗。 |
CPU工作状态的知识介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。