處理器的實際功耗是比TDP功耗低,還是高呢?有何依據?

小超哥452


對於TDP功耗,我們之前在超能課堂(55):揭開功耗面紗,TDP/TBP/SDP/ACP有什麼不同?一文中介紹過TDP功耗、TBP及GCP功耗的區別,但是到了2018年的今天,依然有很多人對TDP功耗有誤解,不只是把TDP功耗當作處理器標稱功耗,還有個關鍵的問題——處理器的實際功耗要比TDP功耗低還是高?能夠回答對這個問題的人還真不多。

對於TDP功耗,常看超能網文章的讀者很多都知道TDP功耗不等於處理器功耗,對於有些不太明白TDP意義的讀者,我們熱心的讀者都開始給他們科普TDP的含義了,比如下面這位同學:

拔刀齋同學說的不錯,TDP不是最大功耗,它是熱設計功耗,250W TDP的處理器峰值功耗肯定遠超TDP功耗,他評論的這篇文章中說的就是32核Threadripper 2990WX處理器超頻之後峰值功耗超過1000W,這個數值要比TDP功耗高太多了。

今天這篇超能課堂中我們再深入談談TDP功耗與處理器功耗的問題,看完這篇文章之後大家對TDP功耗就不會再有什麼誤解了。

處理器的TDP功耗是什麼?它怎麼來的?

先來說第一個問題,TDP功耗是什麼——TDP是Thermal Design Power熱設計功耗,還有一個說法是Thermal Design Point,後者幾乎沒什麼存在感,所以TDP絕大多數還是跟功耗聯繫在一起,但這個功耗指標主要是給散熱器用的,以Core i7-8700K處理器為例,它的TDP是95W,指的就是散熱器需要提供不低於95W的散熱能力。

TDP作為熱設計功耗,是有明確的測試條件的,以英特爾為例,TDP是在基礎配置下、最大Tcase溫度(Tcase溫度是處理器IHS允許的最高溫度,比核心溫度要低一些)、VDD電壓下測量的,在八代酷睿處理器中具體的TDP測試條件如下:

還是以Core i7-8700K處理器為例,它的TDP測試條件是3.6到3.7GHz頻率、核顯1.15到1.2GHz,但是這裡的TDP功耗沒有說Tcase溫度,這個指標對TDP影響很大,而且Tcase的溫度並不固定,繼續翻英特爾的官方文檔,八代酷睿處理器在LPM低功耗模式下的TTV TDP(Thermal Test Vehicle TDP)功耗如下:

這裡的TTV Tcase溫度最高就是65°C,也就是說低功耗模式下的Core i7-8700K是在不超過65°C情況下用基礎頻率實現95W TDP的。

還有一點要特別說明,TDP功耗測試不僅是跑基礎頻率,還不會涉及處理器的AVX浮點測試,而浮點單元現在是CPU功耗的大頭,跑不同的應用功耗差距極大就是這個因素導致的。

綜合來看,我們對TDP可以有如下認知:

·TDP是熱設計功耗,不等於處理器功耗,是處理器損耗的熱功耗,英特爾特別強調它不是處理器的最大功耗

·TDP功耗是算出來的,不同的處理器有不同的算法,跑的主要是基礎配置下非AVX應用。

·Tcase溫度對TDP影響很大,因為TDP本來就是跟散熱相關的。

·TDP測試的持續時間很短,跟平時跑壓力測試並不一樣。

·TDP功耗的高低不能判斷處理器好壞,有時候更好的TDP意味著更高的性能。

TDP功耗能不能代表處理器功耗?真實功耗比它低還是高?

雖然我們多次強調TDP功耗不代表處理器實際功耗,但很多人還是用它來指代處理器的功耗,這種說法其實也不能完全說錯,導致這個問題的根源在於現在並沒有公認的指標來衡量處理器功耗,而TDP功耗某種程度上也確實代表了處理器的功耗極限,因為TDP差不多就是處理器在最壞情況下的功耗,日常使用中對處理器的負載還真不一定比TDP測試中的負載高,所以多數情況下處理器的實際功耗比TDP功耗要低一些。

上海交通大學的一篇論文裡把TDP功耗說的很全面了

當然,這個情況成立的前提是用戶不涉及TDP測試沒考慮到的情況,而現代的高性能處理器非常複雜,支持的浮點指令集不同,處理器也不是簡單的CPU了,還有GPU核心,而且有Turbo Boost後加速頻率也不同,比如Core i7-8700K加速頻率可達4.7GHz,Core i7-8086K加速頻率可達5GHz,而TDP測試中則是使用基礎頻率,這中間可就差了至少1GHz,這對處理器的發熱、真實功耗影響就大多了。

英特爾的Core i7-2600K是4核8線程,頻率3.4到3.8GHz,TDP功耗也是95W,而Core i7-8700K是6核12線程,頻率3.6到4.7GHz,TDP功耗還是95W,但是大家都知道這兩款處理器不論功耗還是發熱都有很大不同,95W散熱器理論上不僅能壓得住Core i7-2600K,也能壓制住Core i7-8700K,但大家都知道Core i7-8700K的真正發熱要高得多。

處理器的功耗都用在哪裡了?

