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