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