動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu)分析
動態(tài)可重構(gòu)技術(shù)能在一定控制邏輯的驅(qū)動下,對全部或部分邏輯資源實(shí)現(xiàn)在系統(tǒng)的動態(tài)功能變換和硬件的時(shí)分復(fù)用。本文介紹了可重構(gòu)體系結(jié)構(gòu)及典型動態(tài)可重構(gòu)結(jié)構(gòu);詳細(xì)分析、比較了動態(tài)可重構(gòu)系統(tǒng)4種通信結(jié)構(gòu)的主要性能,指出各自適用領(lǐng)域,并給出一個(gè)應(yīng)用實(shí)例;最后探討了動態(tài)可重構(gòu)技術(shù)研究面臨的相關(guān)問題和發(fā)展趨勢。
關(guān)鍵詞 可重構(gòu) 動態(tài)重構(gòu) NoC RPU
基于SRAM的FPGA的問世標(biāo)志著現(xiàn)代可重構(gòu)計(jì)算技術(shù)的開端,并極大地推動了其發(fā)展。可重構(gòu)計(jì)算技術(shù)能夠提供硬件的效率和軟件的可編程性,它綜合了微處理器和ASIC的特點(diǎn),空間維和時(shí)間維上均可變,因而廣泛應(yīng)用在軍事目標(biāo)匹配、大數(shù)運(yùn)算、聲納波束合成、基因組匹配、圖像紋理填充、集成電路的計(jì)算機(jī)輔助設(shè)計(jì)等方面。對動態(tài)可重構(gòu)相關(guān)技術(shù)的研究將推動可重構(gòu)技術(shù)的發(fā)展,以滿足更多的應(yīng)用需求。
1? 可重構(gòu)體系結(jié)構(gòu)
圖1? 可重構(gòu)單元RPU和傳統(tǒng)微處理器的耦合關(guān)系圖
用可重構(gòu)器件構(gòu)造的基本體系結(jié)構(gòu),按可重構(gòu)處理單元RPU和傳統(tǒng)微處理器的耦合方式,可分為以下4種:
?、? 作為一個(gè)單獨(dú)的處理單元通過I/O 接口連接總線,是最松散的連接方式,如圖1(a)所示;
?、? 作為主處理器的處理單元掛在主機(jī)的本地總線上,通過Cache 來實(shí)現(xiàn)和主處理器之間的連接,如圖1(b)所示;
?、? 作為協(xié)處理單元,可以執(zhí)行較大粒度的運(yùn)算,如圖1(c)所示;
④ ?RPU被集成到處理器芯片內(nèi),作為主處理器一個(gè)擴(kuò)展的數(shù)據(jù)通道,提供功能可以定制的指令,如圖1(d)所示。
2? 典型動態(tài)可重構(gòu)系統(tǒng)結(jié)構(gòu)
重構(gòu)可分為靜態(tài)重構(gòu)和動態(tài)重構(gòu)。如果重構(gòu)必須在中斷程序執(zhí)行的情況下運(yùn)行,則稱為“靜態(tài)重構(gòu)”;如果裝載配置文件的過程可以與程序執(zhí)行同時(shí)進(jìn)行,即在改變電路功能的同時(shí),仍然保證電路的動態(tài)接續(xù),則稱為“動態(tài)重構(gòu)”。動態(tài)可重構(gòu)系統(tǒng)多是基于多配置文件的RPU,可在運(yùn)行部分配置文件的同時(shí)改變其他配置文件,從而顯著縮短重新配置的時(shí)間。動態(tài)可重構(gòu)技術(shù)可以使數(shù)字系統(tǒng)單片化的設(shè)計(jì)從追求邏輯大規(guī)模、高集成度轉(zhuǎn)向追求資源利用率,從專用的固定功能邏輯系統(tǒng)轉(zhuǎn)向功能可自適應(yīng)進(jìn)化的邏輯系統(tǒng),其設(shè)計(jì)理論和方法已逐漸成為新的研究熱點(diǎn)。下面介紹幾種典型的動態(tài)可重構(gòu)結(jié)構(gòu)。
Garp: 美國加州大學(xué)伯克利分校的BRASS研究小組開發(fā)的,由一個(gè)MIPS微處理器和FPGA組合而成的系統(tǒng)。其核心是探索如何將可重構(gòu)計(jì)算單元嵌入到傳統(tǒng)的RISC處理器中,并論證這種可變結(jié)構(gòu)對某些領(lǐng)域計(jì)算的加速能力。
M1、M2芯片: M1芯片是美國加州大學(xué)Morphosys工程提出的一種粗粒度、多重配置文件可重構(gòu)結(jié)構(gòu);M2是M1的一種改進(jìn)結(jié)構(gòu),兼具DSP器件的靈活性和ASIC芯片的高性能,可廣泛應(yīng)用于并行計(jì)算系統(tǒng)、多媒體數(shù)據(jù)處理、高質(zhì)量圖像處理、DSP 變換等領(lǐng)域。
FIPSOC: SIDNA工程提出的一種粗粒度結(jié)構(gòu)的FPGA。時(shí)序邏輯部分有多重配置文件的動態(tài)重構(gòu)功能。為支持動態(tài)重構(gòu),每個(gè)寄存器中的數(shù)據(jù)都可復(fù)制,微處理器的指令和功能單元均做了改進(jìn)。
DPGA: 麻省理工大學(xué)的Transit工程提出的,劃分結(jié)構(gòu)為二維陣列單元的DRFPGA。當(dāng)DPGA器件實(shí)現(xiàn)時(shí)間上的重配置時(shí),AE內(nèi)部要能實(shí)現(xiàn)多種功能以供配置,而常規(guī)FPGA僅實(shí)現(xiàn)對同一功能的重復(fù)配置。
XPP(eXtreme Processing Platform) 結(jié)構(gòu): PACT公司提出的一種粗粒度實(shí)時(shí)動態(tài)可重構(gòu)的數(shù)據(jù)處理技術(shù),其中心思想是用配置流替代指令流,支持并行任務(wù)。XPP對處理大量流數(shù)據(jù)的應(yīng)用效率很高,適用于無線基站、圖像、視頻流處理、雷達(dá)聲納、生物信息、過程仿真和加密等領(lǐng)域。
3? 動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu)
3.1? 兩種基本策略
典型的片上系統(tǒng)設(shè)計(jì)常常采用片上總線和片上網(wǎng)絡(luò)兩種通信策略。最常用的是片上總線,其主要優(yōu)點(diǎn)是高靈活性,可延展,設(shè)計(jì)花銷小,一般在帶寬要求較低時(shí)時(shí)延也較短;缺點(diǎn)是過長的通信線路帶來一定能耗,且限制系統(tǒng)時(shí)鐘速率。當(dāng)通信結(jié)構(gòu)中含有兩個(gè)以上的模塊時(shí),可伸縮性減弱。分層總線結(jié)構(gòu)可以減輕關(guān)鍵路徑上的總線負(fù)載,通過橋連接多個(gè)總線可將速度要求不同的器件隔離在不同的時(shí)鐘域上,使得SoC得以延續(xù)PCB板的優(yōu)良性能。
片上網(wǎng)絡(luò)(NoC)技術(shù)從體系結(jié)構(gòu)上徹底解決了總線結(jié)構(gòu)所固有的三大問題:由于地址空間有限而引起的擴(kuò)展性問題;由于分時(shí)通信而引起的通信效率問題;由于全局同步而引起的功耗和面積問題。其主要優(yōu)點(diǎn)是能支持硬件模塊之間的并發(fā)通信,可伸縮性更強(qiáng),可用于支持更大帶寬,但時(shí)延更長。元件的模塊化更有利于IP重用,從而提供更高的時(shí)鐘頻率和低功耗。相對于總線結(jié)構(gòu)使用中央控制邏輯,NoC的每個(gè)交換節(jié)點(diǎn)都包含緩存、路由邏輯和仲裁邏輯,因而其最大缺點(diǎn)是片上面積花銷更大。
NoC的拓?fù)浣Y(jié)構(gòu)有直接網(wǎng)絡(luò)Orthogonal拓?fù)?、立方連接循環(huán)拓?fù)?、Octagon拓?fù)涞?;間接網(wǎng)絡(luò)拓?fù)銫rossbar Switch結(jié)構(gòu)、FullyConnected網(wǎng)絡(luò)和Butterfly拓?fù)涞?。NoC拓?fù)浞绞降倪x擇將顯著影響通信架構(gòu)的傳輸能力。為配合芯片架構(gòu)復(fù)雜度與成本,芯片本身的處理特性與應(yīng)用目標(biāo),在通信架構(gòu)方面必須考慮拓?fù)涞穆窂狡骄嚯x、可擴(kuò)展大小、節(jié)點(diǎn)數(shù)量、頂點(diǎn)數(shù)量、網(wǎng)絡(luò)直徑等。由于NoC的拓?fù)浣Y(jié)構(gòu)選擇對其產(chǎn)品的最終性價(jià)比起到?jīng)Q定性影響,因此選擇正確的拓樸結(jié)構(gòu)能有效縮短各種應(yīng)用的設(shè)計(jì)以及驗(yàn)證時(shí)間。
3.2? 通信結(jié)構(gòu)
3.2.1? 分類
基于片上總線策略的通信結(jié)構(gòu)有: RMBoC(Reconfigurable Multiple Bus on Chip)和BUSCOM?;谄暇W(wǎng)絡(luò)策略的通信結(jié)構(gòu)有: DyNoC(Dynamic Network on Chip)和CoNoChi(Configurable Network on Chip) 。
RMBoC是為多處理器系統(tǒng)提出的,基于可重構(gòu)多總線網(wǎng)絡(luò)改進(jìn)而來的。任何系統(tǒng)級的重構(gòu)都不會改變RMBoC的模塊和物理拓?fù)洌瑧?yīng)用層上的通信結(jié)構(gòu)改變是通過層疊網(wǎng)上的點(diǎn)對點(diǎn)通道。該結(jié)構(gòu)具有高靈活性,但是可伸縮性較弱,其結(jié)構(gòu)如圖2所示。
DyNoC是首個(gè)將基于包的NoC方案用于可重構(gòu)設(shè)計(jì)的結(jié)構(gòu),它由處理單元和路由器組成二維陣列,每個(gè)處理單元都連接一個(gè)路由器,路由器之間相互連接。該結(jié)構(gòu)的可伸縮性、延展性和可模塊化性能都很好,只是靈活性欠佳。一個(gè)5×5的DyNoC系統(tǒng)結(jié)構(gòu)圖如圖3所示。
圖3? 5×5 DyNoC系統(tǒng)結(jié)構(gòu)圖
4種結(jié)構(gòu)的設(shè)計(jì)參數(shù)見表1,執(zhí)行參數(shù)(在VirtexII上實(shí)驗(yàn)得到)見表2。特別指出,片上總線的執(zhí)行參數(shù)是針對整個(gè)結(jié)構(gòu),而片上網(wǎng)絡(luò)的執(zhí)行參數(shù)是針對單個(gè)交換節(jié)點(diǎn)。
這4種結(jié)構(gòu)都能很好地滿足動態(tài)可重構(gòu)FPGA的設(shè)計(jì)要求。片上網(wǎng)絡(luò)的結(jié)構(gòu)體現(xiàn)了較好的結(jié)構(gòu)參數(shù),但是片上面積花費(fèi)巨大,所以當(dāng)設(shè)計(jì)側(cè)重片上效率時(shí),首選片上總線的結(jié)構(gòu)。
另外,BUSCOM只需要很少的硬件資源,而在分層總線結(jié)構(gòu)中RMBoC的靈活性優(yōu)于BUSCOM;CoNoChi具有最佳的結(jié)構(gòu)參數(shù),是理論上最支持動態(tài)可重構(gòu)的結(jié)構(gòu),但是在VirtexII平臺上執(zhí)行具有一定困難,因而設(shè)計(jì)了DyNoC來適應(yīng)VirtexII平臺有限的可重構(gòu)能力。
3.2.2? DyNoC的應(yīng)用實(shí)例
交通燈控制(TLC)可以用一個(gè)3×3的DyNoC來實(shí)現(xiàn),由3個(gè)模塊組成: VGA控制器(VGA),交通燈視覺模塊(LV)和交通燈控制模塊(TC)。VGA模塊可以顯示目前路口情況、行人控制鍵和燈信號;交通燈視覺模塊負(fù)責(zé)控制交通燈內(nèi)部構(gòu)造,由VGA模塊顯示;交通燈控制模塊(TC)用來獲取行人需求。VGA發(fā)出X和Y 像素掃描的位置給交通燈視覺模塊,并接收需要顯示的顏色;FSM模塊用來監(jiān)控行人的鍵控輸入(片上有兩個(gè)按鈕),向交通燈視覺模塊發(fā)送轉(zhuǎn)換燈狀態(tài)的信息,然后顯示相應(yīng)顏色的燈。在3×3 DyNoC中,用正中的路由器來實(shí)現(xiàn)與其他所有路由器的連接,其他路由器也保持相互通信以確保高通信量。整個(gè)交通燈控制(TLC)的實(shí)現(xiàn)可以在沒有中斷和故障的情況下運(yùn)行。
表1? 4種結(jié)構(gòu)的設(shè)計(jì)參數(shù)
表2? 執(zhí)行參數(shù)(在VirtexII上實(shí)驗(yàn)得到)
4? 相關(guān)問題和發(fā)展趨勢
①? 目前片上系統(tǒng)設(shè)計(jì)中各IP組件可重用,但通信結(jié)構(gòu)無法重用。因此在系統(tǒng)重構(gòu)時(shí),怎樣為動態(tài)配置的模塊提供一個(gè)靈活快速的通信接口成為主要問題??裳芯恳环N動態(tài)可重構(gòu)的NoC架構(gòu),能為各IP之間的通信提供靈活的接口,并能通過片上引腳與板級系統(tǒng)的其他芯片進(jìn)行數(shù)據(jù)交換,提供較好的通信質(zhì)量QoS,包括高吞吐量和短延遲等。
②? NoC設(shè)計(jì)的一個(gè)重要問題是決定路由類型,這對網(wǎng)絡(luò)的性能和功耗有重要影響。路由策略越復(fù)雜,設(shè)計(jì)面積就越大,因此需要在面積和性能之間進(jìn)行折中。選擇路由策略應(yīng)主要考慮實(shí)現(xiàn)的復(fù)雜性和性能需求兩大問題。
?、? 重構(gòu)時(shí)隙將影響系統(tǒng)功能的連續(xù)性,為提高動態(tài)可重構(gòu)計(jì)算系統(tǒng)性能,如何避免或減少重構(gòu)時(shí)隙是實(shí)現(xiàn)動態(tài)重構(gòu)系統(tǒng)的瓶頸問題。對于多重context結(jié)構(gòu)的DRFPGA,直接通過context間切換來改變配置信息,控制陣列單元實(shí)現(xiàn)新功能重構(gòu),切換速度直接影響重構(gòu)時(shí)間的長短,一般僅需幾ns。這種重構(gòu)方式的實(shí)現(xiàn)是動態(tài)重構(gòu)技術(shù)發(fā)展的主要標(biāo)志。
結(jié)語
本文介紹了可重構(gòu)體系結(jié)構(gòu)和典型的動態(tài)可重構(gòu)計(jì)算結(jié)構(gòu);詳細(xì)分析了動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu),并對4種通信結(jié)構(gòu)的主要性能進(jìn)行實(shí)驗(yàn),得出對比數(shù)據(jù);列舉了一種結(jié)構(gòu)在交通燈控制中的應(yīng)用實(shí)例;最后探討了動態(tài)可重構(gòu)技術(shù)研究面臨的相關(guān)問題和發(fā)展趨勢。
評論
查看更多