基于FPGA的動(dòng)態(tài)可重構(gòu)系統(tǒng)的通信結(jié)構(gòu)研究
基于SRAM的FPGA的問世標(biāo)志著現(xiàn)代可重構(gòu)計(jì)算技術(shù)的開端,并極大地推動(dòng)了其發(fā)展??芍貥?gòu)計(jì)算技術(shù)能夠提供硬件的效率和軟件的可編程性,它綜合了微處理器和ASIC的特點(diǎn),空間維和時(shí)間維上均可變,因而廣泛應(yīng)用在軍事目標(biāo)匹配、大數(shù)運(yùn)算、聲納波束合成、基因組匹配、圖像紋理填充、集成電路的計(jì)算機(jī)輔助設(shè)計(jì)等方面。對(duì)動(dòng)態(tài)可重構(gòu)相關(guān)技術(shù)的研究將推動(dòng)可重構(gòu)技術(shù)的發(fā)展,以滿足更多的應(yīng)用需求。
1 可重構(gòu)體系結(jié)構(gòu)
用可重構(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)所示。
圖1 可重構(gòu)單元RPU和傳統(tǒng)微處理器的耦合關(guān)系圖
2 典型動(dòng)態(tài)可重構(gòu)系統(tǒng)結(jié)構(gòu)
重構(gòu)可分為靜態(tài)重構(gòu)和動(dòng)態(tài)重構(gòu)。如果重構(gòu)必須在中斷程序執(zhí)行的情況下運(yùn)行,則稱為“靜態(tài)重構(gòu)”;如果裝載配置文件的過程可以與程序執(zhí)行同時(shí)進(jìn)行,即在改變電路功能的同時(shí),仍然保證電路的動(dòng)態(tài)接續(xù),則稱為“動(dòng)態(tài)重構(gòu)”。動(dòng)態(tài)可重構(gòu)系統(tǒng)多是基于多配置文件的RPU,可在運(yùn)行部分配置文件的同時(shí)改變其他配置文件,從而顯著縮短重新配置的時(shí)間。動(dòng)態(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)。下面介紹幾種典型的動(dòng)態(tài)可重構(gòu)結(jié)構(gòu)。
Garp: 美國(guó)加州大學(xué)伯克利分校的BRASS研究小組開發(fā)的,由一個(gè)MIPS微處理器和FPGA組合而成的系統(tǒng)。其核心是探索如何將可重構(gòu)計(jì)算單元嵌入到傳統(tǒng)的RISC處理器中,并論證這種可變結(jié)構(gòu)對(duì)某些領(lǐng)域計(jì)算的加速能力。
M1、M2芯片: M1芯片是美國(guó)加州大學(xué)Morphosys工程提出的一種粗粒度、多重配置文件可重構(gòu)結(jié)構(gòu);M2是M1的一種改進(jìn)結(jié)構(gòu),兼具
FIPSOC: SIDNA工程提出的一種粗粒度結(jié)構(gòu)的FPGA。時(shí)序邏輯部分有多重配置文件的動(dòng)態(tài)重構(gòu)功能。為支持動(dòng)態(tài)重構(gòu),每個(gè)寄存器中的數(shù)據(jù)都可復(fù)制,微處理器的指令和功能單元均做了改進(jìn)。
DPGA: 麻省理工大學(xué)的Transit工程提出的,劃分結(jié)構(gòu)為二維陣列單元的D
XPP(eXtreme Processing Platform) 結(jié)構(gòu): PACT公司提出的一種粗粒度實(shí)時(shí)動(dòng)態(tài)可重構(gòu)的數(shù)據(jù)處理技術(shù),其中心思想是用配置流替代指令流,支持并行任務(wù)。XPP對(duì)處理大量流數(shù)據(jù)的應(yīng)用效率很高,適用于無線基站、圖像、視頻流處理、雷達(dá)聲納、生物信息、過程仿真和加密等領(lǐng)域。
3 動(dòng)態(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)是過長(zhǎng)的通信線路帶來一定能耗,且限制系統(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í)延更長(zhǎng)。元件的模塊化更有利于IP重用,從而提供更高的時(shí)鐘頻率和低功耗。相對(duì)于總線結(jié)構(gòu)使用中央控制邏輯,NoC的每個(gè)交換節(jié)點(diǎn)都包含緩存、路由邏輯和仲裁邏輯,因而其最大缺點(diǎn)是片上面積花銷更大。
NoC的拓?fù)浣Y(jié)構(gòu)有直接網(wǎng)絡(luò)Orthogonal拓?fù)?、立方連接循環(huán)拓?fù)洹ctagon拓?fù)涞?;間接網(wǎng)絡(luò)拓?fù)銫rossbar Switch結(jié)構(gòu)、FullyConnected網(wǎng)絡(luò)和Butterfly拓?fù)涞取oC拓?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)選擇對(duì)其產(chǎn)品的最終性價(jià)比起到?jīng)Q定性影響,因此選擇正確的拓樸結(jié)構(gòu)能有效縮短各種應(yīng)用的設(shè)計(jì)以及驗(yàn)證時(shí)間。
評(píng)論