《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于子集最優(yōu)分配辦法的片上系統(tǒng)優(yōu)化
基于子集最優(yōu)分配辦法的片上系統(tǒng)優(yōu)化
2015年微型機(jī)與應(yīng)用第6期
張婉橋,陳 鑫,夏 歡
(南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 210016)
摘要: 在片上系統(tǒng)高速發(fā)展的今天,尋求高性能低功耗的設(shè)計(jì)架構(gòu)是目前的最大需求。為了滿足對架構(gòu)愈發(fā)嚴(yán)格的要求,提出一套簡單有效的片上系統(tǒng)優(yōu)化方法。該方法通過優(yōu)化算法將關(guān)聯(lián)性強(qiáng)的設(shè)備放置在同一條總線上來降低轉(zhuǎn)接橋的通信量,進(jìn)而減小整個系統(tǒng)的延遲,得到高性能SoC架構(gòu)。為驗(yàn)證該方法的可行性,最后建立一個SoC系統(tǒng)進(jìn)行驗(yàn)證。該SoC系統(tǒng)經(jīng)過優(yōu)化后,系統(tǒng)事件傳輸?shù)难舆t時間明顯減少。
Abstract:
Key words :

  摘  要: 在片上系統(tǒng)高速發(fā)展的今天,尋求高性能低功耗的設(shè)計(jì)架構(gòu)是目前的最大需求。為了滿足對架構(gòu)愈發(fā)嚴(yán)格的要求,提出一套簡單有效的片上系統(tǒng)優(yōu)化方法。該方法通過優(yōu)化算法將關(guān)聯(lián)性強(qiáng)的設(shè)備放置在同一條總線上來降低轉(zhuǎn)接橋的通信量,進(jìn)而減小整個系統(tǒng)的延遲,得到高性能SoC架構(gòu)。為驗(yàn)證該方法的可行性,最后建立一個SoC系統(tǒng)進(jìn)行驗(yàn)證。該SoC系統(tǒng)經(jīng)過優(yōu)化后,系統(tǒng)事件傳輸?shù)难舆t時間明顯減少。

  關(guān)鍵詞: 片上系統(tǒng);系統(tǒng)優(yōu)化;子集最優(yōu);通信模型

0 引言

  隨著片上系統(tǒng)System-on-Chip(SoC)的發(fā)展,業(yè)界開始追求在性能、功耗、成本三者之間的最佳平衡點(diǎn)。高性能SoC已成為IC界的焦點(diǎn)。

  針對該問題,PINTO A等人對設(shè)備的接口和相應(yīng)總線布局布線進(jìn)行重新設(shè)計(jì),使得系統(tǒng)的通信不同于之前的點(diǎn)對點(diǎn)通信方式[1]。PANDEY S等人則致力于找到相對高效的總線位寬與總線數(shù)目[2-3],其方法是在綜合時對總線上設(shè)備接口的緩沖寬度與深度進(jìn)行權(quán)衡,進(jìn)而提出一種時間離散的馬爾科夫鏈。

  在集成電路設(shè)計(jì)的系統(tǒng)架構(gòu)研究主要從軟件調(diào)度和硬件拓?fù)鋬蓚€方面進(jìn)行。其中,軟件調(diào)度主要是通過對處理器指令調(diào)度的重新規(guī)劃來提升各個處理器之間的通信流程。如Wang Yi重新安排事件調(diào)度[4]。參考文獻(xiàn)[5]選用的是多層總線的模式。這個方向的研究還有在網(wǎng)格環(huán)境下[6]與群組架構(gòu)下的[7]。

  本文針對目前硬件拓?fù)浞椒▽?shí)現(xiàn)復(fù)雜的問題,提出一套簡單有效的優(yōu)化辦法,將側(cè)重點(diǎn)放在系統(tǒng)總線之間設(shè)備的關(guān)聯(lián)性上,通過優(yōu)化算法將關(guān)聯(lián)性強(qiáng)的設(shè)備放置在同一條總線上來降低轉(zhuǎn)接橋的通信量,進(jìn)而減小整個系統(tǒng)延遲。

