摘 要: 論述了粗粒度" title="粗粒度">粗粒度可配置" title="可配置">可配置計(jì)算結(jié)構(gòu)的特點(diǎn)、發(fā)展現(xiàn)狀和未來發(fā)展方向。
關(guān)鍵詞: 粗粒度 配置 并行計(jì)算
可配置計(jì)算又稱為自適應(yīng)計(jì)算。它是由多個(gè)具有可重配置" title="可重配置">可重配置功能的功能單元(PE)和可以配置不同數(shù)據(jù)傳遞方向的連接線路一起構(gòu)成的計(jì)算機(jī)結(jié)構(gòu),如圖1所示。現(xiàn)在,可重配置計(jì)算主要分為兩類:細(xì)粒度配置和粗粒度配置。細(xì)粒度配置計(jì)算主要體現(xiàn)在FPGA(現(xiàn)場(chǎng)可編程邏輯陣列),它在數(shù)字邏輯芯片開發(fā)和系統(tǒng)設(shè)計(jì)等方面應(yīng)用非常廣泛,但由于細(xì)粒度的原因,其實(shí)際邏輯單元僅占實(shí)際芯片面積的10%,其余被開關(guān)、RAM、布線網(wǎng)絡(luò)所占有,功耗和工作頻率都不是非常理想,在處理一些規(guī)則運(yùn)算,如乘法時(shí)效率不高。相對(duì)的,粗粒度配置計(jì)算的粒度一般為4、8、16、32位,非常適合進(jìn)行算法級(jí)操作[1~3]。試想一下,如果要處理10000×20000像素的圖片,用現(xiàn)在的計(jì)算機(jī)能夠?qū)崟r(shí)完成嗎?但應(yīng)用粗粒度可配置計(jì)算結(jié)構(gòu)設(shè)計(jì)的計(jì)算機(jī)能夠完成。在數(shù)字信號(hào)處理領(lǐng)域,算法一般都遵循90/10的規(guī)律。即在一個(gè)算法中,90%是重復(fù)單一或類似功能的規(guī)則操作,不規(guī)則的靜態(tài)操作只占10%。如果針對(duì)算法中的規(guī)則操作設(shè)計(jì)處理單元(PE),并通過多個(gè)處理單元(PE)組成網(wǎng)絡(luò)進(jìn)行并行計(jì)算,在功耗比較小時(shí),其計(jì)算能力或者說處理速度將非常快,能夠完成大數(shù)據(jù)量、大運(yùn)算量的算法。同時(shí)隨著超大規(guī)模集成電路的發(fā)展,特別是SOC(單芯片系統(tǒng)集成)技術(shù)的興起,在一個(gè)芯片中,可以很容易集成幾百萬門的電路,為粗粒度可配置計(jì)算的研究和應(yīng)用提供了基礎(chǔ)。
1 粗粒度可配置結(jié)構(gòu)的數(shù)據(jù)處理" title="數(shù)據(jù)處理">數(shù)據(jù)處理
在可重配置計(jì)算中,一般提供了配置過程和計(jì)算過程。根據(jù)計(jì)算任務(wù)的不同,首先對(duì)處理單元和連接網(wǎng)絡(luò)進(jìn)行相應(yīng)的配置,之后再對(duì)數(shù)據(jù)流進(jìn)行計(jì)算。圖2是傳統(tǒng)的處理器與粗粒度可重配置結(jié)構(gòu)數(shù)據(jù)處理流程的比較。從圖2中可以看到,馮.諾曼類型的指令流被配置流和數(shù)據(jù)流所代替。粗粒度可配置計(jì)算結(jié)構(gòu)將軟件的靈活與硬件的高速結(jié)合在一起,從嶄新的角度設(shè)計(jì)數(shù)字信號(hào)處理器。與傳統(tǒng)的處理器相比,具有以下特點(diǎn):
(1)傳統(tǒng)數(shù)據(jù)處理的指令流被配置流所代替,不再是單個(gè)指令的乘加或移位運(yùn)算,而是不同功能如濾波、FFT、矩陣相乘等的順序執(zhí)行。
(2)各單元功能可以配置,與傳統(tǒng)的處理器指令不同,設(shè)計(jì)全新的配置指令。通過配置為不同功能單元的組合,完成相應(yīng)的功能。由于是用硬件實(shí)現(xiàn)各功能,功耗低。
(3)不存在傳統(tǒng)處理器從RAM中讀取指令問題,且結(jié)構(gòu)中有多個(gè)RAM區(qū)和I/O可用,可有效解決馮.諾曼瓶頸,加快數(shù)據(jù)處理速度。
(4)多個(gè)單元的網(wǎng)絡(luò)結(jié)構(gòu),鏈路可配,具有極強(qiáng)的并行處理" title="并行處理">并行處理能力。將編譯之后的算子網(wǎng)表與實(shí)際結(jié)構(gòu)中的處理單元一一對(duì)應(yīng)的過程是映射與路徑尋優(yōu)的過程,主要指map(映射)、place(放置)、route(路由)三步。涉及的優(yōu)化算法主要有:模擬退火算法、遺傳算法、談判擁塞算法等。
2 發(fā)展現(xiàn)狀
粗粒度重配置計(jì)算最早見于20世紀(jì)60年代,是Gerald Estrin教授提出的“固定加可變結(jié)構(gòu)計(jì)算機(jī)[4]”,但因?yàn)槭墚?dāng)時(shí)芯片制造水平的限制,只是一個(gè)概念而已。進(jìn)入90年代,隨著VLSI(超大規(guī)模集成電路)技術(shù)的發(fā)展,以“可編程開關(guān)(program switch)”為基礎(chǔ)的粗粒度可配置計(jì)算結(jié)構(gòu)不斷被開發(fā)出來,并在圖像濾波、特征提取、目標(biāo)識(shí)別與跟蹤、通訊算法等方面展示出了非凡的性能與潛力[5~9]。表1[5,10,11]列出的是國(guó)外部分粗粒度計(jì)算項(xiàng)目,國(guó)內(nèi)此項(xiàng)研究尚未見報(bào)道。在商業(yè)應(yīng)用中,做得比較好的是PACT 極端并行處理公司,其包含64個(gè)PE的XPP64A1在主頻200MHz時(shí)MAC(乘加)運(yùn)算已經(jīng)達(dá)到了12.8GigaMACs/秒[12]。
從表1可以發(fā)現(xiàn),現(xiàn)有的粗粒度可重配置計(jì)算都有其相應(yīng)的應(yīng)用領(lǐng)域,沒有形成一個(gè)統(tǒng)一固定的模式,系統(tǒng)結(jié)構(gòu)、組織方式、粒度大小及編譯環(huán)境各不相同。開發(fā)高效通用的粗粒度計(jì)算結(jié)構(gòu)仍有一定的難度,這也是可配置計(jì)算結(jié)構(gòu)的重要研究方向。
3 未來的發(fā)展
粗粒度可配置計(jì)算將軟件的靈活與硬件的高效、低功耗結(jié)合在一起,利用硬件來實(shí)現(xiàn)軟件算法。雖然靈活性上要比DSP和計(jì)算機(jī)差一些,但計(jì)算效率和處理能力上卻有很大的提高。圖3 是數(shù)字信號(hào)處理領(lǐng)域目前各類器件性能的簡(jiǎn)單比較。
此結(jié)構(gòu)芯片非常適合圖像數(shù)據(jù)處理,同時(shí)另一應(yīng)用方面——軟件無線電的硬件平臺(tái),也正促進(jìn)其發(fā)展。
現(xiàn)在,軟件無線電的研究在我國(guó)正不斷深入。其目標(biāo)之一是將不同制式、不同頻段的信號(hào)利用單一器件進(jìn)行接收和發(fā)送,并且越早地將射頻信號(hào)變?yōu)閿?shù)字信號(hào)進(jìn)行處理越好。這一方面促進(jìn)了智能天線和軟件接口協(xié)議的研究,另一方面也要求有高速低功耗、功能可變的硬件相配合?,F(xiàn)階段國(guó)內(nèi)應(yīng)用的硬件主要是DSP和計(jì)算機(jī),它們?cè)诠暮退俣确矫娑疾患按至6瓤膳渲糜?jì)算。粗粒度可配置計(jì)算結(jié)構(gòu),通過處理單元的配置、數(shù)據(jù)路徑的配置,使數(shù)據(jù)在流動(dòng)中完成運(yùn)算。在接近ASIC(專用集成電路)性能的同時(shí),又具有一定的靈活性[12~15]。應(yīng)用可配置計(jì)算系統(tǒng),既可以更早地將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)進(jìn)行處理,利于系統(tǒng)性能的提高,又可以進(jìn)一步將其包裝為IP(知識(shí)產(chǎn)權(quán))核,與目前微電子正在興起的系統(tǒng)集成技術(shù)(SOC)相結(jié)合,形成單一系統(tǒng)芯片,適應(yīng)并促進(jìn)我國(guó)無線通訊設(shè)備的改進(jìn),如圖4所示。
這是新的計(jì)算機(jī)結(jié)構(gòu),克服了傳統(tǒng)計(jì)算機(jī)的馮.諾曼瓶頸,結(jié)構(gòu)中固有的并行處理能力,使其具有非常好的性能。微電子技術(shù)的發(fā)展、芯片集成度的提高,為此結(jié)構(gòu)計(jì)算機(jī)的實(shí)現(xiàn)提供了可能。因此研究這種計(jì)算機(jī)結(jié)構(gòu),對(duì)計(jì)算機(jī)科學(xué)的發(fā)展是有價(jià)值的。
參考文獻(xiàn)
1 P Graham,B Nelson.Reconfigurable processors for high-per-formance, embedded digital signal processing. In Proc. 9th Int. Workshop on Field Programmable Logic and Applications (FPL), volume 1673 of Lecture Notes in Computer Science Springer-Verlag, 1999. , pages 1~10
2 N G Busa,C R Sala. A run-time word-level reconfigurable coarse-grain functional unit for a VLIW processor, www.sigda.org/Archives/ProceedingArchives/Compendiums/ papers/2002/isss02/pdffiles/p044.pdf, available online 2004-04-01
3 P J Bakkes, J J du Plessis. Mixing fixed and reconfig-urable logic for array processing. In Proc.4th IEEE Symp. on FPGAs for Custom Computing Machines (FCCM),1996
4 G Estrin et al., parallel processing in Restructrable computer system, IEEE Trans. Electronic computers, Dec. 1963. pp 747~755
5 Reiner Hartenstein: A Decade of Reconfigurable Computing: a Visionary Retrospective; DATE 2001, Int′l Conference on Design Automation and Testing in Europe - and Exhibit, Munich, Germany , March 12~15, 2001
6 R Hartenstein (invited embedded tutorial): Coarse Grain Reconfigurable Architectures,http://xputers.informatik.uni-kl.de/papers/paper110.pdf, available online 2004-04-01
7 N Tredennick and B Shimamoto. The rise of reconfigurable systems.In Proc. 3rd Int. Conf. on Engineering of Reconfig-urable Systems and Algorithms (ERSA), pages 3~9. CSREA Press, 2003
8 F Vahid. The softening of hardware. IEEE Computer, April 2003, 36(4):27~34
9 K Compton and S Hauck. Reconfigurable computing: A survey of systems and software. ACM Computing Surveys, June 2002, 34(2):171~210
10 http://www.qstech.com/pdfs/Adapt2400_Whitepaper_0404. pdf,2004年4月1日
11 Gilles Sassatelli, Lionel Torres, eds. Highly Scalable Dynamically Reconfigurable Systolic Ring-Architecture for DSP applications. http://www.sigda.org/Archives/Proceeding-Archives/Date/papers/2002/date02/pdffiles/06b_3.pdf,2004-04~01