瀏覽單個文章
airitter
Master Member
 
airitter的大頭照
 

加入日期: Sep 2003
文章: 2,102
引用:
http://www.expreview.com/10281-3.html

◆ Turbo CORE技術解析

  雖然目前的主流處理器都是多核心的,但實際上眾多的應用程序,包括大多數的遊戲,對多核多線程優化不足,少數可能為雙核優化,但是能完全利用四核甚至六核的消費級軟件更是不多。這樣的窘況造成兩個極端,一方面部分核心無所事事,卻消耗著同樣的功耗,另一方面部分核心滿負荷運行,恨不得能跑得再快些。

  ·Turbo CORE簡介

  在之前AMD為CPU節能做了很多努力,比如Phenom II開始支持的Cool『n』Quiet 3.0(簡稱CnQ)技術就是很好的一個例子,CnQ 3.0通過P-States(CPU Performance states)來實現節能,它支持四種P-State狀態,其一是全速(P0),其二是最低頻率 800MHz(P4),不管什麼型號都如此,另外還有兩種狀態,具體頻率視型號而定,比如Phenom II X4 955的四種P-State分別為3.2GHz、2.5GHz、2.1GHz和800MHz。

      
                   英特爾Turbo Boost技術典型工作示意圖

  CnQ技術只能做到多個核心「同進退」,它可以解決全部核心在輕負載或空閒時的節能問題,但並不能解決部分核心滿負載的問題。率先提出解決方案的是英特爾,從Nehalem架構處理器開始支持的Turbo Boost技術能讓內核運行動態加速,可以根據需要開啟、關閉以及加速單個或多個內核的運行,這樣動態的調整可以提高系統和CPU整體的能效比率。


      
                     AMD Turbo CORE技術工作示意圖

  現在AMD也有了類似技術,連名字也很類似,即Turbo CORE技術。在當處理器3個核心或者以上空閒時,Turbo CORE就會啟動,所有核心電壓提升,並且高負載的核心(必須處於P0狀態)頻率提升400-500MHz,這個狀態稱之為Boost P-State狀態,可以加速這部分核心的運算能力,同時空閒的核心則進入P-State的P4低功耗狀態(即頻率下降到800MHz),降低它們的動態功耗。

  在整個過程中,處理器最大功耗依然會控制在TDP之內,否則Turbo CORE不會生效。

  可以看到Turbo CORE是以P-State為依託的,目前至少有兩點不如Turbo Boost,一是它不能對單個核心增加電壓,而是所有核心都需要加壓,這樣即使空閒的核心也會額外增加功耗;另一是空閒的核心不能關閉,最多只能達到P- State的P4狀態,節能不夠徹底。

  英特爾的Turbo Boost技術顯得更高明一些,它能操作每個核心的電壓,並且可以把不需要的核心直接關閉(實際上是進入C-State的C6級深度休眠狀態),由於喚醒 C6狀態需要較長時間(要重新加載數據),可能會造成切換不及引發種種問題,而Nehalem中特殊設計的PCU可以讓這個問題變得簡單。

  Nehalem中有一個特殊控制器,稱為PCU(Power Control Unit),有著自己的嵌入式固件,可以有溫度、電流、功耗和操作系統等需要的其他輸入,在on-die上進行這樣的功耗控制,能讓電壓的升降時間比常規的off-die模式要短,具有更高效的電源管理,同時,PCU監控各核心的性能、狀態,它可以智能地決定進入何種功耗/性能狀態,而不用去管操作系統的要求。

      
            Turbo CORE實例:兩個核心加速運行,其它四個核心進入P4低功耗狀態

  回到Turbo CORE,理論上它可以讓六核中的5個核心處於加速模式,不過我們測試只能做到1至3個核心加速,可能是因為TDP超額的原因,至於像六個核心只能「三升三降」的說法是不正確的,那只是默認設置,實際上可以指定加速核心數目的。

  另外,Turbo CORE技術是完全基於硬件層面的,默認自動開啟並由處理器自身監控,不需要安裝任何特殊的軟件、驅動或者工具, 甚至不需要用戶特別的操作就可以自動完成。有些主板可能需要更新BIOS才能良好支持這一新技術。

  ·Turbo CORE中的節能模式

  對於CPU來說,功耗分為動態功耗和靜態功耗兩大部分,動態功耗是電路在工作時所消耗的能量,而靜態功耗是電路在沒有翻轉只有供電的情況下,晶體管中漏電流造成的功耗。

  在整個功耗中,時鐘單元功耗(其它還有數據鏈路、存儲和IO等)所佔比例最大,而門控時鐘(Clock gating)作為降低時鐘單元功耗有效的方法而得到廣泛應用,它可以對某些較少使用的時序邏輯進行開關控制使之保持靜態,同時以這些時序部件輸出相關的組合邏輯也將處於靜態,很好地達到關閉子模塊或子電路的目的,從而大大降低功耗。

  對於Turbo CORE而言,當某核心需要進入低功耗狀態,正是通過門控時鐘來得以實現的(準確的說應該是可變頻率時鐘技術),使該核心處於靜態模式(比如800MHz)。

  實際上,降低功耗最直接的做法就是在不需要電路工作時將它的電源關掉,這樣什麼動態功耗、靜態功耗就全沒有了。在需要電路工作時,再把電源打開,這就是門控電源(Power gating)。方法簡單,但實現起來卻比門控時鐘要複雜得多。

  當然真正暴力關掉電源將功耗徹底變為0的方式實現上比較難,主要在於喚醒時要花費更多的時間完成數據加載,而採用內部電源管理方式,在短時間的電源關斷會是更理想的辦法。

  英特爾的Turbo Boost就是通過門控電源實現空閒核心關閉的,PCU充當一個內部電源開關網絡,一個功耗消耗極小的影子寄存器保持核心斷電前的狀態,至於何時保存何時恢復,都由PCU來控制完成。

  因此從原理上來說,現在的Turbo CORE在節能效果上相比Turbo Boost有所不如。
                         
__________________
[ExtremeTech]VGAMaster
舊 2010-04-30, 07:35 AM #4
回應時引用此文章
airitter離線中