動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu)研究
基于SRAM的FPGA的問世標志著現(xiàn)代可重構(gòu)計算技術(shù)的開端,并極大地推動了其發(fā)展??芍貥?gòu)計算技術(shù)能夠提供硬件的效率和軟件的可編程性,它綜合了微處理器和ASIC的特點,空間維和時間維上均可變,因而廣泛應(yīng)用在軍事目標匹配、大數(shù)運算、聲納波束合成、基因組匹配、圖像紋理填充、集成電路的計算機輔助設(shè)計等方面。對動態(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種:
① 作為一個單獨的處理單元通過I/O 接口連接總線,是最松散的連接方式,如圖1(a)所示;
② 作為主處理器的處理單元掛在主機的本地總線上,通過Cache 來實現(xiàn)和主處理器之間的連接,如圖1(b)所示;
③ 作為協(xié)處理單元,可以執(zhí)行較大粒度的運算,如圖1(c)所示;
④ RPU被集成到處理器芯片內(nèi),作為主處理器一個擴展的數(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í)行的情況下運行,則稱為“靜態(tài)重構(gòu)”;如果裝載配置文件的過程可以與程序執(zhí)行同時進行,即在改變電路功能的同時,仍然保證電路的動態(tài)接續(xù),則稱為“動態(tài)重構(gòu)”。動態(tài)可重構(gòu)系統(tǒng)多是基于多配置文件的RPU,可在運行部分配置文件的同時改變其他配置文件,從而顯著縮短重新配置的時間。動態(tài)可重構(gòu)技術(shù)可以使數(shù)字系統(tǒng)單片化的設(shè)計從追求邏輯大規(guī)模、高集成度轉(zhuǎn)向追求資源利用率,從專用的固定功能邏輯系統(tǒng)轉(zhuǎn)向功能可自適應(yīng)進化的邏輯系統(tǒng),其設(shè)計理論和方法已逐漸成為新的研究熱點。下面介紹幾種典型的動態(tài)可重構(gòu)結(jié)構(gòu)。
Garp: 美國加州大學伯克利分校的BRASS研究小組開發(fā)的,由一個MIPS微處理器和FPGA組合而成的系統(tǒng)。其核心是探索如何將可重構(gòu)計算單元嵌入到傳統(tǒng)的RISC處理器中,并論證這種可變結(jié)構(gòu)對某些領(lǐng)域計算的加速能力。
M1、M2芯片: M1芯片是美國加州大學Morphosys工程提出的一種粗粒度、多重配置文件可重構(gòu)結(jié)構(gòu);M2是M1的一種改進結(jié)構(gòu),兼具DSP器件的靈活性和ASIC芯片的高性能,可廣泛應(yīng)用于并行計算系統(tǒng)、多媒體數(shù)據(jù)處理、高質(zhì)量圖像處理、DSP 變換等領(lǐng)域。
FIPSOC: SIDNA工程提出的一種粗粒度結(jié)構(gòu)的FPGA。時序邏輯部分有多重配置文件的動態(tài)重構(gòu)功能。為支持動態(tài)重構(gòu),每個寄存器中的數(shù)據(jù)都可復制,微處理器的指令和功能單元均做了改進。
DPGA: 麻省理工大學的Transit工程提出的,劃分結(jié)構(gòu)為二維陣列單元的DRFPGA。當DPGA器件實現(xiàn)時間上的重配置時,AE內(nèi)部要能實現(xiàn)多種功能以供配置,而常規(guī)FPGA僅實現(xiàn)對同一功能的重復配置。
XPP(eXtreme Processing Platform) 結(jié)構(gòu): PACT公司提出的一種粗粒度實時動態(tài)可重構(gòu)的數(shù)據(jù)處理技術(shù),其中心思想是用配置流替代指令流,支持并行任務(wù)。XPP對處理大量流數(shù)據(jù)的應(yīng)用效率很高,適用于無線基站、圖像、視頻流處理、雷達聲納、生物信息、過程仿真和加密等領(lǐng)域。
3 動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu)
3.1 兩種基本策略
典型的片上系統(tǒng)設(shè)計常常采用片上總線和片上網(wǎng)絡(luò)兩種通信策略。最常用的是片上總線,其主要優(yōu)點是高靈活性,可延展,設(shè)計花銷小,一般在帶寬要求較低時時延也較短;缺點是過長的通信線路帶來一定能耗,且限制系統(tǒng)時鐘速率。當通信結(jié)構(gòu)中含有兩個以上的模塊時,可伸縮性減弱。分層總線結(jié)構(gòu)可以減輕關(guān)鍵路徑上的總線負載,通過橋連接多個總線可將速度要求不同的器件隔離在不同的時鐘域上,使得SoC得以延續(xù)PCB板的優(yōu)良性能。
片上網(wǎng)絡(luò)(NoC)技術(shù)從體系結(jié)構(gòu)上徹底解決了總線結(jié)構(gòu)所固有的三大問題:由于地址空間有限而引起的擴展性問題;由于分時通信而引起的通信效率問題;由于全局同步而引起的功耗和面積問題。其主要優(yōu)點是能支持硬件模塊之間的并發(fā)通信,可伸縮性更強,可用于支持更大帶寬,但時延更長。元件的模塊化更有利于IP重用,從而提供更高的時鐘頻率和低功耗。相對于總線結(jié)構(gòu)使用中央控制邏輯,NoC的每個交換節(jié)點都包含緩存、路由邏輯和仲裁邏輯,因而其最大缺點是片上面積花銷更大。
NoC的拓撲結(jié)構(gòu)有直接網(wǎng)絡(luò)Orthogonal拓撲、立方連接循環(huán)拓撲、Octagon拓撲等;間接網(wǎng)絡(luò)拓撲Crossbar Switch結(jié)構(gòu)、FullyConnected網(wǎng)絡(luò)和Butterfly拓撲等。NoC拓撲方式的選擇將顯著影響通信架構(gòu)的傳輸能力。為配合芯片架構(gòu)復雜度與成本,芯片本身的處理特性與應(yīng)用目標,在通信架構(gòu)方面必須考慮拓撲的路徑平均距離、可擴展大小、節(jié)點數(shù)量、頂點數(shù)量、網(wǎng)絡(luò)直徑等。由于NoC的拓撲結(jié)構(gòu)選擇對其產(chǎn)品的最終性價比起到?jīng)Q定性影響,因此選擇正確的拓樸結(jié)構(gòu)能有效縮短各種應(yīng)用的設(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ò)改進而來的。任何系統(tǒng)級的重構(gòu)都不會改變RMBoC的模塊和物理拓撲,應(yīng)用層上的通信結(jié)構(gòu)改變是通過層疊網(wǎng)上的點對點通道。該結(jié)構(gòu)具有高靈活性,但是可伸縮性較弱,其結(jié)構(gòu)如圖2所示。
DyNoC是首個將基于包的NoC方案用于可重構(gòu)設(shè)計的結(jié)構(gòu),它由處理單元和路由器組成二維陣列,每個處理單元都連接一個路由器,路由器之間相互連接。該結(jié)構(gòu)的可伸縮性、延展性和可模塊化性能都很好,只是靈活性欠佳。一個5×5的DyNoC系統(tǒng)結(jié)構(gòu)圖如圖3所示。
圖2 RMBoC結(jié)構(gòu)圖
圖3 5×5 DyNoC系統(tǒng)結(jié)構(gòu)圖
4種結(jié)構(gòu)的設(shè)計參數(shù)見表1,執(zhí)行參數(shù)(在VirtexII上實驗得到)見表2。特別指出,片上總線的執(zhí)行參數(shù)是針對整個結(jié)構(gòu),而片上網(wǎng)絡(luò)的執(zhí)行參數(shù)是針對單個交換節(jié)點。
這4種結(jié)構(gòu)都能很好地滿足動態(tài)可重構(gòu)FPGA的設(shè)計要求。片上網(wǎng)絡(luò)的結(jié)構(gòu)體現(xiàn)了較好的結(jié)構(gòu)參數(shù),但是片上面積花費巨大,所以當設(shè)計側(cè)重片上效率時,首選片上總線的結(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è)計了DyNoC來適應(yīng)VirtexII平臺有限的可重構(gòu)能力。
3.2.2 DyNoC的應(yīng)用實例
交通燈控制(TLC)可以用一個3×3的DyNoC來實現(xiàn),由3個模塊組成: VGA控制器(VGA),交通燈視覺模塊(LV)和交通燈控制模塊(TC)。VGA模塊可以顯示目前路口情況、行人控制鍵和燈信號;交通燈視覺模塊負責控制交通燈內(nèi)部構(gòu)造,由VGA模塊顯示;交通燈控制模塊(TC)用來獲取行人需求。VGA發(fā)出X和Y 像素掃描的位置給交通燈視覺模塊,并接收需要顯示的顏色;FSM模塊用來監(jiān)控行人的鍵控輸入(片上有兩個按鈕),向交通燈視覺模塊發(fā)送轉(zhuǎn)換燈狀態(tài)的信息,然后顯示相應(yīng)顏色的燈。在3×3 DyNoC中,用正中的路由器來實現(xiàn)與其他所有路由器的連接,其他路由器也保持相互通信以確保高通信量。整個交通燈控制(TLC)的實現(xiàn)可以在沒有中斷和故障的情況下運行。
表1 4種結(jié)構(gòu)的設(shè)計參數(shù)
表2 執(zhí)行參數(shù)(在VirtexII上實驗得到)
4 相關(guān)問題和發(fā)展趨勢
① 目前片上系統(tǒng)設(shè)計中各IP組件可重用,但通信結(jié)構(gòu)無法重用。因此在系統(tǒng)重構(gòu)時,怎樣為動態(tài)配置的模塊提供一個靈活快速的通信接口成為主要問題。可研究一種動態(tài)可重構(gòu)的NoC架構(gòu),能為各IP之間的通信提供靈活的接口,并能通過片上引腳與板級系統(tǒng)的其他芯片進行數(shù)據(jù)交換,提供較好的通信質(zhì)量QoS,包括高吞吐量和短延遲等。
② NoC設(shè)計的一個重要問題是決定路由類型,這對網(wǎng)絡(luò)的性能和功耗有重要影響。路由策略越復雜,設(shè)計面積就越大,因此需要在面積和性能之間進行折中。選擇路由策略應(yīng)主要考慮實現(xiàn)的復雜性和性能需求兩大問題。
③ 重構(gòu)時隙將影響系統(tǒng)功能的連續(xù)性,為提高動態(tài)可重構(gòu)計算系統(tǒng)性能,如何避免或減少重構(gòu)時隙是實現(xiàn)動態(tài)重構(gòu)系統(tǒng)的瓶頸問題。對于多重context結(jié)構(gòu)的DRFPGA,直接通過context間切換來改變配置信息,控制陣列單元實現(xiàn)新功能重構(gòu),切換速度直接影響重構(gòu)時間的長短,一般僅需幾ns。這種重構(gòu)方式的實現(xiàn)是動態(tài)重構(gòu)技術(shù)發(fā)展的主要標志。
結(jié)語
本文介紹了可重構(gòu)體系結(jié)構(gòu)和典型的動態(tài)可重構(gòu)計算結(jié)構(gòu);詳細分析了動態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu),并對4種通信結(jié)構(gòu)的主要性能進行實驗,得出對比數(shù)據(jù);列舉了一種結(jié)構(gòu)在交通燈控制中的應(yīng)用實例;最后探討了動態(tài)可重構(gòu)技術(shù)研究面臨的相關(guān)問題和發(fā)展趨勢。
參考文獻
[1] Xilinx Corporaton[EB/OL] . http :// www. xilinx. com ,2002-12.
[2] Thilo Pionteck, Carsten Albrecht, Roman Koch, et al. Communication Architectures for Dynamically Reconfigurable FPGA Designs.
[3] Nikolaos S Voros,Konstantinos Masselos.System Level Design of Reconfigurable Systems-on-Chip[M]. 北京: 科學出版社,2007.
[4] Moreno J M,et al. Reliation of SelfRepairing and Evoluable Hardware Structures by Means of Implicit Self-configuration[J]. IEEE 1999: 182 187.
[5] Rafael Maestre ect.A Framework for Reconfigurable Computing :Task Scheduling and Context Management [J] . IEEE Transcation On VLSI Systems,2001,9(6).
劉倩(碩士研究生),主要研究方向為可重構(gòu)體系結(jié)構(gòu)及實現(xiàn)方法;
李廣軍(教授、博士生導師),主要研究方向為無線通信系統(tǒng)設(shè)計、嵌入式系統(tǒng)設(shè)計、通信專用集成電路設(shè)計、EDA/SOC設(shè)計;
郭志勇(講師、博士研究生),主要研究方向為嵌入式系統(tǒng)設(shè)計、通信專用集成電路設(shè)計。
評論