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
·功耗未知,應該接近零
·喚醒時間未知
電腦高效能化是一把雙刃劍,雖然可以帶來快速的資料處理效能,但功耗的增加也成為令人頭疼的問題。因為過高的功耗不僅會消耗大量的能源,也會導致晶元發熱量的增加,影響電子晶元的穩定性和壽命。那麼,如何降低晶元的功耗,實現節能的目的?
從硬體廠商的角度來說,一方面,他們可以通過提高晶元工藝製程來實現降低能耗和發熱的目的;另一方面,通過改變各個電子晶元工作狀態中的執行方式更是能夠實現電腦的動態節能,以適當的效能應對不同的處理負荷。而這種方式就是本文所要討論的節能技術。目前主流的處理器都有哪些動態節能的技術,又該怎樣充分利用這些技術呢?
◆intel c-state tech
intel c-state tech是主機板廠商在bios中加入的深度節能技術。它是根據處理器的使用情況自動調節其電源狀態,進而調節處理器的電壓、頻率和功耗。
c-state是指處理器的功耗和溫度管理狀態。只有在c0狀態下,處理器是啟用的,才能執行指令;而在c1到cn狀態下,處理器都處於各種不同程度的睡眠狀態,睡眠可以帶來處理器功耗的減少。但在這睡眠狀態下,處理器都有乙個恢復到c0的喚醒時間,不同的c-state要耗費不同的喚醒時間。
不同處理器電源狀態下的喚醒時間與功耗:功耗越小,恢復到c0狀態的喚醒時間就越長。
如表中所示,c1與c2狀態既能將處理器的功耗控制在全速執行時的30%以內,又能在非常短的喚醒時間內根據負載做出快速的反應。
部分廠商的主機板提供了intel c-state tech的支援,使用者可以選擇是否啟用該技術,並對各個c-state狀態進行控制。
主機板bios中的intel c-state tech選項設定
小提點:
由於intel c-state tech在處理器進行狀態切換時也會要求北橋晶元和記憶體進行電壓與頻率的調整,進入省電模式,因而它對整個平台的硬體要求比較高。如果主機板的質量不過關或者記憶體的體質不夠好,開啟intel c-state tech後,會致使windows系統出現頻繁的宕機等問題。反過來,如果intel平台的電腦經常出現宕機,則可以在主機板的bios中檢查該選項是否啟用。
CPU層次的電源管理
在cpu這個層次,減少對電源的消耗,我們可以有很多方案供選擇,比如說,使用idle state c state 改變cpu 的頻率 p states 還有扼制cpu 的工作時間 調節占空比 t states 下面對每乙個方案作出簡單的介紹。如果想知道詳細的規範,還是得去看 1.c states 工作...
Linux檢視電源狀態指令
dmidecode命令可以讓你在linux系統下獲取有關硬體方面的資訊。dmidecode的作用是將dmi資料庫中的資訊解碼,以可讀的文字方式顯示。由於dmi資訊可以人為修改,因此裡面的資訊不一定是系統準確的資訊。dmidecode遵循smbios dmi標準,其輸出的資訊包括bios 系統 主機板...
LInux檢視CPU狀態
內容解釋 pid 程序的id user 程序所有者 pr 程序的優先級別,越小越優先被執行 ninice 值 virt 程序占用的虛擬記憶體 res 程序占用的物理記憶體 shr 程序使用的共享記憶體 s 程序的狀態。s表示休眠,r表示正在執行,z表示僵死狀態,n表示該程序優先值為負數 cpu 程序...