摘要:分析嵌入式系統(tǒng)對動態(tài)電源管理的需求,并在此基礎(chǔ)上提出了與之適應(yīng)的,以策略框架為中心的系統(tǒng)級動態(tài)電源管理架構(gòu)。利用這種構(gòu)架可以整合針對不同組件的動態(tài)電源管理算法和機制,從系統(tǒng)角度進行行之有效的管理。該架構(gòu)應(yīng)用于TD-SCDMA無線終端上,平均能耗下降了50%,取得良好的效果。
1 簡介
隨著系統(tǒng)集成技術(shù)和無線通信技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的應(yīng)用日趨網(wǎng)絡(luò)化。尤其是無線通信系統(tǒng)中,人們對嵌入式設(shè)備提出了更高的要求:除了提供基本的語音、數(shù)據(jù)通信等基本功能外,還需要事例復(fù)雜的多媒體應(yīng)用。這就要求嵌入式系統(tǒng)在滿足必要的實時性前提下,提供更高的計算性能和大容量的存儲空間;在這些系統(tǒng)一般都帶有電池部件并通過它向整個系統(tǒng)供電。滿足高性能要求的代價是更大的能量消耗,這就必須縮短電池的供電時間。大量研究證明,系統(tǒng)處于空閑的時間占整個運行時間的相當(dāng)大一部分。電源管理就是為了減少系統(tǒng)在空閑時間的能量消耗,使嵌入式系統(tǒng)的有效能量供給率最大化,從而延長電池的供電時間。
為了延長電池的使用時間,在硬件領(lǐng)域,低功耗硬件電路的設(shè)計方法得到了廣泛應(yīng)用。然而僅僅利用低功耗硬件電路仍舊不夠,進一步的,在系統(tǒng)設(shè)計技術(shù)中,提出了“動態(tài)電源管理DPM(Dynamic Power Management)”的概念。在DPM中,普通的方法是把系統(tǒng)中不在使用的組件關(guān)閉或者進入低功耗模式(待機模式),另外一種更加有效的方法就是動態(tài)可變電壓DVS和動態(tài)可變頻率DFS。通過在運行時態(tài)動態(tài)地調(diào)節(jié)CPU頻率或者電壓??梢栽跐M足瞬時性能的前提下,使得有效能量供給率最大化。
硬件上提供的低功耗機制,需要軟件實現(xiàn)上來發(fā)揮它的效能。理想的條件下,是希望在系統(tǒng)中,以“功率監(jiān)控(power-aware)”的方法,管理不同的系統(tǒng)資源(硬件和軟件上的資源),這樣才能滿足嵌入式系統(tǒng)高性能和低功耗的要求。據(jù)研究顯示,系統(tǒng)范圍內(nèi)能量的驟降,完全因為系統(tǒng)任務(wù)的工作負荷急劇增加和外設(shè)的頻繁利用。必然地,實時嵌入式操作系統(tǒng)就成了唯一理想的來實現(xiàn)軟件上的DPM。這是因為:①實時嵌入式操作系統(tǒng)可以決策不同應(yīng)用任務(wù)的運行,可以收集任務(wù)相關(guān)的實時限制信息和性能需求信息;②實時嵌入式操作系統(tǒng)可以直接控制底層的硬件,利用硬件提供的DPM技術(shù)或者機制。
本文主要根據(jù)嵌入式系統(tǒng)的特點,提出一個系統(tǒng)級的DPM構(gòu)架。
2 DPM構(gòu)架需求
DPM構(gòu)架是結(jié)構(gòu)化的規(guī)則和機制來整合系統(tǒng)不同組件的DPM技術(shù)或者相關(guān)算法,使之能從整個系統(tǒng)的角度來著眼系統(tǒng)的電源管理問題,而不是僅僅局限于系統(tǒng)的某一組件。
①DPM構(gòu)架應(yīng)具有靈活性。由于嵌入式系統(tǒng)沒有一個開放式的統(tǒng)一標(biāo)準,因此DPM系統(tǒng)構(gòu)架應(yīng)具有靈活性,使之能在不同平臺中得到應(yīng)用。DPM系統(tǒng)盡管作為操作系統(tǒng)的一個獨立模塊,但是應(yīng)該和操作系統(tǒng)透明,上層的應(yīng)用通過DPM間接對硬件提供的電源管理機制進行控制,無須考慮底層的硬件細節(jié)。
②DPM構(gòu)架需要收集系統(tǒng)的資源利用信息。DPM系統(tǒng)通過收集上層應(yīng)用的信息和設(shè)備的信息,利用這些信息作出決策,進行整個系統(tǒng)范圍內(nèi)的電源管理。
③DPM應(yīng)支持普通任務(wù)和功能監(jiān)控任務(wù)并發(fā)管理機制。理想的情況下,對于每一個應(yīng)用都希望功率監(jiān)控,這樣可以大大降低系統(tǒng)的能耗。然而,實際中,應(yīng)用開發(fā)來自不同的廠商,大多數(shù)是對硬件透明的,因此實現(xiàn)每一個任務(wù)的功率監(jiān)控是非常困難的;只有少數(shù)關(guān)鍵程序,由嵌入式系統(tǒng)的設(shè)計者開發(fā)。因為他們熟悉硬件的特性,可以實現(xiàn)功率監(jiān)控,所以,在DPM系統(tǒng)中,應(yīng)用采取某種機制實現(xiàn)兩種混合任務(wù)的電源管理。
④DPM對外設(shè)管理應(yīng)具有透明性。外設(shè)狀態(tài)的變化應(yīng)該做到和上層應(yīng)用的DPM策略無關(guān),不會因為外設(shè)狀態(tài)的變化,而影響上層所采用的DPM策略的變化。
⑤DPM構(gòu)架應(yīng)支持硬件提供的電源管理機制和技術(shù)。比如DVS、DFS,系統(tǒng)的不同電源模式(活動、睡眠、冬眼),外設(shè)的時鐘管理,外設(shè)的自動睡眠技術(shù)等等。
3 DPM構(gòu)架描述
首先需要明確的是,DPM不是DVS算法,也不是功率監(jiān)控的操作系統(tǒng),更不是類似ACPI的電源管理控制機制。它其實是一個操作系統(tǒng)模塊,負責(zé)管理運行時態(tài)的電源管理。DPM策略管理者和應(yīng)用程序通過簡單的API和該模塊交互。盡管沒有ACPI應(yīng)用廣泛,DPM架構(gòu)卻可以對設(shè)備和設(shè)備驅(qū)動進行管理,這樣就適合對高整合的SoC處理器進行有效的電源管理。
本文提出的DPM是以策略框架(policy framework)為中心的軟件結(jié)構(gòu)。其中包含幾個重要的概念:操作點(operationg point)、操作狀態(tài)(operationg state)、策略(policy)、約束(constraint)。
(1)操作點
在給定時間點上,系統(tǒng)運行在某個特定操作點上。操作點封裝了最小的、相互關(guān)聯(lián)的、物理的離散參數(shù)集合。一般來說,參數(shù)主要是CPU的頻率、電壓、電源管理模式、總線頻率和不同外設(shè)狀態(tài)等。一旦確定了操作點,也就確定了整個系統(tǒng)的性能等級和與之關(guān)聯(lián)的能耗等級。操作點由系統(tǒng)的設(shè)計者定義,在定義的時候必須注意到參數(shù)間的相關(guān)性和合理性。比如,在某種特定電源管理模式下,CPU的最高核心電壓被限制,而在核心電壓的限制下,可變頻CPU的工作頻率不能超過一個最大值。對于支持多操作點的嵌入式系統(tǒng),當(dāng)某個事件發(fā)生時,系統(tǒng)會從有一個操作點切換到另一個操作點。這樣就需要定義一種機制,來管理不同操作點的切換。對于這一點,會在后面的操作點類型和設(shè)備管理中詳細描述。在策略框架結(jié)構(gòu)中,操作點是最底層的抽象對象。
在OMAP1612中包含兩個內(nèi)核:ARM926EJS和C5510(DSP)。ARM內(nèi)核負責(zé)整個系統(tǒng)的管理、無線通信協(xié)議棧和應(yīng)用程序的運行;DSP內(nèi)核負責(zé)與無線通信相關(guān)的數(shù)字信號處理。其中,ULPD(Ultralow-Power-Device)模塊提供了芯片級的電源管理機制,包括時鐘、電壓、省電模式的管理。UPLD分為三個不同的工作模式—Deep Sleep、Big Sleep和Awake,分別對應(yīng)不同的能耗等級。TC(Traffic Controller)負責(zé)管理相關(guān)存儲器接口。
(2)操作狀態(tài)
如果把操作點比喻為點的話,操作狀態(tài)就是一個面。在多操作點的系統(tǒng)下,操作狀態(tài)與操作點的關(guān)系是一對多的關(guān)系。引入操作狀態(tài)的動機主要有兩個考慮。
①為了利用DVS和DFS,需要實時監(jiān)控系統(tǒng)的工作負荷,但是工作負荷是一個連續(xù)值,而操作點卻是離散的。極端的情況下,可以為不同的工作負荷定主不同的操作點:但是,由于硬件上改變頻率和電壓都存在延遲和多余的能量消耗,如果頻繁地改變操作點,效果卻適得其反,因此需要對工作負荷的范圍進行劃分。在實際情況下,系統(tǒng)的工作負荷和操作系統(tǒng)的狀態(tài)緊密相磁。一般可以把操作系統(tǒng)看作一個狀態(tài)機,操作系統(tǒng)通過事件的觸發(fā),在沒的狀態(tài)音間切換。簡單地,可以把操作系統(tǒng)的狀態(tài)與操作狀態(tài)一一對應(yīng)。由于處于“空閑”和“調(diào)度”,對應(yīng)不同的工作量范圍,映射不同的操作點。當(dāng)然可以對“調(diào)度”狀態(tài)再進行劃分。
②作為功率監(jiān)控的任務(wù),它可以配置特定一個或者多個操作點,但是為了維持底層硬件細節(jié)對任務(wù)的透明性,通過設(shè)置操作狀態(tài)來間接指定操作點,體現(xiàn)了DPM構(gòu)架的靈活性。為了滿足這樣的需求,DPM構(gòu)架中引入了“任務(wù)狀態(tài)(task state)”的概念。對于功率監(jiān)控的任務(wù)來說,可以在自己的代碼空間中,根據(jù)任務(wù)本身的運行狀況設(shè)置該任務(wù)自己的任務(wù)狀態(tài),而任務(wù)狀態(tài)作為特定的操作狀態(tài)在系統(tǒng)初始化的時候登記到DPM中。當(dāng)在操作系統(tǒng)任務(wù)上下文調(diào)度切換的時候,根據(jù)任務(wù)狀態(tài),直接調(diào)用DPM的相關(guān)例程,應(yīng)用新的操作狀態(tài);對于普通的任務(wù),在“任務(wù)狀態(tài)”操作中配置參數(shù)“NO STATE”。“NO?。樱裕粒裕拧北硎緵]有特定的任務(wù)狀態(tài),即不改變系統(tǒng)當(dāng)前的操作點.那么,該任務(wù)的運行在上下文切換時,能保持原有的操作狀態(tài)。
由于要同時管理普通任務(wù)和功率監(jiān)控任務(wù),在上下文切換設(shè)置操作狀態(tài)的最低點必然會出現(xiàn)DVS算法和應(yīng)用頻率監(jiān)控任務(wù)狀態(tài)的矛盾。為了解決這個問題,需要引入操作狀態(tài)優(yōu)先級機制。在實現(xiàn)中,功率監(jiān)控的任務(wù)狀態(tài)對應(yīng)的操作狀態(tài)優(yōu)先級高于DVS算法配置的操作狀態(tài)。這樣,在上述矛質(zhì)出現(xiàn)的時候,優(yōu)先應(yīng)用功率監(jiān)控任務(wù)配置的操作狀態(tài)。
根據(jù)操作系統(tǒng)運行的狀態(tài),簡單地定義了五種操作狀態(tài)——空閑、任務(wù)-、任務(wù)+、任務(wù)、睡眠,并且給出了操作狀態(tài)之間的狀態(tài)遷移,如圖1所示。特別地,當(dāng)操作系統(tǒng)處于中斷狀態(tài)時,并不為其定義特定的操作狀態(tài),而是通過把中斷處理例程的任務(wù)狀態(tài)定義為“NO STATE”來實現(xiàn)。
(3)策略和策略管理者
DPM最高級的抽象對象是策略。定義一個策略就是定義每個操作狀態(tài)所映射的操作點。在系統(tǒng)中,對某個電源管理方案必須至少定義一個策略,也可以根據(jù)不同情況不定期義多策略。在多策略電源方案中,需要策略管理器來協(xié)調(diào)不同的策略。策略管理器可以從操作系統(tǒng)、用戶調(diào)用、運行程序、物理設(shè)備收集信息從而作出策略決策。策略管理器的位置(用戶空間和內(nèi)核空間)、所收集信息的內(nèi)容和形式以及相應(yīng)的操作,需要系統(tǒng)的DPM設(shè)計者來定義和實現(xiàn)。
(4)設(shè)備管理和同等操作點類
在DPM架構(gòu)中,策略管理者不會直接對設(shè)備的狀態(tài)進行管理,而是通過底層的設(shè)備驅(qū)動來管理設(shè)備的能耗。在某個操作狀態(tài)下,映射一類可以在該狀態(tài)下能被系統(tǒng)接受的操作點。在該狀態(tài)下,當(dāng)某個睡眠的設(shè)備需要被喚醒的時候,通過驅(qū)動對DPM聲明約束(constraints),接著DPM在這一類的操作點中選擇另外一個操作點,使得該操作點下,該設(shè)備能夠正常工作,選擇的機制可以在策略中定義。簡單的方法是選擇該類中合法的(滿足約束條件)能耗最低的操作點,或者是特別指不定期某個操作點。
4 DPM模塊實現(xiàn)
在實時嵌入式操作系統(tǒng)Nucleus微內(nèi)核中實現(xiàn)了DPM模塊,采用的平臺是基于TI?。希停粒校保叮保驳模裕模樱茫模停翢o線終端參考設(shè)計(32MB DDRAM,176×220?。保禸pp TFT液晶顯示屏,USB和其它外設(shè))。圖2是整合DPM的操作系統(tǒng)結(jié)構(gòu)。
在DPM模塊中,整合了策略管理、功率監(jiān)控調(diào)度器(power-aware scheduler)、工作負荷監(jiān)控器、操作狀態(tài)管理器、操作點管理、約束管理六個子模塊。其中,功率監(jiān)控調(diào)度器和工作負荷監(jiān)控器嵌入到內(nèi)核的上下文切換中,工作負荷監(jiān)控器通過計算操作系統(tǒng)處于空閑調(diào)度的時間和采樣周期的比值來表征CPU的工作負荷,然后把這個值傳遞給功率監(jiān)控調(diào)度器,通過內(nèi)部整合“動態(tài)減慢因子”DVS算法,預(yù)測下一任務(wù)的工作負荷,并設(shè)置與之相對應(yīng)的操作狀態(tài)。其它四個模塊分別對構(gòu)架中的抽象對象操作點、約束、操作狀態(tài)、策略進行管理。特別地,策略管理的核心是策略管理者,它以一個獨立線程的形式運行在內(nèi)核空間。
5 結(jié)論
經(jīng)過測試,整合DPM的TD-SCDMA無線終端平均能耗下降了50%。其中在操作點High Active時,電流為400mA左右,而在操作點Sleep時降到了200mA左右;如果應(yīng)用操作點Deep Sleep(關(guān)閉ARM、DSP和所有設(shè)備,維持一個32kHz的時鐘)電流甚至可以降到10~20mA,完全滿足長時間待機。實驗表明,利用DPM構(gòu)架,可以對3G無線終端實行之有效的動態(tài)電源管理。隨著半導(dǎo)體技術(shù)、應(yīng)用程序優(yōu)化技術(shù)以及高粒度時鐘門控和電壓門控技術(shù)的發(fā)展,為提升嵌入式系統(tǒng)的有效能量供給率提供了可能。利用這些新技術(shù)繼續(xù)開發(fā)和改進DPM架構(gòu)和實現(xiàn),正是今后研究的方向和重點。
- 嵌入式系(13927)
- 管理架構(gòu)(6268)
相關(guān)推薦
嵌入式系統(tǒng)中電源管理電路的設(shè)計與實現(xiàn)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
嵌入式架構(gòu)有多重要
嵌入式架構(gòu)有多重要?
嵌入式系統(tǒng)
嵌入式系統(tǒng)架構(gòu)的發(fā)展趨勢特點
嵌入式系統(tǒng)電源芯片選型要注意什么?
嵌入式系統(tǒng)EMC的產(chǎn)生原理是什么?
嵌入式系統(tǒng)中的電源管理是什么
嵌入式系統(tǒng)中的數(shù)據(jù)存儲和管理的相關(guān)資料分享
嵌入式系統(tǒng)串行設(shè)備管理怎么實現(xiàn)?
嵌入式系統(tǒng)內(nèi)存管理
嵌入式系統(tǒng)和嵌入式電腦有什么區(qū)別?
嵌入式系統(tǒng)復(fù)習(xí)資料
嵌入式系統(tǒng)是什么?嵌入式計算機系統(tǒng)有哪些特點?
嵌入式系統(tǒng)是由哪些部分組成的?實時嵌入式系統(tǒng)特征有哪些
嵌入式系統(tǒng)有哪些應(yīng)用
嵌入式系統(tǒng)概述
嵌入式系統(tǒng)概述知識梳理
嵌入式系統(tǒng)的發(fā)展歷史
嵌入式系統(tǒng)的常規(guī)電源設(shè)計策略
嵌入式系統(tǒng)的知識體系
嵌入式系統(tǒng)的軟件架構(gòu)設(shè)計!
嵌入式系統(tǒng)組件的設(shè)計原則是什么
嵌入式系統(tǒng)能耗怎么實現(xiàn)動態(tài)管理?
嵌入式系統(tǒng)設(shè)計具有什么特點
嵌入式系統(tǒng)軟件開發(fā)環(huán)境
嵌入式Linux系統(tǒng)中內(nèi)核抽象的動態(tài)擴展技術(shù)
嵌入式Linux系統(tǒng)中內(nèi)核抽象的動態(tài)擴展技術(shù)
嵌入式Linux系統(tǒng)中內(nèi)核抽象的動態(tài)擴展技術(shù)
嵌入式Linux系統(tǒng)的設(shè)計與應(yīng)用
嵌入式Linux系統(tǒng)知識架構(gòu)
嵌入式低功耗電源管理框架的設(shè)計資料分享
嵌入式媒體網(wǎng)關(guān)的架構(gòu)是什么?
嵌入式實時操作系統(tǒng)如何簡化應(yīng)用軟件的設(shè)計
嵌入式手持終端電源管理系統(tǒng)有什么功能?
嵌入式最小系統(tǒng)的啟動架構(gòu)是什么?
嵌入式機器視覺系統(tǒng)有什么特性?怎么優(yōu)化?
嵌入式軟件開發(fā)中的程序架構(gòu)
ARM嵌入式最小系統(tǒng)的啟動架構(gòu)是什么?
C語言嵌入式系統(tǒng)編程注意事項
Linux嵌入式系統(tǒng)中內(nèi)核技術(shù)的可動態(tài)拓展技術(shù)有哪些
Linux作為嵌入式操作系統(tǒng)的優(yōu)勢是什么?如何建立嵌入式Linux?
為何要進行嵌入式軟件架構(gòu)設(shè)計?如何設(shè)計?
什么是嵌入式系統(tǒng)?深嵌入式系統(tǒng)又是什么
什么是嵌入式操作系統(tǒng)內(nèi)存管理技術(shù)?
什么是嵌入式操作系統(tǒng)?嵌入式操作系統(tǒng)有何功能
什么是CPCI嵌入式系統(tǒng)電源?
決定嵌入式系統(tǒng)軟件架構(gòu)的因素和架構(gòu)的影響
基于FPGA的嵌入式系統(tǒng)應(yīng)用
基于Linux的動態(tài)電源管理的相關(guān)資料分享
基于Web的嵌入式設(shè)備該怎么管理?
多核嵌入式系統(tǒng)存在的局限性?怎么解決這些問題?
如何系統(tǒng)的學(xué)習(xí)嵌入式?
如何去設(shè)計嵌入式SMP系統(tǒng)?
如何實現(xiàn)嵌入式操作系統(tǒng)電源管理?
如何設(shè)計嵌入式系統(tǒng)中電源管理電路?
對嵌入式系統(tǒng)中的架構(gòu)設(shè)計的理解
對于嵌入式應(yīng)用層的開發(fā)真的不需要架構(gòu)嗎
工業(yè)嵌入式計算平臺開發(fā)招聘
怎么設(shè)計嵌入式系統(tǒng)的內(nèi)存管理
怎樣去設(shè)計嵌入式演示系統(tǒng)?
怎樣去設(shè)計一種基于嵌入式架構(gòu)的指紋識別系統(tǒng)呢
招嵌入式架構(gòu)講師
有關(guān)嵌入式系統(tǒng)的基本知識匯總
汽車嵌入式系統(tǒng)的發(fā)展如何?
移動嵌入式遭遇能耗瓶頸,WinCE電源管理應(yīng)對有技巧
誠聘嵌入式系統(tǒng)工程師
誠聘嵌入式軟件架構(gòu)師
請問如何使用UML來設(shè)計嵌入式系統(tǒng)?
通用嵌入式系統(tǒng)測試平臺架構(gòu)類型是什么
通用嵌入式操作系統(tǒng)有什么區(qū)別?
華為ETP48200-C5E1嵌入式電源系統(tǒng)
嵌入式Linux系統(tǒng)的動態(tài)電源管理技術(shù)
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/68/wKgZomUMOE2AX4TcAADUJLxww30208.jpg)
嵌入式系統(tǒng)電源管理實現(xiàn)對比
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/DC/wKgZomUMOnyAVnRuAAAWIOSurRo070.jpg)
嵌入式Linux系統(tǒng)的動態(tài)電源管理技術(shù)解決方案
![](https://skin.elecfans.com/images/2021-soft/load.png)
評論