專利名稱:一種基于離散Hopfield神經(jīng)網(wǎng)絡的RTOS功耗優(yōu)化方法
技術(shù)領域:
本發(fā)明涉及SoC功耗優(yōu)化及神經(jīng)網(wǎng)絡算法技術(shù)領域,尤其是涉及一種基于離散Hopfield神經(jīng)網(wǎng)絡的RTOS功耗優(yōu)化方法。
背景技術(shù):
隨著全球能源危機的不斷發(fā)展,數(shù)量龐大的嵌入式系統(tǒng)的功耗問題日益引起人們的關注。作為嵌入式系統(tǒng)的一種新形式,SoC(System-on-a-Chip片上系統(tǒng)或系統(tǒng)芯片)在單個IC(Integrated Chip集成電路芯片)里基本上實現(xiàn)了一個完整計算機系統(tǒng)的軟/硬件功能。同傳統(tǒng)的嵌入式系統(tǒng)相比,SoC具有許多明顯的優(yōu)點,如體積小、功耗低、可靠性高以及更高的性價比等,缺點是復雜性上升、設計成本高、開發(fā)周期長,完全改變了先前整機系統(tǒng)的總體設計架構(gòu)。SoC通常是一個定制的IC,一般由通用的微處理器核、可邏輯編程的硬件單元、應用相關的硬件加速電路和相應的嵌入式軟件組成。SoC設計結(jié)合了傳統(tǒng)的IC(包括數(shù)字、模擬和射頻集成電路)設計和嵌入式軟件開發(fā)兩方面的內(nèi)容,不但是國家“鼓勵軟件產(chǎn)業(yè)和集成電路產(chǎn)業(yè)發(fā)展的若干政策”(即18號文件)支持的重點,而且是學術(shù)界的研究熱點和工業(yè)界大力推廣應用的一項新技術(shù)。
在SoC中,嵌入式軟件一般由RTOS(Real-Time Operating System實時操作系統(tǒng))和嵌入式應用程序組成,其中SoC中的RTOS簡稱SoC-RTOS。嵌入式軟件的執(zhí)行驅(qū)動了低層微處理器、存儲器和I/O接口等硬件的電路活動,導致了系統(tǒng)功耗的產(chǎn)生。先前的許多研究表明,軟件的使用方式對系統(tǒng)功耗有著直接而重要的影響,不同的匯編指令、軟件算法以及軟件的高層體系結(jié)構(gòu)對系統(tǒng)功耗能夠產(chǎn)生不同的作用,并且能夠采用各種測量工具對影響程度進行量化。可見,嵌入式硬件電路的低功耗設計是“系統(tǒng)省電的基礎”,而嵌入式軟件的低功耗設計是“系統(tǒng)省電的源頭”。
SoC-RTOS是嵌入式軟件的核心組成部件,為上層應用程序提供了硬件抽象和資源管理等功能,是滿足嵌入式系統(tǒng)并發(fā)需求、提高嵌入式應用程序開發(fā)效率和可移植性的重要手段,也是嵌入式應用程序必不可少的運行平臺。SoC-RTOS一般采用微內(nèi)核結(jié)構(gòu),基于優(yōu)先權(quán)搶占的調(diào)度策略,具有任務管理、任務間同步和通信(如信號量、消息隊列、異步信號、共享內(nèi)存、管道)、內(nèi)存管理和中斷管理等功能,其運行方式有兩種嵌入式應用程序通過API(Application Programming Interface應用程序編程接口)顯式地調(diào)用其服務例程,或者硬件產(chǎn)生的中斷隱式地引起其服務例程的執(zhí)行。RTOS頻繁執(zhí)行不但占用了微處理器機器運行周期相當大的部分,而且消耗了30-40%的系統(tǒng)功耗。
軟/硬件自動劃分(Hardware-software automated partitioning)是嵌入式系統(tǒng)軟/硬件協(xié)同設計(Hardware-software Co-design)方法的一個重要步驟,即在一定成本約束下提高系統(tǒng)的性能。目前,大多數(shù)軟/硬件劃分方法是在保持系統(tǒng)成本(如硬件面積)盡可能小的條件下,使得系統(tǒng)滿足性能目標要求(如速度),幾乎沒有提供相關的功耗優(yōu)化與估計策略,難以保證劃分結(jié)果是功耗最優(yōu)的,或功耗次優(yōu)的。因此,SoC-RTOS的功耗相關軟/硬件劃分(簡稱RTOS-Power劃分)對于SoC設計是至關重要的,它決定了SoC-RTOS的哪些功能應該由硬件實現(xiàn),哪些功能應該由軟件實現(xiàn),其劃分結(jié)果直接影響到SoC的系統(tǒng)功耗。和一般的RTOS相比,由于SoC-RTOS具有不同的特點和應用需求,使得其具有不同的功能集合和軟/硬件實現(xiàn)要求,從而造成了RTOS-Power劃分與一般的嵌入式系統(tǒng)和SoC劃分存在比較大的區(qū)別,過去的軟/硬件劃分方法在許多方面對于RTOS-Power劃分是不充分的,如RTOS-Power功耗建模與估計、功耗約束條件和目標參數(shù)的提煉、功耗優(yōu)化求解算法設計、劃分結(jié)果評價以及系統(tǒng)結(jié)構(gòu)等問題。
發(fā)明內(nèi)容
RTOS-Power劃分是一個NP完全問題,其主要目標是將RTOS的功能行為在一定約束條件下優(yōu)化地分配到SoC的軟/硬件系統(tǒng)結(jié)構(gòu)上,以實現(xiàn)系統(tǒng)功耗的最小化。在有些研究中,將RTOS-Power劃分作為SoC-RTOS軟/硬件綜合的一部分。SoC-RTOS的功能行為一般采用任務圖(Task Graph)建模,每個任務具有相應的功耗屬性,我們采用基于任務級的系統(tǒng)功耗建模與估計策略。對軟件而言,一個任務是具有明確接口的、粗粒度的一系列運算操作的集合,通常表現(xiàn)為一個算法過程、一個對象或一個構(gòu)件;對硬件而言,一個任務是一個特定的IP(Intellectual Property知識產(chǎn)權(quán))模塊,具有清晰的功能、接口和約束。
本發(fā)明的目的在于提供了一種基于離散Hopfield神經(jīng)網(wǎng)絡的RTOS功耗相關劃分優(yōu)化求解算法,解決其技術(shù)難題所采用的技術(shù)方案是1、采用圖論的描述方法,將RTOS-Power劃分問題轉(zhuǎn)化為一個具體的組合優(yōu)化問題,引入了RTOS-Power劃分問題的一個新模型,成功地實現(xiàn)了RTOS-Power劃分問題的建模,這有助于理解RTOS-Power劃分的本質(zhì),為設計最優(yōu)解搜索算法打下堅實的基礎。
2、根據(jù)RTOS-Power劃分問題模型,采用離散Hopfield神經(jīng)網(wǎng)絡搜索其最優(yōu)解,重新定義了離散Hopfield神經(jīng)網(wǎng)絡的神經(jīng)元表示、能量函數(shù)、運行方程和系數(shù),以滿足RTOS-Power劃分的特定要求。
本發(fā)明的主要用途是采用離散Hopfield神經(jīng)網(wǎng)絡算法,對SoC芯片的RTOS功能進行功耗相關軟/硬件自動劃分實現(xiàn),該方法可作為相關EDA工具中SoC軟/硬件協(xié)同設計步驟的關鍵算法。與遺傳算法和螞蟻算法等同類算法相比,本算法最優(yōu)解搜索空間縮小,難度大大降低,搜索時間顯著優(yōu)于前兩種算法。同時,與純軟件實現(xiàn)的RTOS相比,能夠明顯地減少RTOS的功耗,系統(tǒng)性能也得到了相應的提高。
在詳細地說明之前,首先定義系統(tǒng)中使用的一些名詞、符號以及公式G一個有向無環(huán)圖,亦即一個SoC-RTOS功能行為的任務圖,G=(V,E)V將要劃分的任務節(jié)點集合,V={v1,v2,...,vn}E表示兩個節(jié)點間控制或數(shù)據(jù)依賴/通信關系的有向邊,E={eij|vi,vj∈V,i≠j}NG的任務節(jié)點的數(shù)量,N=|V|PG的一個功耗相關軟/硬件劃分VH劃分為硬件的節(jié)點子集,VHVVs劃分為軟件的節(jié)點子集,VsVs(vi)(或si)vi軟件實現(xiàn)的成本h(vi)(或hi)vi硬件實現(xiàn)的成本c(vi,vj)(或cij)vi和vj的通信成本,假如它們在不同的子集內(nèi)(硬件子集或軟件子集)。而同一個節(jié)點子集內(nèi)節(jié)點間的通信成本忽略不計。
cicji之和,ci=Σj=1,j≠iNcji]]>HP劃分P的硬件成本之和,HP=Σvi∈VHhi]]>SP劃分P的軟件成本之和,SP=Σvi∈VSsi]]>GP劃分P的通信成本之和,CP=Σvi∈VS,vj∈VHorvi∈VH,vj∈VScij]]>gp(VH,VS)劃分P的系統(tǒng)整體成本fP(VH,VS)劃分P的系統(tǒng)整體功耗
圖1是本發(fā)明RTOS-Power劃分問題模型示意圖。
圖2是本發(fā)明離散Hopfield神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖。
具體實施例方式
下面結(jié)合附圖進一步詳細說明本發(fā)明的思想。
圖1是本發(fā)明的RTOS-Power劃分問題模型示意圖定義1(k路劃分)。對于給定的G=(V,E),k路劃分就是尋找簇的集合P={p1,p2,...,pk},滿足pi⊆V,1≤i≤k∪i=1kpi=Vpi∩pj=φ,1≤i,j≤k,i≠j---(1)]]>當k=2時,P被稱為雙路劃分,它意味著在目標系統(tǒng)中,考慮只有一個軟件子集(如一個通用的微處理器)和一個硬件子集(如一個ASIC或FPGA)的情況;當k>2時,P被稱為多路劃分,它意味著在目標系統(tǒng)中,考慮多個軟件子集(如多個通用的微處理器)和多個硬件子集(如多個ASIC或FPGA)的情況。因此,根據(jù)目標系統(tǒng)的結(jié)構(gòu),RTOS-Power劃分可以分為雙路劃分和多路劃分。由于雙路劃分是多路劃分的基礎,并廣泛應用于相關的研究與開發(fā)中,因此,在本發(fā)明中,在沒有特別聲明的情況下,劃分一般指的是雙路劃分。
定義2(RTOS-Power劃分)。對于給定的P=(VH,VS),VH∪VS=V和VH∩VS=φ,RTOS-Power劃分可以表示為下列組合優(yōu)化問題的數(shù)學模型maxfP(VH,VS)s.t.Cmin≤gp(VH,VS)=HP+SP+CP≤Cmaxvi∈V,eij∈E,1≤i,j≤n,i≠j---(2)]]>其中,Cmin>0和Cmax>0分別是SoC-RTOS給定成本的最小值與最大值。
實際上,RTOS-Power劃分問題就是如何尋找一個全局的最優(yōu)點C。
圖2是本發(fā)明離散Hopfield神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖1)神經(jīng)元的表示一個具有N個神經(jīng)元的神經(jīng)網(wǎng)絡對應于任務圖G的N個節(jié)點,第i個神經(jīng)元與節(jié)點i存在一種一一對應關系,具有一個輸入Ui和輸出Vi間的函數(shù)關系。神經(jīng)元的激勵函數(shù)由下式確定Vi=f(Σj=1,j≠iNWjiVj-θi)=f(Ui)=0,ifUi>01,ifUi≤0---(3)]]>其中,WjiVj=hj(1-Vj)+sjVj+cji((1-Vj)+Vj),θi=ai(1-Vj)+βiVj+ij((1-Vj)+Vj),權(quán)重Wji是vj的成本(即sj或hj)和通信成本cji的和,θi是第i個神經(jīng)元的閾值(αi,βi和ij將在“2)能量函數(shù)”部分中做進一步的解釋)。同時,神經(jīng)元輸出值Vi=0,表示vi∈VH;Vi=1,表示vi∈VS。
為避免初始條件引起的局部優(yōu)化問題,神經(jīng)元的輸入值應當限制在某一范圍內(nèi)。cij的平均值Uavg采用所有相連的任務節(jié)點進行計算,因此,神經(jīng)元輸入的上限Umax和下限Umin按如下設置Uavg=2NCP,]]>Umin=-Uavg2,]]>Umax=Uavg2---(4)]]>Ui=Umin,ifUi<UminUmax,ifUi>Umax---(5)]]>2)能量函數(shù)對應于RTOS-Power劃分的約束條件和目標函數(shù),Hopfield神經(jīng)網(wǎng)絡的能量函數(shù)包括下列兩部分E=A2E1+B2E2---(6)]]>E1=Σi=1Nσ12(Σj=1N(hjVi(1-Vj)+sj(1-Vi)Vj+cij(Vi(1-Vj)+(1-Vi)Vj))-Cmin)---(7)]]>E2=fp(VH,VS) 其中,A和B是兩個正系數(shù),在“4)運行方程系數(shù)的確定”部分將進一步確定它們的值。αi表示一個任務節(jié)點硬件實現(xiàn)的功耗,不同的任務節(jié)點具有不同的值;βi表示一個任務節(jié)點軟件實現(xiàn)的功耗,不同的任務節(jié)點具有不同的值;ij表示一個相應的任務節(jié)點間通信的功耗,不同的通信具有不同的值。
在方程(7)中函數(shù)σi(x)由下式確定
σi(x)=x+Cmin-(hi+si+ci),ifx<-Cmin+(hi+si+ci),0,if0≤x≤Cmax-Cmin,x-Cmax+(hi+si+ci),ifx>Cmax-(hi+si+ci).---(9)]]>E1是能量函數(shù)的一個約束條件,同gp(VH,VS)=Σi=1N(Σj=1,j≠iN(hjVi(1-Vj)+sj(1-Vi)Vj+cij(Vi(1-Vj)+(1-Vi)Vj)))]]>相關;E2是能量函數(shù)的一個目標函數(shù)fP(VH,Vs,),表示SoC-RTOS的功耗值。
3)運行方程第i個神經(jīng)元的運行方程為dUidt=-∂E∂Vi]]>=-Aσi(Σj=1N(hjVi(1-Vj)+sj(1-Vi)Vj+cij(Vi+Vj-2ViVj))-Cmin)×]]> 為進一步避免出現(xiàn)局部優(yōu)化現(xiàn)象和在有限的時間內(nèi)獲得一個高質(zhì)量的解,一個“噪聲”條件D將加到運行方程(10)上,即D=η(1-2Vj)=+η,ifVj=0-η,ifVj=1---(11)]]>但是,如果“噪聲”條件D一直加在狀態(tài)更新規(guī)則中,神經(jīng)網(wǎng)絡的狀態(tài)可能會變化過度,以至于連一個局部最優(yōu)解都無法獲得。因此,當條件[t/T0]≥λ滿足時,在運行方程中條件D將被丟棄,其中[●]是一個取整操作符,λ=T0-(t×T0)/Tmax-1,T0是一個正系數(shù),Tmax是迭代的最大步數(shù)。
4)運行方程系數(shù)的確定系數(shù)A由任務節(jié)點成本的平均值 確定,即ω‾=HP+SPN---(12)]]>系數(shù)B由Uavg確定,設定Aω‾=KBUavg,]]>其中K是一個調(diào)節(jié)常數(shù)。一般情況下,取K=1/3,B=1,T0=20,Tmax=300,η=Uavg/(3+10×ρ)。這里,ρ=M/(N(N-1)/2),表示圖形G的邊產(chǎn)生率(0<ρ≤1)。
αi,βi和ij的值可通過一個低層的功耗仿真器EMSIM獲得,該仿真器模擬了一個包含Intel StrongARM處理器和RTOSμC/OS的SoC平臺。另外,不同軟/硬件實現(xiàn)條件下任務節(jié)點的執(zhí)行時間也可以通過該仿真器獲得。
當SoC-RTOS完全由軟件實現(xiàn)時,Cmin=Σi=1Nsi]]>是最小成本;當SoC-RTOS完全由硬件實現(xiàn)時,Cmax=Σi=1Nhi]]>是最大成本。為使方案更加實用、合理,將最大成本修訂為Cmax=12Σl=1Nhi.]]>
權(quán)利要求
1.一種基于離散Hopfield神經(jīng)網(wǎng)絡的RTOS功耗優(yōu)化方法,其特征是采用離散Hopfield神經(jīng)網(wǎng)絡算法,對SoC芯片的RTOS(Real-Time Operating System實時操作系統(tǒng))功能進行功耗相關軟/硬件自動劃分實現(xiàn),能夠明顯地減少RTOS的功耗。同時,與純軟件實現(xiàn)的RTOS相比,系統(tǒng)性能也得到了相應的提高。
2.根據(jù)權(quán)利要求1所述的RTOS功耗優(yōu)化方法,其特征是該方法采用圖論的描述方法,將RTOS功耗相關軟/硬件自動劃分(簡稱RTOS功耗劃分)問題轉(zhuǎn)化為一個具體的組合優(yōu)化問題,引入了RTOS功耗劃分問題的一個新模型,這有助于理解RTOS功耗劃分的本質(zhì)。
3.根據(jù)權(quán)利要求1所述的RTOS功耗優(yōu)化方法,其特征是該方法根據(jù)RTOS功耗問題的特點,重新定義了離散Hopfield神經(jīng)網(wǎng)絡的神經(jīng)元表示、能量函數(shù)、運行方程和系數(shù),以滿足RTOS功耗劃分的特定要求。
全文摘要
一種基于離散Hopfield神經(jīng)網(wǎng)絡的RTOS功耗優(yōu)化方法,首先采用圖論的描述方法,將RTOS功耗相關軟/硬件自動劃分(簡稱RTOS功耗劃分)問題轉(zhuǎn)化為一個具體的組合優(yōu)化問題,引入了RTOS功耗劃分問題的一個新模型,然后,根據(jù)RTOS功耗劃分問題的特點,重新定義了離散Hopfield神經(jīng)網(wǎng)絡的神經(jīng)元表示、能量函數(shù)、運行方程和系數(shù),將離散Hopfield神經(jīng)網(wǎng)絡作為RTOS功耗劃分優(yōu)化求解算法,對SoC芯片中RTOS的功能進行軟/硬件自動劃分實現(xiàn),能夠明顯地減少RTOS的功耗。同時,與純軟件實現(xiàn)的RTOS相比,系統(tǒng)性能也得到了相應的提高。附圖是本發(fā)明離散Hopfield神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖。
文檔編號G06N3/02GK101017509SQ200610022569
公開日2007年8月15日 申請日期2006年12月21日 優(yōu)先權(quán)日2006年12月21日
發(fā)明者郭兵, 沈艷 申請人:四川大學