在μC/OS―II上實(shí)現動(dòng)態(tài)電壓調節技術(shù)
摘要 為了實(shí)現嵌入式實(shí)時(shí)操作系統對DVS的支持,本文在分析軟硬件兩方面節能原理的基礎上,提出了一個(gè)在實(shí)際應用中實(shí)現DVS的通用模型。該模型在μC/0S―II上得到了具體的實(shí)現。實(shí)現后的μC/OS―II被移植到支持離散頻率調整的開(kāi)發(fā)板W90P710上。實(shí)驗結果表明,改進(jìn)后的μC/OS―II節能效果顯著(zhù)。
關(guān)鍵詞 電源管理 動(dòng)態(tài)電壓調整 節能技術(shù) 低功耗 μC/OS―II
引 言
現代社會(huì )中,便攜式系統(如手機和個(gè)人媒體播放器)正在演變成綜合性多媒體和通信系統。新的應用程序,如游戲、數字電視、高速I(mǎi)nternet,已經(jīng)成為終端用戶(hù)產(chǎn)品中的一項普通功能。然而,復雜的功能需要功能強大的處理器,如智能手機中已集成了模擬基帶、數字基帶、圖像處理器和CPU等多個(gè)分處理器,但這些分處理器并不是任何時(shí)刻都是滿(mǎn)負載運轉的,它們在很多時(shí)候都處于閑置狀態(tài)。因此,對于依靠電池供電的便攜式設備,如何根據系統的工作狀態(tài)調整各個(gè)處理器的功耗水平從而節省電能便成了一個(gè)普遍關(guān)注的問(wèn)題。
μC/OS―II作為一個(gè)源碼公開(kāi)的嵌入式實(shí)時(shí)操作系統,可以支持64個(gè)任務(wù),同時(shí)支持信號量、消息隊列、郵箱等多種常用的進(jìn)程間通信方式。該操作系統用ANSI C語(yǔ)言書(shū)寫(xiě),程序可讀性強,移植性好,可裁減,并已在通信、電子、自動(dòng)化等領(lǐng)域的嵌入式設備中獲得了廣泛的應用,但是它的內核并不支持DVS(Dynamic Voltage Scaling)管理。本文在遵循可移植、可裁減的前提下,對其進(jìn)行了改進(jìn),使其可以支持動(dòng)態(tài)的離散電壓管理,保證μC/OS―II在新要求下的應用,使嵌入式設備的電量能夠得到充分的使用。
1 DVS在μC/OS―II上應用的理論基礎
1.1 DVS應用的硬件基礎
動(dòng)態(tài)電壓調節技術(shù)(DVS)是這樣一種技術(shù):在保證系統任務(wù)完成的情況下,使處理器運行在盡可能低的電壓上。它的基本思想是,當系統需要完成大量計算任務(wù)時(shí),提高處理器的電壓以增加其處理速度;而當系統任務(wù)較少或處于空閑狀態(tài)時(shí),降低處理器的電壓,這樣既可以保證系統任務(wù)的按時(shí)完成,同時(shí)又可降低處理器的能量消耗。該節能技術(shù)的理論依據來(lái)自于對處理器功耗的定義:
其中:E為處理器的功耗,V為處理器的電壓,fclk為處理器的頻率,lLcak為漏電流;α和C為常數,分別表示門(mén)電路的電能轉換效率和門(mén)電路在整個(gè)設備中所占的比例;tTask表示系統中任務(wù)的個(gè)數。根據式(1)可知,通過(guò)降低處理器的電壓和頻率,可以減少處理器對電能的消耗。由于在實(shí)際應用中,程序能夠直接控制的是處理器的頻率,處理器的電壓會(huì )根據處理器頻率的變化自動(dòng)變化。一般來(lái)說(shuō),處理器的電壓會(huì )隨著(zhù)頻率的降低而降低,因此,動(dòng)態(tài)電壓技術(shù)實(shí)際上是對頻率的調整。本文中如不作特別聲明,調整頻率即意味調整電壓。
1. 2 DVS應用的軟件基礎
由于μC/OS―II是一個(gè)基于優(yōu)先級的搶占式任務(wù)調度內核,為了保證低優(yōu)先級任務(wù)能夠得到處理器的執行,本文假定系統中用戶(hù)定義的所有任務(wù)都遵循如下的結構:
假設系統里有兩個(gè)任務(wù):一個(gè)任務(wù)的執行時(shí)間為0.5 s,周期為10 s;另一個(gè)任務(wù)的執行時(shí)間為1 s,周期為5 s。這兩個(gè)任務(wù)的調度過(guò)程如圖l所示,這時(shí)系統中存在大量的松弛時(shí)間。
如果在程序運行過(guò)程中降低處理器的頻率,處理器的運行電壓也會(huì )因此變低。當處理器的頻率變化為最高頻率的1/4時(shí),其任務(wù)調度過(guò)程如圖2所示。
由圖2可以知道,當處理器的頻率變化為正常的1/4時(shí),系統任務(wù)仍然可以正常運行。這時(shí),處理器的電壓下降了,根據式(1),處理器的功耗也降低了。
從上面的分析可以看出,正是由于μC/OS―II采用了基于優(yōu)先級搶占的調度策略,每個(gè)任務(wù)執行一段時(shí)間之后,都會(huì )主動(dòng)放棄CPU的使用,從而使低優(yōu)先級的任務(wù)能夠得到執行。同時(shí),由于任務(wù)放棄CPU進(jìn)行延時(shí)操作,任務(wù)間會(huì )因此而產(chǎn)生松弛時(shí)間,而DVS功能就是利用這段松弛時(shí)問(wèn),降低處理器的執行速度而完成任務(wù)的。本文研究的重點(diǎn)就是改進(jìn)μC/OS―II,使它能夠根據系統中任務(wù)運行產(chǎn)生的松弛時(shí)間的情況,自動(dòng)設置處理器的頻率,降低電壓,從而降低處理器的功耗。
評論