1 系統(tǒng)建模

  在系統(tǒng)模型中,每個設(shè)備作為一個頂點(diǎn),設(shè)備之間的任務(wù)量用對應(yīng)的權(quán)重值表示。該權(quán)重值代表兩個設(shè)備之間的通信量。若任意兩個設(shè)備Ci和Cj之間存在通信則通過相應(yīng)的有向線段來表示,如(Ci,Cj)對應(yīng)的權(quán)重值Weight(見式(1)),表示在事件傳輸過程中由設(shè)備Ci向Cj設(shè)備總共發(fā)送大小為Weight數(shù)據(jù)量。

  Weight=Avg.size×trans.num(1)

  2 系統(tǒng)優(yōu)化

  2.1 系統(tǒng)通信量定義

  首先,假設(shè)設(shè)備總數(shù)為偶數(shù)。即設(shè)備集合S總共有2n個元素,則設(shè)備之間的通信矩陣為C={cij},i,j=1,…,2n且cii為0。i和j在這里分別代表著系統(tǒng)中任意兩個設(shè)備。cij表示(Ci,Cj)和(Cj,Ci)的權(quán)重和,且cij為非負(fù)值,于是可以看出矩陣C為對稱矩陣。

  2.png

  從而降低T的值,也就降低轉(zhuǎn)接橋需要承載的通信量。假設(shè)存在子集X和Y,XA,YB且|X|=|Y|≤n/2,所以該算法重點(diǎn)是從A和B集合中分別確定要交換的X和Y的子集。

  假設(shè)a∈A,則a與A集合的通信量定義為內(nèi)部通信量Ia,a與B集合的通信量定義為外部通信量Ea,則:

  324.png

  同樣地,假設(shè)存在b∈B,則外部通信量與內(nèi)部通信量之差Dz=Ez-Iz,其中z∈S。并且假設(shè)t為整個集合S中除去與a和b有關(guān)的外部通信量總和,則整個系統(tǒng)的外部通信量如式(5)所示。

  T=t+Ea+Eb-Cab(5)

  當(dāng)a和b互換之后,整個系統(tǒng)的外部通信量為T′,如式(6)所示。

  T′=t+Ia+Ib+Cab(6)

  于是a和b互換之后系統(tǒng)的外部通信量的下降為:

  decline=T-T′=Da+Db-2Cab(7)

  2.2 系統(tǒng)算法優(yōu)化

  通過下面的步驟對系統(tǒng)進(jìn)行優(yōu)化。

 ?。?)先計(jì)算S集合中的每個元素的D值;

 ?。?)選取ai∈A,bj∈B,使得相應(yīng)的g1為最大值;

  8.png

  (3)假設(shè)在步驟(2)得到一對最大值對應(yīng)為a1′和b1′,接下來計(jì)算除去這兩個元素剩下元素的D值,即范圍分別變?yōu)锳-{a1′}和B-{b1′}。此時的D值可以通過下面的兩式來計(jì)算:

  910.jpg

注意到有一部分gi<0。則將X和Y兩個子集交換后整個系統(tǒng)外部通信量降低了gi=G。于是在這里需要確定k值來確保gi=G為最大值。注意到,當(dāng)gk+1≤0時便找到G的最大值所對應(yīng)的k值,若滿足k>0就表示交換X和Y兩個子集就會使得外部通信量降為最低,同時也表明該轉(zhuǎn)接橋的通信量已經(jīng)達(dá)到局部最大優(yōu)化值。

  以X和Y兩個子集交換之后重新組合的A′或B′集合為準(zhǔn),在其內(nèi)部進(jìn)行子集劃分,繼續(xù)從步驟(1)開始新的循環(huán),直到優(yōu)化完系統(tǒng)的每個轉(zhuǎn)接橋。

  特殊情況可以適當(dāng)?shù)匮a(bǔ)充空元素z,即z元素的Iz=0且Ez=0。補(bǔ)充完之后繼續(xù)使用前面算法對元素的分布進(jìn)行優(yōu)化。

