CPU耗能的基本原理
我們將CPU簡單看作場效應晶體管FET的集合。這么多個FET隨著每一次的翻轉都在消耗者能量。一個FET的簡單示意圖如下:
圖1
當輸入低電平時,CL被充電,我們假設a焦耳的電能被儲存在電容中。而當輸入變成高電平后,這些電能則被釋放,a焦耳的能量被釋放了出來。因為CL很小,這個a也十分的小,幾乎可以忽略不計。但如果我們以1GHz頻率翻轉這個FET,則能量消耗就是a × 10^9,這就不能忽略了,再加上CPU中有幾十億個FET,消耗的能量變得相當可觀。
從這里我們可以看出CPU的能耗和有多少個晶體管參與工作有關,似乎還和頻率是正相關的。我們下面分別來看一下。
指令功耗
如果我們將CPU簡單看作單核的,是不是運行while(1);就能讓該CPU達到TDP呢?實際上并不會。每條指令所要調動的晶體管數目不同,而功耗是被調動晶體管功耗的總和。
《動物莊園》有一句話很經典:“所有動物生來平等 但有些動物比其他動物更平等”。是不是指令都是平等的呢?當然不是了,有些指令更平等!每條指令需要調動的晶體管數目有很大不同,一條新指令和已經在L1指令Cache中的指令也不同。一個簡化版Hesswell CPU的流水線示意圖如下:
一個指令要不要調度運算器,要不要訪問外存,要不要回寫,在不在L1中都會帶來不少的區別。綜合下來,流水線中各個階段的功耗餅圖如下:
可以看到Fetch指令和decode占據了大頭,而我們的執行才占據%9?。hile(1);編譯完的指令們,這時已經在L1中,Fetch會節省不少能耗。這也是達成同樣功能,ASIC很省電,而CPU很費電的原因:
如果我們不討論指令的差異,在平均意義上來看指令的功耗,它有個專有的名詞:指令功耗(EPI,Energy per Instruction)。
EPI和CPU制程、設計息息相關。Intel的CPU在P4的EPI達到一個高峰,后來在注重每瓦功耗的情況下,逐年在下降:
Intel CPU EPI(數據較老)
耗能和頻率的關系
從圖1中,也許你可以直觀的看出,能耗和頻率是正相關的。這個理解很正確,實際上能耗和頻率成線性相關。能耗關系公示是(參考資料2):
P代表能耗。C可以簡單看作一個常數,它由制程和設計等因素決定;V代表電壓;而f就是頻率了。理想情況,提高一倍頻率,則能耗提高一倍??雌饋聿⒉皇謬乐兀皇菃??但實際情況卻沒有這么簡單。
我們這里要引入門延遲(Gate Delay)的概念。簡單來說,組成CPU的FET充放電需要一定時間,這個時間就是門延遲。只有在充放電完成后采樣才能保證信號的完整性。而這個充放電時間和電壓負相關,即電壓高,則充放電時間就短。也和制程正相關,即制程越小,充放電時間就短。讓我們去除制程的干擾因素,當我們不斷提高頻率f后,過了某個節點,太快的翻轉會造成門延遲跟不上,從而影響數字信號的完整性,從而造成錯誤。這也是為什么超頻到某個階段會不穩定,隨機出錯的原因。那么怎么辦呢?聰明的你也許想到了超頻中常用的辦法:加壓。對了,可以通過提高電壓來減小門延遲,讓系統重新穩定下來。
讓我們回頭再來看看公式,你會發現電壓和功耗可不是線性相關,而是平方的關系!再乘以f,情況就更加糟糕了。我們提高頻率,同時不得不提高電壓,造成P的大幅提高!我們回憶一下初中學過的y=x^3的函數圖:
Y在經過前期緩慢的提高后在a點會開始陡峭的上升。這個a就是轉折點,過了它,就劃不來了。功耗和頻率的關系也大抵如此,我們看兩個實際的例子:
i7-2600K頻率和功耗的關系
Exynos頻率和功耗的關系
從ARM和X86陣營來看,他們能耗曲線是不是和冪函數圖很像?
其他因素
一個while(1);最多讓某個內核占有率100%,其他內核呢?CPU近期的目標是提供越來越精細的電源管理策略。原來不跑的部分就讓它閑著,后來改成它降頻運行,接著改成不提供時鐘信號,這樣猶嫌不足?,F在CPU的電源管理由PMC負責,它會完全切斷不用部分的電路。
在操作系統層面,它會盡力將不用的內核設置成CState,從而讓PMC等電源控制模塊有足夠的提示(hint)來關閉電源。
結論
拉拉雜雜的說了這許多,我們可以看出,while(1);并不會耗掉整個CPU的TDP。就算一個內核,它的耗能也不會達到該內核的能耗上線(現在都是Turbo Mode,內核能耗上限是個動態的結果)。它可以把該內核拉入Turbo Mode的最高頻率,但因為指令都在L1中,耗能也不會很高。
至于消耗的能量都到哪里去了,根據能量守恒定律,一定是變成熱量散發出去了。這個過程中也許會產生動能(風扇轉動等等),光能(GPIO驅動LED發光),但在最后的最后,都會變成熱能。
-
電源管理
+關注
關注
115文章
6154瀏覽量
144231 -
FET
+關注
關注
3文章
630瀏覽量
62890 -
場效應晶體管
+關注
關注
6文章
359瀏覽量
19472 -
LED發光
+關注
關注
0文章
23瀏覽量
8243 -
調度器
+關注
關注
0文章
98瀏覽量
5238
發布評論請先 登錄
相關推薦
評論