今天來學習一下ARM的“智能功率分配”(Intelligent Power Allocation)技術,下文中簡稱IPA。大家不要與地址轉換中的“中間物理地址”(Intermediate PhysicalAddress)混淆了。
IPA是一個跟芯片功耗相關的方案。前面講過芯片低功耗設計方法,比如動態調壓調頻(DVFS),時鐘門控等等,基于的是功耗控制角度。今天我們從芯片熱管理(Thermal Management)角度看一下。
為了提高芯片的性能,可以對于CPU等組件采取加壓升頻的辦法。
這時,我們可能忽略了一點,就是芯片的散熱問題。芯片的工作電壓越高,頻率越快,單位時間內消耗的能量越多,其中一部分電能轉化成熱能。
這部分熱能累積在芯片內部,如果不能即時的散發出去,將會對芯片產生很大的危害,可能會造成芯片的使用壽命變短,工作異常,甚至是芯片被毀壞。
對于某些芯片的工作環境來說,可以增加一些必要的散熱手段,雖然會增加整體系統的成本,比如我們可以在設備中增加風扇,散熱片,散熱管,水冷等設施。
但是有些芯片的工作環境受限,比如手機芯片,就沒辦法增加散熱設施。這就要求芯片主動進行熱管理,軟件可以通過芯片中的硬件組件(比如傳感器)來感知芯片中的溫度,結合算法來調整硬件的供電電壓和工作頻率。
在Linux內核中,控制芯片內部溫度的機制叫做“熱框架(Thermal Framework)”。在這套體系下,芯片中有一個熱管理組件(governor),芯片內部可以劃分成多個“熱區(Thermal Zone)”,每個熱區中有溫度傳感器和冷卻設備(Cooling Device)。這里的冷卻設備指的是產生熱能的組件,也就是功能模塊,比如CPU和GPU。
這也好理解,因為芯片內的降溫手段只能是被動的(passive),即讓功能模塊在單位時間內少產生熱能。 IPA就是熱管理組件。IPA的基本原理是基于一個比例積分微分(Proportional Integral Derivative,PID)控制器和一套功率分配算法,并且要求冷卻設備提供功率模型(Power Model)。
IPA通過比例積分微分控制器來感知芯片的溫度控制需求,然后通過算法來動態確定每個組件的功率上限(Power Budget),最后通過組件的功率模型來調整其工作環境。接下里一一介紹。 下圖展示了IPA如何工作。IPA通過溫度傳感器探測芯片中的溫度,確定SoC的功率上限,結合組件的功率需求,動態分配每個組件的功率值。
從硬件組成上來看,首先IPA需要有一個功率仲裁(Power Arbiter)單元。功率仲裁器內要實現一個PID控制器,其控制輸入是溫度傳感器,功率策略(Power Policy)和設備的功率請求,控制輸出是各個設備的功率/性能限定。
PID控制器是一個閉環控制系統(closed-loop control system),廣泛應用于工業控制中。所謂的閉環控制系統,指的是被控對象的輸出會反送回來影響控制器的輸出。閉環控制系統有正反饋和負反饋之分,若反饋信號與系統給定值信號相反,則稱為負反饋(Negative Feedback),若極性相同,則稱為正反饋(positivefeedback)。
PID的這三個單詞分別代表的是比例控制,積分控制和微分控制。其中,P是控制器的輸出與輸入誤差信號成比例關系;I與誤差積分成正比,表示過去錯誤的累積值;D與誤差的倒數成正比關系,根據D當前變化率進行線性外推,預測未來誤差。PID控制器的數學表達參考下圖。
功率模型代表了冷卻設備的功率特性。功率模型包含了設備的頻率限制,性能與功率的相對關系等。功率模型的質量決定了應用IPA的質量,如果功率模型偏差太大,那么IPA的效果肯定好不到哪去。功率模型不是一個完全的設計值,應該是通過芯片測試加以校對得出的。
所以,無論模型有多精確,實際功耗仍與功率模型預測有偏差。 功率分配策略(power allocation policy)是在軟件中定義的。如果一個設備被分配的功率值小于其最大性能所需要的功率值,那么設備將工作在分配的功率值,也就是此設備性能受限,工作在對應的電壓/頻率點;如果設備被分配的功率值大于其最大性能所需要的功率值,那么多余的功率會被分配給其它的設備。
功率分配策略也是一個通過測試和調教,迭代出來的。功率分配策略和功率模型會共同影響IPA的執行效果。
下面是一個了IPA運行測試案例。SoC系統中有大核處理器,小核處理器和GPU。圖中的橫坐標是時間,縱坐標是頻率。紅線表示的是GPU模塊的頻率隨時間變化;綠線表示的是小核的頻率隨時間變化;藍線表示的是大核的頻率隨時間變化。 在芯片啟動階段,也就是圖中的“Period 1”階段,由于其內部溫度低,IPA沒有啟動,所以三個模塊均工作在最高頻率。
在“Period 2”和“Period 4”階段,GPU的負載大,CPU的負載小,所以分配給GPU的功率多,GPU工作在較高的頻率,而CPU工作在較低的頻率。
在“Period 3”階段,GPU的負載小,CPU的負載大,這時分配給CPU的功率多,CPU工作在較高的頻率。
芯片工作了一段時間后,其內部溫度上升。在“Period 5”階段,IPA對所有的模塊進行了功率限制,GPU和CPU都工作在了較低的頻率。
最后總結一下,IPA是一個軟硬件相結合的SoC功耗/熱解決方案。在硬件方面,SoC需要實現調壓調頻的機制,溫度傳感器等,并且在設計初期劃定好需要管理的“熱區”;在軟件方面,需要實現硬件驅動程序,上層的分配算法等等。采用IPA技術的往往是復雜的SoC,通常在這些SoC上需要運行操作系統。目前,IPA已經集成在Linux 4.2及以上版本中。?
審核編輯:劉清
學習一下ARM的智能功率分配技術
- 處理器(221450)
- ARM(361233)
- 控制器(170262)
- SoC系統(10562)
- DVFS(11920)
相關推薦
ARM和安卓開發學習
師兄師姐們你們好,我以前學過單片機,并且用單片機做過一些項目,比如關于單片機對220V白熾燈的智能光照控制系統,走迷宮的機器人等。現在只學習單片機已經不能滿足社會前進的需求了,所以,后面我想學習一下
2013-11-24 00:54:29
ARM匯編學習
以前用ARM的IDE工具,使用的是ARM標準的匯編語言。現在要使用GNU的工具,當然要了解一點GNU ARM匯編的不同之處。其實非常的簡單,瀏覽一下文檔然后再看看程序就完全可以搞定了,或者你硬著頭皮
2017-11-24 10:52:41
arm學習遇到分離點,希望學習過來的給點建議
,挺有趣的。看了之后,覺得如何想對編程掌握更好的話,很有必要看c的數據結構和算法分析,接著也有朋友建議要看程序的堆棧分配和管理,學一下如何裁剪linux內核,ubootfileSystem的制作所以希望學習過來的燒友們給予適當建議~~謝謝
2012-12-29 19:25:23
arm技術是哪個國家的
ARM是一家成立于1990年的芯片設計公司,總部仍位于英國劍橋。 ARM公司本身并不生產處理器,而是將其技術授權給世界上許多著名的半導體、軟件和OEM廠商。全世界有超過95%的智能手機和平
2020-06-22 09:33:58
一個學習ARM菜鳥的學習歷程
高大上,但是一直不知道該怎么入門,于是隨便在百度上搜了一下,剛好看到朱老師的零基礎帶你學Linux,說實話也沒太在意,畢竟這種標題的課件太多了。點開看了一下,他先講了一下嵌入式這個行業的發展,然后講了
2016-01-03 09:49:25
功率源校準智能空開的問題
功率源校準智能空開的問題1.功率源面板為何有IA和Ia?怎么有兩個電流端口?2.為何使用功率源校準智能空開時,UA和IA要短接起來?誰搞過智能空開的,討論下
2018-06-28 09:58:57
功率分配器
依舊是涼風習習的天氣,不過踏青正好。葉子都長很茂盛了,夏天的腳步來了。今天我們來了解下功率分配器吧。分配嘛,自然就有分擔的意思在里邊,這么長的名字,我們就簡稱為功分器了,它是一種將一路輸入信號能量
2014-05-07 18:30:48
學習ARM流程的討論
最近在學習ARM,我的方法是1、學習51單片機的開發;2、ARM裸機開發;3、然后再打算學習Linux。可是我沒有Linux的任何基礎,不知道怎么做?有沒有高手,指導一下怎么學習Linux啊?或者推薦一些Linux的好書或資料??
2013-04-08 12:00:23
學習ARM要準備些什么啊?
本帖最后由 eehome 于 2013-1-5 10:07 編輯
學習ARM要準備些什么啊?跪求哪位大俠詳細闡述一下,本人打算學習ARM但是不知從哪里下手,好像要裝Linux系統吧!但聽說在哪個系統下在windows下的驅動如:聲卡驅動,就沒用不知是不是?哪位學過ARM的大蝦指教一下!{:1:}
2012-12-13 20:07:49
學習一下openmv的使用
openmv與stm32的串口通信簡談閑話Openmv主要代碼STM32單片機的配置運行效果圖片如下簡談閑話這兩天本人利用周末時間粗略的學習一下openmv的使用,目的是用openmv圖像處理數據并
2021-08-11 06:57:23
智能分配電流的最大功臣是誰?
分配電流,那我們就來仔細分析一下這套方案里那些仙童的IC——小米USB充器內含的仙童FAN6230A是一塊整流主控IC,用來控制MOSFET,提高充電器的效率和保護充電電路;另一塊仙童的芯片
2018-10-09 10:43:53
RFID技術對促進智能交通落地有什么影響?
脫穎而出。RFID技術在促進智能交通落地的同時,自身也得以更深入地發展應用。下面就隨汽車電子小編一起來了解一下相關內容吧。
2019-09-04 07:14:46
《移動終端人工智能技術與應用開發》+理論學習
收到《移動終端人工智能技術與應用開發》有一段時間了,由于時間有限,加上工作原因,目前只看到第3章,前幾章主要介紹人工智能和機器學習的基礎知識,發展歷程,分類等,重點說明了,在移動終端上如何實現人工之
2023-02-27 23:28:20
【OK210申請】基于ARM的圖像采集和無線傳輸技術
學習ARM嵌入式開發的學習,所以急需這個板子進行開發學習。雖然我是初次接觸ARM系列的開發平臺,但是我相信在我的努力下,我一定會成功完成項目的開發工作項目描述:在我們的日常生活中,我們時時刻刻都在接觸
2015-08-01 04:28:14
人工智能和機器學習技術在2021年的五個發展趨勢
人工智能和機器學習如今一直在改變著我們的世界,2020年發生的冠狀病毒疫情為這兩種技術帶來了新的機會和緊迫性,預計在2021年將會有更大的發展。疫情顯然已經成為一種催化劑,從產品創新到消費者偏好
2021-01-27 06:10:12
以I.MX6ULL開發板為例來介紹一下嵌入式技術的學習步驟
本節結合迅為的終結者 I.MX6ULL 開發板來介紹一下嵌入式技術的學習步驟。大家都知道,嵌入式技術的知識面非常廣,學起來往往不知道如何下手,我們通過這一小節給大家闡述一下嵌入式技術應該從哪里開始
2021-12-20 06:29:30
關于arm學習,求助。。。
關于arm的學習,本人之前只玩過51,略有接觸430,準備接下來學習arm,想買一塊arm11的開發板,有幾個同學也一起學,論壇里有沒有牛人幫忙介紹下啊,要能提供強大的售后技術服務的,你們都知道的,我還是個菜鳥呀,,謝謝大家啊1!!!!!
2012-09-12 15:01:32
分享一位老前輩撰寫的ARM學習小記
意識到了這一點,嵌入式系統的 未來值得期待。作為個人來講,無論你是單片機愛好者,還是電子技術應用專業的在校大學生,在掌握8051應用之后都應該盡 量學習一下ARM方面的知識。我個人推薦你學習三星電子
2016-08-06 14:47:28
剛學習DSP,想問一下大家有沒有sy***ios的學習視頻,可以分享一下嗎?謝謝~~
剛學習DSP的小白,什么都不懂,想學sy***ios,可是都找不到視頻,請問有哪位大神有,可以分享一下嗎?謝謝~~
2017-11-02 19:59:28
初學ARM 求教 學習的流程及內容
本帖最后由 moro024 于 2013-12-17 13:56 編輯
小弟剛接觸ARM ,想系統的學習一下ARM開發,但是發現ARM不像51學習起來思路那么清晰,我現在的主要困擾是不知道怎樣
2013-12-17 13:55:42
基于深度學習技術的智能機器人
——工業機器人的智能化程度要求也越來越高,采用深度學習技術為工業機器人賦能是目前各大廠商的統一認知。本文結合實際案例,簡要說明一下智能機器人的實現流程。一、智能機器人概念 人工智能技術,其主要作用就是用
2018-05-31 09:36:03
如何使用嵌入式的內存分配管理技術
嵌入式---內存分配管理嵌入式的內存一般都非常的小,最進在學習LWIP協議棧的移植,在正點原子的學習資料中找到了許多關于怎么移植協議棧的東西,其中使用到了內存的分配管理技術,能夠高效的管理和使用內存
2021-12-17 06:41:46
如何通過VIPower M0TM技術去實現車用智能功率開關?
驅動汽車電子負載的VIPower上橋臂驅動器有哪些重要技術?如何通過VIPower M0TM技術去實現車用智能功率開關?
2021-05-13 06:52:56
帶你宏觀了解一下FPGA的市場,潛力?!
的,在16nm工藝下,和數字電路同在一個die(晶圓上的芯片)上,不得不佩服Xilinx的創新能力真的很強。2.深度學習 深度學習屬于人工智能的范疇。深度學習主要研究的是人工神經網絡的算法、理論
2018-02-08 10:25:32
想學習一下ARM下linux驅動開發,想要購買一塊開發板,大家...
本人剛開始學習ARM,想要向驅動開發方向發展,看中飛凌旗下ARM9開發板FL2440、OK2440和ARM11的OK6410三塊開發板,查了很多資料都說ARM9資料多容易學但用的很少,而ARM11相關資料相對較少,大家給點意見我買那塊板合適!!
2013-01-07 09:31:31
想學習一下labview的上位機和下位機,求各位技術牛人幫助
想學習一下labview的上位機和下位機,哪位技術牛人有視頻啊,幫我發一份吧。郵箱:963436193[url=]@qq.com[/url].萬分感謝!
2013-08-09 17:28:10
想學一下matlab,請求一個老師教我一下。
求助一個老師,我是學習電力電子技術專業的學生,想學習一下matlab,我們老師教的不敢恭維呀。有愿教一下小弟的嗎??小弟不勝感激呀。。。。
2012-09-13 22:51:34
想問一下RT-Thread系統的動態分配不是分配到堆區嗎
,線程棧大小原本設置的是1024,運行后出現hardfault,把線程棧大小改成2048才可以,其中qrcode變量是動態分配的,想問一下動態分配的話不是分配到堆區嗎,跟線程棧大小沒有關系吧,為什么會出
2022-08-31 14:29:45
想問一下因特爾的vpu是什么技術?
各位大佬,想咨詢一下下面的三個問題:①因特爾新推出的VPU技術是什么?未來會用在什么地方?②百度到的vpu是視頻處理單元,這個和機器視覺有啥聯系呀?③因特爾的vpu在人工智能領域,目前是處于什么的情況?謝謝
2019-11-23 18:46:04
整理一下關于Altium Designer9.0快速建立3D模型的文章,總結一下經驗
學習一下網友關于Altium Designer9.0快速建立3D模型的文章,總結一下經驗,分享一下,只作技術的交流
2015-12-11 11:44:13
新人求一些關于ARM學習的一些經驗
, 之后不知道從何學起 ,最近買了一本C++譚浩強的書 準備學一下 之后準備接觸數據結構在學習ARM, 看了一些有經驗的人發的帖子 不知道自己應該接觸嵌入式硬件還是嵌入式軟件 還有ARM7跟ARM9的一
2015-06-22 20:06:10
新手如何學習ARM嵌入式開發
最近有網友問新手該如何學習ARM向其他工程師請教了一下 有以下方法前提:需要會C,了解操作系統,學習嵌入式系統,如linux或者wince下的編程,最好還有單片機經驗,那樣會事半功倍。1:先看關于
2014-04-18 14:57:33
新手請教一下該怎么學習PCB設計
一點基礎, 想請各位前輩指點一下該學什么, 以及怎么學,我目標是要能設計ARM9這樣級別的板子, 身邊沒有做相關工作的前輩可以請教, 目前靠做一些簡單的模塊板并制作實物來學習; e, i% y8 z4
2014-10-24 14:03:37
新手跪求給點一下學習ARM經驗
我大三,馬上就要出去實習了,也沒多久呆在學校。大三上學期才開始接觸嵌入式,目前只學了3門課程。《嵌入式系統概論》,《DSP原理及應用》,《ARM體系結構》。話說雖然學了這三門課,但是真正對嵌入式的學習和理解還是不是很透徹。跪求大神們給點學習的意見,另外想買塊板子學學,有什么好用一點的板子推薦嗎?
2015-01-10 17:03:56
淺談ARM嵌入式系統如何學習與入門
學起才好?學了半天還是不懂?其實往往在一門技術的學習上,特別是在基礎知識上不能胡亂的學習,只有掌握了技術的核心,運用起來才會得心應手。那么ARM嵌入式系統該如何掌握,怎么去快速入門呢?淺談ARM嵌入式
2019-03-15 16:49:22
系統的學習一下嵌入式Linux開發
系統的學習一下嵌入式Linux開發,畢竟自己的工作也是這個范圍內的,所以對我后期的工作會很有利!Arm架構型號ARM只做芯片設計,不做生產。公司將設計好的芯片賣給半導體廠商,這也是源于公司初期的規模
2021-12-14 06:19:12
記錄一下arm裸板編程出現的問題
led. o -o led.elf ,錯寫成 arm-linux-ld -Ttext 0 led. o start.o -o led.elf在連接的時候必須將啟動文件放在第一的位置,因為是在start文件中調用的其他函數,這種錯誤在make時不會出現錯誤,記錄一下
2018-03-23 11:07:12
記錄一下Linux設備模型學習歷程
Linux設備模型學習筆記1KobjectKobject, Kset和KtypeUeventsysfs文件系統wowo這里寫的很好了:內核等看wowo寫的很有幫助我寫一下我的理解。記錄一下自己的學習
2022-02-17 06:05:12
請教一下有哪些ARM的DMA電路呢
請教一下有哪些arm的DMA電路,現在看到的是DMA330,用的bus好像是AXI的,有沒有AHB bus的DMA(ARM設計),謝謝
2022-06-02 09:33:34
請問一下ARM的C文件是用ARM還是THUMB編譯的
請問一下ARM的C文件是用ARM還是THUMB編譯的?我不知道所選擇的 C 文件到底是用ARM還是THUMB編譯的,請大俠指點
2022-11-02 14:16:33
誰學過ZigBee技術
`ZigBee技術越來越在智能家居中的優勢顯現出來,正好我們參賽也需要這方面知識。于是想入手一套開發板,系統的學習一下。主要是基于CC2530的無線網絡。求推薦一下,最好有視頻.O(∩_∩)O謝謝!`
2014-11-28 16:20:59
可調諧光功率分配器應用及技術
本文介紹了可調諧光功率分配器的應用的幾種情況,并介紹了目前可調諧光功率分配器的幾種實現技術,相信可調諧光功率分配器在未來的光通信市場中會有非常誘人的應用前景。
2008-12-02 08:13:5617
如何開始進入ARM學習
如何開始進入ARM學習 ARM學習可以分為基于ARM內核的COS開發設計和基于ARM SOC的開發應用。由于站長是做ARM SOC應用的
2010-02-09 18:01:43209
功率分配器的技術指標_功率分配器的功能
功率分配器是一種將一路輸入信號能量分成兩路或多路輸出相等或不相等能量的器件,也可反古將多路信號能量合成一路輸出,此時可也稱為合路器。下面,我們一起來了解一下功率分配器的技術指標。
2020-01-06 10:30:263903
評論
查看更多