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有什么不同?
    ·執行成本低,但效果不明顯
    ·應用程序和驅動直接控制了APM驅動
    ·各個配件的功耗由相應的驅動來管理
    ·CPU等硬件的功耗由APM BIOS來管理
    ·電源管理狀態比較簡單,由APM來管理
    ·執行成本偏高,但比較有效
    ·應用程序不負責功耗管理
    ·配件通過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)
    我們來看看下面的例子:
    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。NVIDIA  GeForce7900 GT等高端顯示核心則至少有兩個P-State:在P0狀態下運行3D游戲,其頻率和電壓都被最大化;在P1狀態下運行2D模式,頻率和電壓被最小化。
    不過,處理器的P-State電源管理都很復雜。不同的CPU都有不同的P-State狀態:
多核心處理器的P-States
每一個核心都要有一個不同的P-State,這些都取決於處理器能耗控制單元的功率。
    單核心
    單核心P-State與處理器P-State一樣。
    雙核心
    我們用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)
    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)
    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功耗。
  
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM