CPU工作状态的知识介绍
轉自:http://blog.csdn.net/fivedoumi/article/details/11617545
近幾年,個人計算機的運行速度有了質的飛躍,但是功耗卻沒能與時俱進,著實讓人覺得遺憾不少。例如這樣一臺為游戲玩家配備的電腦:四核心處理器、兩塊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來管理
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtml1/01/clip_image002.jpg
·執行成本偏高,但比較有效
·應用程序不負責功耗管理
·配件通過ACPI界面來管理功耗
·ACPI更抽象,因此要把操作系統和硬件分開管理
·電源管理狀態更復雜,因此由操作系統來處理。
ACPI電源管理狀態 |
今天,我們就好好說說已經被廣泛使用的ACPI電源管理標準。
以下是ACPI規格的具體電源管理狀態,稍后我們詳細介紹一下各個狀態:
全局狀態(Global system states)
·用戶可見
·分4個狀態:G0, G1, G2, G3
睡眠狀態(Sleeping states)
·全局狀態G1(不含S5)的睡眠狀態
·分5個狀態:S1,S2,S3,S4,S5
設備電源狀態(Device Power 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 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光驅
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 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最大工作狀態,在此狀態下可以接收指令和處理數據
·所有現代處理器必須支持這一功耗狀態
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)
我們來看看下面的例子:
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最大化
P-State電源管理一般用于現代處理器和顯示核心,它可以控制有效功率。
例如, NVIDIA GeForce 7300等低端顯示核心只有一個P-State。NVIDIAGeForce7900 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
|
超過溫度極限時,TM1將改變頻率周期以降低CPU功耗。在TM1狀態時,用戶會覺得程序運行不穩定。 Core1進入TM1狀態時,Core2仍在正常狀態下運行。 |
溫度監控2
|
超過溫度極限時,TM2將改變時鐘頻率與核心電壓以降低CPU功耗。所有核心都會同時切入TM2狀態。程序運行平穩。只有CPU支持TM2狀態。 |
擴展溫度監控
|
在熱度環境非常糟糕的情況下,TM1會突然切入TM2狀態以降低CPU功耗。 |
轉自:http://www.bbwxbbs.com/forum.php?mod=viewthread&tid=2552
總結
以上是生活随笔為你收集整理的CPU工作状态的知识介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 场景处理,将黄瓜场景示例作为一
- 下一篇: hive插件 ranger_Apache