發(fā)布時間:2024-03-29 文章來源:深度系統(tǒng)下載 瀏覽:
2核,4核,8核,16核。。。核競賽硝煙彌漫,各個芯片廠商摩拳擦掌,不停的向CPU中塞入更多的內(nèi)核。吃瓜群眾越來越疑惑,“為什么我就不能做個安靜的美男子,那么多核我用的上嗎?”。本番外篇為你介紹Intel提高單線程處理能力的利器:睿頻技術(shù)。 原理篇2核,4核,8核,16核。。。核競賽硝煙彌漫。我們都知道操作系統(tǒng)調(diào)度的最小單位是線程(Thread),我們要使用這么多內(nèi)核,必須對應(yīng)用程序作出極大優(yōu)化,將任務(wù)并行化處理交給不同線程。任務(wù)并行化有很大的難度,稍不小心就會造成死鎖,調(diào)試起來也相當(dāng)麻煩。事實上現(xiàn)在很多應(yīng)用程序和游戲,在大多數(shù)情況下都是只有一個線程在運行,在個別內(nèi)核極度繁忙時,其他內(nèi)核卻無事可做,可謂忙的忙死,閑的閑死。如何才能把閑置資源調(diào)動起來,讓這個內(nèi)核處理速度加快呢? 還是舉我們在Cstates文章中的那個例子。想象一下,我們的那個有八個大車間的新工廠,廠房干凈漂亮,傳送帶筆直干凈,各個廠房之間有寬闊的道路,到處照明充足。這次我們有了上次的經(jīng)驗,在需求不足時關(guān)閉不用的車間,節(jié)省了電力。但是這次我們有了新的煩惱:有些產(chǎn)品只能在特定的車間組裝,而這些產(chǎn)品需求量非常大,簡直是供不應(yīng)求?粗S各處忙閑不均,你陷入了沉思,如何才能利用起來空閑的產(chǎn)能呢?你靈機一動,你找人安裝了一套電力轉(zhuǎn)換器,可以隨意調(diào)度各個車間的電力分配,并給生產(chǎn)機器人也加入了超頻裝置。這樣你把空閑車間的電力轉(zhuǎn)入這個忙碌車間,新注入的電力讓生產(chǎn)線加速運轉(zhuǎn),機器人也像打了雞血般瘋狂運行,產(chǎn)出快多了!你一邊盤算著年底的加薪,一邊小心控制著電力注入,畢竟變電器爆掉或者產(chǎn)線過熱著火就得不償失了。睿頻幾乎也是一樣的道理。 歷史一個提高CPU主頻的辦法就是超頻。熱管,水冷,甚至液氮都向CPU上面招呼,各個論壇上超頻愛好者們都在討論如果榨出CPU所有的潛力,超頻也是不少主板廠商的賣點。但是超頻要適可而止,當(dāng)水冷系統(tǒng)忽然壞掉,你的CPU和主板變成一堆昂貴的磚頭,就欲哭無淚了。Intel一直在研究如何能在CPU運轉(zhuǎn)不超過TDP (Thermal Design Power,散熱設(shè)計功耗)的情況下,提高CPU主頻。睿頻(Intel Turbo Boost )技術(shù)隨之誕生,有人叫它“官超”(很不準(zhǔn)確)。 1. 睿頻1.0 第一代睿頻,在Nehalem 引入。核心功能是當(dāng)部分內(nèi)核空閑,進入CStates。內(nèi)置的電能控制模塊會把它們的電力轉(zhuǎn)入忙碌內(nèi)核,提高他們的電壓和頻率,使之超過標(biāo)稱主頻,一般都有超過10%-20%的加速效果。這樣做的前提是整體功耗不超過TDP。如下圖:
2. 睿頻2.0 在Sandy Bridge 引入。在這一代,主要的提高是將GPU也納入了整體調(diào)節(jié)范圍,在GPU不太忙碌的情況下,其電能也會被轉(zhuǎn)入忙碌內(nèi)核,反之亦然。另外一個很重要的改進是不再受TDP的硬約束,可以短暫的超過TDP運行,直到溫度傳感器達到特定閾值才緩慢回落。這樣可以更好地處理突發(fā)任務(wù)。新加入的功能帶來了復(fù)雜性,Intel也提供了應(yīng)用程序方便用戶查看狀態(tài),后文有詳細介紹。 3. 睿頻MAX 3.0 在Skylake引入。主要是識別處理器中速度最快的內(nèi)核,并將最關(guān)鍵的任務(wù)引導(dǎo)至此,進而達到最佳化的效能。必須要指出它不是睿頻2.0的替代品,它旨在提供靈活性和彈性,讓處理器發(fā)揮更大效能。它的實現(xiàn)比較復(fù)雜,需要安裝特別的驅(qū)動程序和軟件,BIOS也需要做不少改動。它不在本文的討論范圍里。 以上都可以在Intel的官網(wǎng)上找到相應(yīng)資料和軟件,大家可以自行搜索睿頻即可。 實現(xiàn)除去睿頻 MAX 3.0外,睿頻2.0和1.0都不需要安裝特殊的驅(qū)動程序,OS只要支持EIST (Pstates)即可,它對OS是透明的。如前文介紹EIST中報告Pstate時說明的,我們在支持睿頻時需要將P0留給Turbo Mode也就是睿頻模式使用。CPU在睿頻打開時,在收到進入P0的請求后,會自動根據(jù)算法將進入Cstate的內(nèi)核的電力轉(zhuǎn)移到P0的內(nèi)核上,加壓和提高頻率。 這里需要指出的是在Sandy Bridge 之前,單個處理器內(nèi)所有的內(nèi)核都是在一個ACPI的Power Domain里,意味著睿頻要工作,內(nèi)核要不在P0,要不在Cstate,沒有中間狀態(tài)。 常見問題Q:我如何知道我進入了睿頻模式呢? A:安裝Intel Turbo Boost Technology Monitor。當(dāng)睿頻還沒啟動而且比較空閑,顯示這樣:
當(dāng)EIST開始工作,但睿頻還沒啟動時:
睿頻1.0啟動時(原頻率1.73GHz,睿頻到2.93GHz):
睿頻2.0啟動時(原頻率2.2GHz,睿頻到3.0GHz):
后記線程融合技術(shù),即CPU能自動將任務(wù)分解給各個CPU線程來運行,現(xiàn)在是各個研究機構(gòu)的熱點。在這個技術(shù)獲得突破之前,睿頻技術(shù)是我們提高單線程運算能力的得力工具。 |