IPA是一個跟芯片功耗相關(guān)的方案。前面講過芯片低功耗設(shè)計方法,比如動態(tài)調(diào)壓調(diào)頻(DVFS),時鐘門控等等,基于的是功耗控制角度。今天我們從芯片熱管理(Thermal Management)角度看一下。
為了提高芯片的性能,可以對于CPU等組件采取加壓升頻的辦法。這時,我們可能忽略了一點,就是芯片的散熱問題。芯片的工作電壓越高,頻率越快,單位時間內(nèi)消耗的能量越多,其中一部分電能轉(zhuǎn)化成熱能。這部分熱能累積在芯片內(nèi)部,如果不能即時的散發(fā)出去,將會對芯片產(chǎn)生很大的危害,可能會造成芯片的使用壽命變短,工作異常,甚至是芯片被毀壞。對于某些芯片的工作環(huán)境來說,可以增加一些必要的散熱手段,雖然會增加整體系統(tǒng)的成本,比如我們可以在設(shè)備中增加風扇,散熱片,散熱管,水冷等設(shè)施。但是有些芯片的工作環(huán)境受限,比如手機芯片,就沒辦法增加散熱設(shè)施。這就要求芯片主動進行熱管理,軟件可以通過芯片中的硬件組件(比如傳感器)來感知芯片中的溫度,結(jié)合算法來調(diào)整硬件的供電電壓和工作頻率。
在Linux內(nèi)核中,控制芯片內(nèi)部溫度的機制叫做“熱框架(Thermal Framework)”。在這套體系下,芯片中有一個熱管理組件(governor),芯片內(nèi)部可以劃分成多個“熱區(qū)(Thermal Zone)”,每個熱區(qū)中有溫度傳感器和冷卻設(shè)備(Cooling Device)。這里的冷卻設(shè)備指的是產(chǎn)生熱能的組件,也就是功能模塊,比如CPU和GPU。這也好理解,因為芯片內(nèi)的降溫手段只能是被動的(passive),即讓功能模塊在單位時間內(nèi)少產(chǎn)生熱能。
IPA就是熱管理組件。IPA的基本原理是基于一個比例積分微分(Proportional Integral Derivative,PID)控制器和一套功率分配算法,并且要求冷卻設(shè)備提供功率模型(Power Model)。IPA通過比例積分微分控制器來感知芯片的溫度控制需求,然后通過算法來動態(tài)確定每個組件的功率上限(Power Budget),最后通過組件的功率模型來調(diào)整其工作環(huán)境。接下來一一介紹。
下圖展示了IPA如何工作。IPA通過溫度傳感器探測芯片中的溫度,確定SoC的功率上限,結(jié)合組件的功率需求,動態(tài)分配每個組件的功率值。
從硬件組成上來看,首先IPA需要有一個功率仲裁(Power Arbiter)單元。功率仲裁器內(nèi)要實現(xiàn)一個PID控制器,其控制輸入是溫度傳感器,功率策略(Power Policy)和設(shè)備的功率請求,控制輸出是各個設(shè)備的功率/性能限定。
PID控制器是一個閉環(huán)控制系統(tǒng)(closed-loop control system),廣泛應用于工業(yè)控制中。所謂的閉環(huán)控制系統(tǒng),指的是被控對象的輸出會反送回來影響控制器的輸出。閉環(huán)控制系統(tǒng)有正反饋和負反饋之分,若反饋信號與系統(tǒng)給定值信號相反,則稱為負反饋(Negative Feedback),若極性相同,則稱為正反饋(positive feedback)。
PID的這三個單詞分別代表的是比例控制,積分控制和微分控制。其中,P是控制器的輸出與輸入誤差信號成比例關(guān)系;I與誤差積分成正比,表示過去錯誤的累積值;D與誤差的倒數(shù)成正比關(guān)系,根據(jù)D當前變化率進行線性外推,預測未來誤差。PID控制器的數(shù)學表達參考下圖。
功率模型代表了冷卻設(shè)備的功率特性。功率模型包含了設(shè)備的頻率限制,性能與功率的相對關(guān)系等。功率模型的質(zhì)量決定了應用IPA的質(zhì)量,如果功率模型偏差太大,那么IPA的效果肯定好不到哪去。功率模型不是一個完全的設(shè)計值,應該是通過芯片測試加以校對得出的。所以,無論模型有多精確,實際功耗仍與功率模型預測有偏差。
功率分配策略(power allocation policy)是在軟件中定義的。如果一個設(shè)備被分配的功率值小于其最大性能所需要的功率值,那么設(shè)備將工作在分配的功率值,也就是此設(shè)備性能受限,工作在對應的電壓/頻率點;如果設(shè)備被分配的功率值大于其最大性能所需要的功率值,那么多余的功率會被分配給其它的設(shè)備。功率分配策略也是一個通過測試和調(diào)教,迭代出來的。功率分配策略和功率模型會共同影響IPA的執(zhí)行效果。
下面是一個了IPA運行測試案例。SoC系統(tǒng)中有大核處理器,小核處理器和GPU。圖中的橫坐標是時間,縱坐標是頻率。紅線表示的是GPU模塊的頻率隨時間變化;綠線表示的是小核的頻率隨時間變化;藍線表示的是大核的頻率隨時間變化。
在芯片啟動階段,也就是圖中的“Period 1”階段,由于其內(nèi)部溫度低,IPA沒有啟動,所以三個模塊均工作在最高頻率。
在“Period 2”和“Period 4”階段,GPU的負載大,CPU的負載小,所以分配給GPU的功率多,GPU工作在較高的頻率,而CPU工作在較低的頻率。
在“Period 3”階段,GPU的負載小,CPU的負載大,這時分配給CPU的功率多,CPU工作在較高的頻率。
芯片工作了一段時間后,其內(nèi)部溫度上升。在“Period 5”階段,IPA對所有的模塊進行了功率限制,GPU和CPU都工作在了較低的頻率。
最后總結(jié)一下,IPA是一個軟硬件相結(jié)合的SoC功耗/熱解決方案。在硬件方面,SoC需要實現(xiàn)調(diào)壓調(diào)頻的機制,溫度傳感器等,并且在設(shè)計初期劃定好需要管理的“熱區(qū)”;在軟件方面,需要實現(xiàn)硬件驅(qū)動程序,上層的分配算法等等。采用IPA技術(shù)的往往是復雜的SoC,通常在這些SoC上需要運行操作系統(tǒng)。目前,IPA已經(jīng)集成在Linux 4.2及以上版本中。
審核編輯 :李倩
-
芯片
+關(guān)注
關(guān)注
456文章
51182瀏覽量
427278 -
溫度傳感器
+關(guān)注
關(guān)注
48文章
2975瀏覽量
156385 -
控制器
+關(guān)注
關(guān)注
112文章
16446瀏覽量
179458
原文標題:Arm系列-智能功率分配IPA技術(shù)
文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論