3 實(shí)驗(yàn)實(shí)例

  為證明算法的可行性,以圖1所示系統(tǒng)為例。如圖1(a)所示,有a、b、c、d、e總共5個設(shè)備,參考第1節(jié)的建模。其系統(tǒng)對應(yīng)的通信矩陣如式(11)所示。

  C= 0 10 5 20 3510 0 5 0 0 5 5 0 0 2520 0 0 0 535 0 25 5 0(11)

  設(shè)備優(yōu)化前的排布如圖1(a)所示,最優(yōu)排列如圖1(b)所示。

001.jpg

  在第二節(jié)中提到過,轉(zhuǎn)接橋傳遞的事件權(quán)重越小,則代表通過轉(zhuǎn)接橋的數(shù)據(jù)總量就越小,相應(yīng)地整個系統(tǒng)的事件傳輸?shù)难舆t時間也就越少。

  但是當(dāng)設(shè)備的個數(shù)增加時,窮舉算法的時間復(fù)雜度呈指數(shù)方式增長,所以窮舉算法不可取。然而采用該算法的時間復(fù)雜度為n2logn,并且隨著設(shè)備數(shù)的增長,算法的運(yùn)行時間如圖2所示。由此可見該算法具有靈活高效性。

002.jpg

4 結(jié)論

  越來越多的實(shí)踐和研究表明,SoC系統(tǒng)級設(shè)計(jì)在整個SoC設(shè)計(jì)中占有非常重要的地位。本文在著力于解決SoC架構(gòu)的優(yōu)化問題,通過對系統(tǒng)問題規(guī)范的模型化,提出一種架構(gòu)優(yōu)化的方法。該方法通過動態(tài)分析可以優(yōu)化SoC的系統(tǒng)設(shè)計(jì),并且方法靈活,不拘于軟件,實(shí)施起來相對簡單。為驗(yàn)證算法的可行性,本文設(shè)置了5個模塊組成的總線系統(tǒng),實(shí)驗(yàn)結(jié)果證實(shí)該算法可以快速有效地減小系統(tǒng)通信的延遲周期,得到高性能SoC架構(gòu)。

參考文獻(xiàn)

  [1] PINTO A, CARLONI L P, SANGIOVANNI-VINCENTELLI A L. A methodology for constraint-driven synthesis of on-chip communications[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2009, 28(3):364 -377.

  [2] PANDEY S, GLESNER M, MUHLHAUSER M. On-chip communication topology synthesis for shared multi-bus based architecture[C]. 2005 International Conference on Field Programmable Logic and Applications, IEEE, 2005:374-379.

  [3] PANDEY S, ZIMMER H, GLESNER M, et al. High level hardware/software communication estimation in shared memory architecture[C]. IEEE International Symposium on Circuits and Systems, ISCAS 2005, IEEE,2005,1:37-40.

  [4] Wang Yi, Liu Duo, Qin Zhiwei, et al. Optimally removing intercore communication overhead for streaming applications on MPSoCs[J]. IEEE Transactions on Computers, 2013, 62(2):336-350.

  [5] HSIU P, HSIEH C, LEE D, et al. Multilayer bus optimization for real-time embedded systems[J]. IEEE Transactions on Computers, 2012,61(11):1638-1650.

  [6] Zhu Qian, AGRAWAL G. Resource allocation for distributed streaming applications[C]. ICPP ′08. 37th International Conference on Parallel Processing, IEEE, 2008:414-421.

  [7] Qun Xu C, Xue C J, Hu B C, et al. Computation and data transfer co-scheduling for interconnection bus minimization[C]. Design Automation Conference, ASP-DAC 2009. Asia and South Pacific, IEEE, 2009:311-316.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。