基于FPGA的動態可重構系統的通信結構研究
基于SRAM的FPGA的問世標志著現代可重構計算技術的開端,并極大地推動了其發展。可重構計算技術能夠提供硬件的效率和軟件的可編程性,它綜合了微處理器和ASIC的特點,空間維和時間維上均可變,因而廣泛應用在軍事目標匹配、大數運算、聲納波束合成、基因組匹配、圖像紋理填充、集成電路的計算機輔助設計等方面。對動態可重構相關技術的研究將推動可重構技術的發展,以滿足更多的應用需求。
1 可重構體系結構
用可重構器件構造的基本體系結構,按可重構處理單元RPU和傳統微處理器的耦合方式,可分為以下4種:
① 作為一個單獨的處理單元通過I/O 接口連接總線,是最松散的連接方式,如圖1(a)所示;
② 作為主處理器的處理單元掛在主機的本地總線上,通過Cache 來實現和主處理器之間的連接,如圖1(b)所示;
③ 作為協處理單元,可以執行較大粒度的運算,如圖1(c)所示;
④ RPU被集成到處理器芯片內,作為主處理器一個擴展的數據通道,提供功能可以定制的指令,如圖1(d)所示。
圖1 可重構單元RPU和傳統微處理器的耦合關系圖
2 典型動態可重構系統結構
重構可分為靜態重構和動態重構。如果重構必須在中斷程序執行的情況下運行,則稱為“靜態重構”;如果裝載配置文件的過程可以與程序執行同時進行,即在改變電路功能的同時,仍然保證電路的動態接續,則稱為“動態重構”。動態可重構系統多是基于多配置文件的RPU,可在運行部分配置文件的同時改變其他配置文件,從而顯著縮短重新配置的時間。動態可重構技術可以使數字系統單片化的設計從追求邏輯大規模、高集成度轉向追求資源利用率,從專用的固定功能邏輯系統轉向功能可自適應進化的邏輯系統,其設計理論和方法已逐漸成為新的研究熱點。下面介紹幾種典型的動態可重構結構。
Garp: 美國加州大學伯克利分校的BRASS研究小組開發的,由一個MIPS微處理器和FPGA組合而成的系統。其核心是探索如何將可重構計算單元嵌入到傳統的RISC處理器中,并論證這種可變結構對某些領域計算的加速能力。
M1、M2芯片: M1芯片是美國加州大學Morphosys工程提出的一種粗粒度、多重配置文件可重構結構;M2是M1的一種改進結構,兼具
FIPSOC: SIDNA工程提出的一種粗粒度結構的FPGA。時序邏輯部分有多重配置文件的動態重構功能。為支持動態重構,每個寄存器中的數據都可復制,微處理器的指令和功能單元均做了改進。
DPGA: 麻省理工大學的Transit工程提出的,劃分結構為二維陣列單元的D
XPP(eXtreme Processing Platform) 結構: PACT公司提出的一種粗粒度實時動態可重構的數據處理技術,其中心思想是用配置流替代指令流,支持并行任務。XPP對處理大量流數據的應用效率很高,適用于無線基站、圖像、視頻流處理、雷達聲納、生物信息、過程仿真和加密等領域。
3 動態可重構系統的通信結構
3.1 兩種基本策略
典型的片上系統設計常常采用片上總線和片上網絡兩種通信策略。最常用的是片上總線,其主要優點是高靈活性,可延展,設計花銷小,一般在帶寬要求較低時時延也較短;缺點是過長的通信線路帶來一定能耗,且限制系統時鐘速率。當通信結構中含有兩個以上的模塊時,可伸縮性減弱。分層總線結構可以減輕關鍵路徑上的總線負載,通過橋連接多個總線可將速度要求不同的器件隔離在不同的時鐘域上,使得SoC得以延續PCB板的優良性能。
片上網絡(NoC)技術從體系結構上徹底解決了總線結構所固有的三大問題:由于地址空間有限而引起的擴展性問題;由于分時通信而引起的通信效率問題;由于全局同步而引起的功耗和面積問題。其主要優點是能支持硬件模塊之間的并發通信,可伸縮性更強,可用于支持更大帶寬,但時延更長。元件的模塊化更有利于IP重用,從而提供更高的時鐘頻率和低功耗。相對于總線結構使用中央控制邏輯,NoC的每個交換節點都包含緩存、路由邏輯和仲裁邏輯,因而其最大缺點是片上面積花銷更大。
NoC的拓撲結構有直接網絡Orthogonal拓撲、立方連接循環拓撲、Octagon拓撲等;間接網絡拓撲Crossbar Switch結構、FullyConnected網絡和Butterfly拓撲等。NoC拓撲方式的選擇將顯著影響通信架構的傳輸能力。為配合芯片架構復雜度與成本,芯片本身的處理特性與應用目標,在通信架構方面必須考慮拓撲的路徑平均距離、可擴展大小、節點數量、頂點數量、網絡直徑等。由于NoC的拓撲結構選擇對其產品的最終性價比起到決定性影響,因此選擇正確的拓樸結構能有效縮短各種應用的設計以及驗證時間。
評論