大家關注處理器TDP功耗,實際上還是關注處理器的實際功耗,誰都希望處理器功耗越低越好,英特爾、AMD也是這樣想的,因為功耗幾乎成了限制處理器進一步發展的關鍵,尤其是在半導體制程工藝逐漸逼近終點的情況下,如何降低功耗是考驗未來高性能計算發展的關鍵問題之一。

那麼現代的處理器都是哪些單元消耗功耗的呢?前幾年英特爾在一篇講述高性能計算的演講中提到了處理器功耗的分佈問題,這要分為兩部分來看:

核心層面的處理器功耗分佈

如果不涉及浮點運算,那麼處理器中Cache緩存部分消耗了45%的功耗,OOO亂序執行/預測單元消耗21%的功耗,再次就是TLB單元了。但是運算要是涉及到了FP浮點單元,情況就不一樣了,FP浮點單元的功耗能佔到75%,剩下的部分才是緩存、OOO以及TLB等等。

芯片層面的功耗分佈

如果是看整個芯片的功耗分佈,那麼FP浮點單元依然是大頭,佔比達到了45%,Uncore非核心部分的功耗佔比達到了40%,整數單元、OOO、預讀、TLB之類的單元就更微不足道了。

在當前的處理器中,計算性能最主要的來源都是FP浮點單元,英特爾這多年來推出的AVX/AVX2/AVX-512都是加強了浮點指令集,性能越來越強大,但是如上所示,FP浮點單元已經成為處理器功耗中的大頭,而TDP功耗測試中英特爾明確了測試都是非AVX負載的,也就是浮點單元參與不多,不然功耗就真的完全不一樣了。

Xeon Scalable系列的非AVX加速頻率

Xeon Scalable系列的AVX-512加速頻率

以支持AVX-512的Skylake-SP架構為例,28核Xeon Platium 8180在非AVX下基礎頻率2.5GHz,單核加速頻率3.8GHz,全核加速頻率也有3.2GHz,但是跑AVX-512指令集基礎頻率1.7GHz,單核加速頻率降至3.5GHz,多核直接降到了2.3GHz,這就是同樣205W TDP下的區別,涉及AVX指令與否對頻率的影響非常大。

處理器功耗影響因素:頻率、電壓

處理器也是CMOS電路,在這方面有個通用的公式來計算處理器功耗,簡單來CMOS電路的功耗可以分為動態功耗及靜態功耗,靜態功耗(Static Power)主要是漏電流引起的,這部分功耗是無用功耗,會變成廢熱,但現有技術又無法杜絕漏電流,而且它所佔的功耗比例有越來越高的趨勢。

至於動態功耗(Dynamic Power),在不同的技術文檔中它也是由不同功耗組成的,其中有充電/放電導致的開關功耗,可以用1/2*CV2F這個公式來計算,該公式也有不同的變種描述,決定轉換功耗高低的主要是運行電壓和頻率,這也是減少電路功耗的重點。

對某個具體的處理器來說,它的實際功耗高低主要就是動態功耗了,這方面的例子我們還是以Core i7-8700K的功耗為例,Overclock.ru網站之前在Core i7-8700K首發評測中做了詳細的測試:

Core i7-8700K對比其他處理器的功耗

在這個測試中,他們對比了不同頻率、電壓下的處理器功耗,可以看出來同樣的電壓,頻率提升之後功耗也在增加,而同樣的頻率下,提升電壓之後功耗會大幅增加,4.0GHz從1.1V提高到1.3V,功耗從180W增加到了251W,畢竟動態功耗跟電壓平方成正比。

總結:

處理器的TDP功耗本質上是給散熱器廠商參考的,但它也確實頂著“Power”功耗這個名字,也是貨真價實的功耗,是處理器在某些限定條件下的功耗,因此用它來衡量處理器的功耗還是有些參考意義的。

如果不超頻不跑FP高負載,處理器的真實功耗多數情況下還是不會高於TDP功耗的,但TDP功耗在複雜情況下就不能跟處理器真實功耗掛鉤了,這個要涉及到處理器的製程工藝、頻率、電壓甚至運行的測試,真實功耗遠超TDP功耗的情況並不少見。

對普通消費者來說,使用TDP功耗對比處理器功耗也是不得已為之,因為現在業界就缺少一個通用的指標來衡量處理器功耗,顯卡那邊近年來開始使用TBP典型主板功耗及GCP顯卡功耗這兩個指標,但CPU上AMD、英特爾還沒有共識,這個問題暫時無解。


超能網


TDP只是散熱參考功耗,不代表實際功耗,實際功耗可能大於也可能小於TDP,所以為了保證供電和散熱,一般都會選擇大一號的電源和散熱器,比如i5 8400標稱65WTDP,但是我們專業主板時要選擇95W供電的主板,電源要選擇300W以上的,如果有獨顯電源還會更大


魅力小婷姐她二哥


處理器的功耗絕大部分都以熱能釋放掉了,而信息傳遞是不需要功耗的,假設處理器不發熱,那麼它的功耗基本接近0,處理器之所以發熱是受到材料技術所限制,因為處理器芯片的電阻很大。所以說處理器的熱功耗略小於處理器全部功耗,但是很接近


分享到:


相關文章: