當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]嵌入式實時操作系統(tǒng)在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統(tǒng)龐大的應用中顯得愈來愈重要。人們要求實時嵌入式產(chǎn)品能夠提供更為強勁的計算能力,以滿足無

嵌入式實時操作系統(tǒng)在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統(tǒng)龐大的應用中顯得愈來愈重要。人們要求實時嵌入式產(chǎn)品能夠提供更為強勁的計算能力,以滿足無線通信、多媒體應用的要求,然而高性能的代價就是高能耗,因此延長實時嵌入式系統(tǒng)電池使用時間已經(jīng)成為實時嵌入式系統(tǒng)設計普遍關注的問題。在實時嵌入式系統(tǒng)中,核心處理器的能耗占據(jù)整個能耗的相當大一部分。動態(tài)電壓調(diào)節(jié)被看作是降低處理器能耗的關鍵技術(shù),其原理是在系統(tǒng)運行時態(tài)通過動態(tài)改變處理器的電壓和頻率,降低系統(tǒng)中的無用能耗,從而提高能量的有效利用率[1]。

當前,基于任務的動態(tài)電壓調(diào)節(jié)算法主要集中在對周期性任務集合的研究,其中只有很少一部分是對周期性任務和非周期性任務的混合任務集進行研究。另外,基于工作負荷的DVS算法盡管能從系統(tǒng)級上解決無用能耗問題,但卻很少考慮到系統(tǒng)的實時性。

1 動態(tài)電壓調(diào)節(jié)算法理論背景

1.1 動態(tài)電壓調(diào)節(jié)算法的必要性

由于CMOS電路的能量消耗E與電路電壓V的平方成正比,因此降低電壓是降低線路能耗的最有效的方法之一。DVS算法的基本原理: 系統(tǒng)在運行時間內(nèi)根據(jù)性能的不同要求而相應地執(zhí)行降低或者提高電壓和工作頻率的操作,從而降低能耗。

傳統(tǒng)的電源管理技術(shù)只是在空閑時間內(nèi)降低功耗十分有效,而在運行時間內(nèi)卻無能為力。目前,一些操作系統(tǒng)內(nèi)核對動態(tài)電壓管理(DPM)的支持還是局限于不能調(diào)整核心電壓,主要是通過調(diào)整CPU頻率和支持開關外圍設備的供電來實現(xiàn)。但是近年來,隨著半導體技術(shù)的發(fā)展,在運行時態(tài)動態(tài)改變處理器的工作電壓和/或時鐘頻率已經(jīng)變成了現(xiàn)實。很多商用嵌入式處理支持動態(tài)電壓調(diào)節(jié)DVS這一技術(shù),比如TI公司的OMAP系列處理器、Intel公司的StrongARM處理器、Transmeta公司的Crusoe處理器,還有IBM公司的PowerPC 405LP處理器等。

1.2 實時操作系統(tǒng)與任務調(diào)度

在實時系統(tǒng)軟件中,最基本的軟件是實時操作系統(tǒng)。它是實時系統(tǒng)軟件的基礎,所有的實時應用軟件都是在實時操作系統(tǒng)的支撐下運行的。與通用操作系統(tǒng)相比,實時操作系統(tǒng)有其特有的一些重要特征,包括規(guī)模較小、中斷時間很短、進程切換很快、中斷被屏蔽時間很短、能管理ms級或μs級的多個定時器。因此它能適應各種實時應用的需求,從快速的實時響應到慢速的實時響應,都能應付自如。

實時系統(tǒng)的實時性通過周期(period)和時限(deadline)來體現(xiàn)。周期是均勻重復性任務每兩次調(diào)用開始的時間間隔。任務必須在某個時刻前完成操作,啟動時刻與該時刻的時間間隔被稱為“時限”。均勻重復性任務又稱為“周期性任務(periodic task)”。周期性任務在一個周期內(nèi)的一次調(diào)用可以看作是一個作業(yè)。通常,周期性任務的作業(yè)周期和時限是相等的。

實時操作系統(tǒng)的核心就是任務調(diào)度。它提供給系統(tǒng)一個決策機制,決定在某個瞬間時刻下,系統(tǒng)作業(yè)池中哪一個作業(yè)占用處理器?;诰€程的任務間DVS算法就是以實時系統(tǒng)的任務調(diào)度為主要理論基礎。

1.3 服務器

然而,現(xiàn)實的情況是實時系統(tǒng)中并非所有的任務都是非周期性的。對于兩種任務的混合調(diào)度情況,在基于優(yōu)先級的方案中,簡單地使非周期性任務的優(yōu)先級低于周期性的任務[2]。這樣,非周期性任務作為后臺活動運行;而在搶占式系統(tǒng)中,它就不能掠奪周期性任務的資源。盡管這是一個安全的方案,但是考慮到非周期性任務的時限,如果讓它們只作為后臺運行,往往會錯過它們的時限。為了改善非周期性任務的這種狀況,可利用服務器(server)來解決。在RM策略下,最廣泛研究的是可延期服務器(Deferred Server,DS)和偶發(fā)服務器[3](Sporadic Server,SS)。

在DS中,引進一個新的最高優(yōu)先級任務,這個任務也就是服務器。它有一個周期Ts和一個容量(Budget)Es。在運行時態(tài),當一個非周期性任務達到時,如果服務器有可用容量,就立即開始執(zhí)行,直到任務完成或服務器容量耗盡;如果服務器沒有可用容量,那么非周期進程會被掛起(或轉(zhuǎn)換為后臺優(yōu)先級)。在DS模型中,服務器容量每Ts個單位被補充一次。

SS的操作不同于DS在于它的容量補充策略。在SS中,如果一個任務在t時刻到達,并要求使用容量e,那么服務器在時間t后的Ts個時間單位補充容量e。通常,SS能提供比DS更高的容量,但同時也增加了實現(xiàn)的開銷。

2 基于混合任務集的減慢因子DVS算法

在實時系統(tǒng)中可調(diào)度性是保證系統(tǒng)可靠的重要參數(shù),對任務集進行可調(diào)度性分析是減慢因子算法的必要部分。在進行可調(diào)度性分析的過程中,本文把非周期性任務的服務器看作固定優(yōu)先級的周期性任務,將服務器的周期Ts作為任務周期和周期性任務一起分析。假設在系統(tǒng)S中存在著n個周期性任務t1、t2、t3、 K、tn和個非周期性任務a1、a2、a3、K、an,所有的非周期性任務受可延期服務器DS的調(diào)度。如果系統(tǒng)S運行于固定速度處理器上,混合任務集在單調(diào)速率可搶占的調(diào)度方案下調(diào)度,那么可以用周期性任務集的單調(diào)速率可搶占調(diào)度方案的響應時間分析方法對這個混合任務集進行可調(diào)度分析。

減慢因子即任務的運行頻率和最高頻率之間的比值。在系統(tǒng)運行期間,即使所有任務按照最壞情況執(zhí)行時間(WCET)運行,大多數(shù)情況下處理器的利用率也遠低于100%,任務集在某個任務時限前,系統(tǒng)處于空閑調(diào)度循環(huán)中。因此,對處理器的電壓和工作頻率進行減慢因子計算,使空閑時間間隔大大縮短甚至消失,這樣就達到了降低能耗的目的。

在下面的減慢DVS算法中,當任何新的周期性任務或者服務器進入系統(tǒng)并且在調(diào)度器中登記后,將會執(zhí)行 Compute_Slowdown_Factors過程,進行整個系統(tǒng)的可調(diào)度性分析,并且為每一個任務計算出最低的工作頻率,從而保證所有任務在其工作頻率下運行仍舊是可調(diào)度的,不會影響整個系統(tǒng)的實時性需求。

下面給出計算靜態(tài)減慢因子αs算法的偽代碼(其中0<αs≤1):

//Algorithm Compute_Slowdown_Factors

Inputs:

S//將要進行減慢因子計算的任務集,包括周期性任務和非周期性任務的服務器

Outputs:

Slowdown_Factors[]//任務集的靜態(tài)減慢因子

{

Sm//計算出減慢因子后,將要超過時限的任務集,初始化為空集[!--empirenews.page--]

Current_Scaling _Factor=1;

For S中的每一個任務i

Slowdown_Factor[i]=1;

While (S不為空集){

F=Scale_WCET(S,Slowdown_Factor[]);//計算減慢因子F

重新設置Sm;

Current_Scaling_Facotr *=F;

For S中的每一個任務i {

If任務i!=服務器

Slowdown_Factor[i]=F;

}

重新設置集合S,讓集合S中所有任務的優(yōu)先級小于Sm中最低優(yōu)先級任務的優(yōu)先級;

}

}

上面的程序通過Scale_WCET過程計算一個減慢因子,使得給定任務集中存在的一個或者多個任務的最差響應時間剛好等于它們的時限(此時該任務集剛好可調(diào)度),這樣的任務稱為“臨界任務”。Compute_Slowdown_Factors過程首先調(diào)用Scale_WCET過程計算初始任務集的同一減慢因子F;然后讓優(yōu)先級低于臨界任務的任務集繼續(xù)調(diào)用Scale_WCET過程計算出新的減慢因子。這是因為如果繼續(xù)讓作用于優(yōu)先級高于臨界任務的減慢因子F變小,則必然會導致至少有一個臨界任務超過時限,破壞了系統(tǒng)的實時性;而讓作用優(yōu)先級低于臨界任務的減慢因子F變小,則不會影響整個任務集的可調(diào)度性。這個過程將會反復執(zhí)行,直到初始任務集中的最低優(yōu)先級任務變成臨界任務??傊?,這個迭代過程為每一個任務計算出減慢因子,同時保證整個任務集是可以調(diào)度的。需要說明的是,對于服務器將不會應用靜態(tài)減慢因子,因為如果增加了服務器的運行時間,則必然會造成受服務器調(diào)度的非周期性任務的平均響應時間的增加。

3 算法驗證和仿真

本算法通過T1 OMAP1612的TCSCDMA無線終端平臺來驗證,對實時嵌入式操作系統(tǒng)Nucleus微內(nèi)核進行功能上的擴充,主要是實現(xiàn)了可延期服務器(DS)和偶發(fā)服務器(SS)來對非周期性任務進行調(diào)度。同時,又整合了基于本算法的DVS模塊和CPU功率檢測模塊。

本實驗通過3種情況(沒有采用DVS算法,以及基于混合任務集的減慢因子DVS算法在DS和SS中的分別應用)分別在服務器利用率為25%、35%、45%的情況下進行了時間為60 s的實驗,得出各情況下能耗在不同服務器利用率下的關系,如圖1所示。

 

圖1 各種算法的能耗對比

圖1結(jié)果表明,采用基于混合任務集的減慢因子DVS算法與沒有采用DVS算法相比,能耗降低了大概19.3%~32%;同時也看到,服務器利用率越高,能耗越接近于沒有采用DVS算法所產(chǎn)生的能耗。這是因為為了保證非周期性任務有很短的響應時間,基于混合任務集的減慢因子DVS算法在服務器上運行時,總是以最高頻率運行,同時高服務器利用率意味著服務器會占用很大一部分CPU周期。因此,在這樣的環(huán)境下,CPU很大的一部分時間都運行在最高頻率上,導致服務器利用率越高, 越接近沒有采用DVS算法的情況。

4 結(jié)論

本文提出的針對靜態(tài)空閑間隔的靜態(tài)減慢因子算法屬于脫機(offline)的DVS算法。該算法同時把占系統(tǒng)很大部分的非周期性任務一起進行分析,把非周期性任務的服務器當作周期性任務進行動態(tài)電壓調(diào)節(jié),從而解決了非周期性任務的功耗問題,具有很大的實際意義。在保證性能的同時,降低了系統(tǒng)中的無用能耗,提高了能量的有效利用率。隨著研究的深入,還將深入到對聯(lián)機(online)情況進行動態(tài)電壓調(diào)節(jié)。

參考文獻

[1] Pering T, Burd T, Brodersen R. Dynamic voltage scaling and the design of a lowpower microprocessor system[C]. Proceedings of the 7th Annual International Conference on Mobile Computing and Networking, 2001:251259.

[2] Hakan Aydin, Qi Yang. Energy?Responsiveness Tradeoffs for RealTime Systems with Mixed Workload[C].IEEE RealTime and Embedde Technology and Applications Symposium,7483,2004.

[3] Dongkun Shin, Jihong Kim. Dynamic voltage scaling of periodic and aperiodic tasks in priority?driven systems[C]. Proceedings of the 2004 Conference on Asia South Pacific Design Automation: Electronic Design and Solution Fair 2004, 2004:653658.

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