摘 要: 論述了粗粒度" title="粗粒度">粗粒度可配置" title="可配置">可配置計算結(jié)構(gòu)的特點、發(fā)展現(xiàn)狀和未來發(fā)展方向。
關(guān)鍵詞: 粗粒度 配置 并行計算
可配置計算又稱為自適應(yīng)計算。它是由多個具有可重配置" title="可重配置">可重配置功能的功能單元(PE)和可以配置不同數(shù)據(jù)傳遞方向的連接線路一起構(gòu)成的計算機結(jié)構(gòu),如圖1所示?,F(xiàn)在,可重配置計算主要分為兩類:細粒度配置和粗粒度配置。細粒度配置計算主要體現(xiàn)在FPGA(現(xiàn)場可編程邏輯陣列),它在數(shù)字邏輯芯片開發(fā)和系統(tǒng)設(shè)計等方面應(yīng)用非常廣泛,但由于細粒度的原因,其實際邏輯單元僅占實際芯片面積的10%,其余被開關(guān)、RAM、布線網(wǎng)絡(luò)所占有,功耗和工作頻率都不是非常理想,在處理一些規(guī)則運算,如乘法時效率不高。相對的,粗粒度配置計算的粒度一般為4、8、16、32位,非常適合進行算法級操作[1~3]。試想一下,如果要處理10000×20000像素的圖片,用現(xiàn)在的計算機能夠?qū)崟r完成嗎?但應(yīng)用粗粒度可配置計算結(jié)構(gòu)設(shè)計的計算機能夠完成。在數(shù)字信號處理領(lǐng)域,算法一般都遵循90/10的規(guī)律。即在一個算法中,90%是重復(fù)單一或類似功能的規(guī)則操作,不規(guī)則的靜態(tài)操作只占10%。如果針對算法中的規(guī)則操作設(shè)計處理單元(PE),并通過多個處理單元(PE)組成網(wǎng)絡(luò)進行并行計算,在功耗比較小時,其計算能力或者說處理速度將非常快,能夠完成大數(shù)據(jù)量、大運算量的算法。同時隨著超大規(guī)模集成電路的發(fā)展,特別是SOC(單芯片系統(tǒng)集成)技術(shù)的興起,在一個芯片中,可以很容易集成幾百萬門的電路,為粗粒度可配置計算的研究和應(yīng)用提供了基礎(chǔ)。
1 粗粒度可配置結(jié)構(gòu)的數(shù)據(jù)處理" title="數(shù)據(jù)處理">數(shù)據(jù)處理
在可重配置計算中,一般提供了配置過程和計算過程。根據(jù)計算任務(wù)的不同,首先對處理單元和連接網(wǎng)絡(luò)進行相應(yīng)的配置,之后再對數(shù)據(jù)流進行計算。圖2是傳統(tǒng)的處理器與粗粒度可重配置結(jié)構(gòu)數(shù)據(jù)處理流程的比較。從圖2中可以看到,馮.諾曼類型的指令流被配置流和數(shù)據(jù)流所代替。粗粒度可配置計算結(jié)構(gòu)將軟件的靈活與硬件的高速結(jié)合在一起,從嶄新的角度設(shè)計數(shù)字信號處理器。與傳統(tǒng)的處理器相比,具有以下特點:
(1)傳統(tǒng)數(shù)據(jù)處理的指令流被配置流所代替,不再是單個指令的乘加或移位運算,而是不同功能如濾波、FFT、矩陣相乘等的順序執(zhí)行。
(2)各單元功能可以配置,與傳統(tǒng)的處理器指令不同,設(shè)計全新的配置指令。通過配置為不同功能單元的組合,完成相應(yīng)的功能。由于是用硬件實現(xiàn)各功能,功耗低。
(3)不存在傳統(tǒng)處理器從RAM中讀取指令問題,且結(jié)構(gòu)中有多個RAM區(qū)和I/O可用,可有效解決馮.諾曼瓶頸,加快數(shù)據(jù)處理速度。
(4)多個單元的網(wǎng)絡(luò)結(jié)構(gòu),鏈路可配,具有極強的并行處理" title="并行處理">并行處理能力。將編譯之后的算子網(wǎng)表與實際結(jié)構(gòu)中的處理單元一一對應(yīng)的過程是映射與路徑尋優(yōu)的過程,主要指map(映射)、place(放置)、route(路由)三步。涉及的優(yōu)化算法主要有:模擬退火算法、遺傳算法、談判擁塞算法等。
2 發(fā)展現(xiàn)狀
粗粒度重配置計算最早見于20世紀60年代,是Gerald Estrin教授提出的“固定加可變結(jié)構(gòu)計算機[4]”,但因為受當時芯片制造水平的限制,只是一個概念而已。進入90年代,隨著VLSI(超大規(guī)模集成電路)技術(shù)的發(fā)展,以“可編程開關(guān)(program switch)”為基礎(chǔ)的粗粒度可配置計算結(jié)構(gòu)不斷被開發(fā)出來,并在圖像濾波、特征提取、目標識別與跟蹤、通訊算法等方面展示出了非凡的性能與潛力[5~9]。表1[5,10,11]列出的是國外部分粗粒度計算項目,國內(nèi)此項研究尚未見報道。在商業(yè)應(yīng)用中,做得比較好的是PACT 極端并行處理公司,其包含64個PE的XPP64A1在主頻200MHz時MAC(乘加)運算已經(jīng)達到了12.8GigaMACs/秒[12]。
從表1可以發(fā)現(xiàn),現(xiàn)有的粗粒度可重配置計算都有其相應(yīng)的應(yīng)用領(lǐng)域,沒有形成一個統(tǒng)一固定的模式,系統(tǒng)結(jié)構(gòu)、組織方式、粒度大小及編譯環(huán)境各不相同。開發(fā)高效通用的粗粒度計算結(jié)構(gòu)仍有一定的難度,這也是可配置計算結(jié)構(gòu)的重要研究方向。
3 未來的發(fā)展
粗粒度可配置計算將軟件的靈活與硬件的高效、低功耗結(jié)合在一起,利用硬件來實現(xiàn)軟件算法。雖然靈活性上要比DSP和計算機差一些,但計算效率和處理能力上卻有很大的提高。圖3 是數(shù)字信號處理領(lǐng)域目前各類器件性能的簡單比較。
此結(jié)構(gòu)芯片非常適合圖像數(shù)據(jù)處理,同時另一應(yīng)用方面——軟件無線電的硬件平臺,也正促進其發(fā)展。
現(xiàn)在,軟件無線電的研究在我國正不斷深入。其目標之一是將不同制式、不同頻段的信號利用單一器件進行接收和發(fā)送,并且越早地將射頻信號變?yōu)閿?shù)字信號進行處理越好。這一方面促進了智能天線和軟件接口協(xié)議的研究,另一方面也要求有高速低功耗、功能可變的硬件相配合?,F(xiàn)階段國內(nèi)應(yīng)用的硬件主要是DSP和計算機,它們在功耗和速度方面都不及粗粒度可配置計算。粗粒度可配置計算結(jié)構(gòu),通過處理單元的配置、數(shù)據(jù)路徑的配置,使數(shù)據(jù)在流動中完成運算。在接近ASIC(專用集成電路)性能的同時,又具有一定的靈活性[12~15]。應(yīng)用可配置計算系統(tǒng),既可以更早地將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號進行處理,利于系統(tǒng)性能的提高,又可以進一步將其包裝為IP(知識產(chǎn)權(quán))核,與目前微電子正在興起的系統(tǒng)集成技術(shù)(SOC)相結(jié)合,形成單一系統(tǒng)芯片,適應(yīng)并促進我國無線通訊設(shè)備的改進,如圖4所示。
這是新的計算機結(jié)構(gòu),克服了傳統(tǒng)計算機的馮.諾曼瓶頸,結(jié)構(gòu)中固有的并行處理能力,使其具有非常好的性能。微電子技術(shù)的發(fā)展、芯片集成度的提高,為此結(jié)構(gòu)計算機的實現(xiàn)提供了可能。因此研究這種計算機結(jié)構(gòu),對計算機科學的發(fā)展是有價值的。
參考文獻
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