可重構計算

可重構計算

可重構計算(Reconfigurable Computing,RC),FPGA的可重構運算分為動態系統重構和靜態系統重構。FPGA(現場可編程門陣列)動態重構技術,是指基於SRAM編程和專門結構的FPGA,在一定條件下,不僅具有在系統重新配置電路功能的特性,同時還具有在系統動態重構電路邏輯的能力。

可重構計算介紹


換言之,FPGA動態可重構技術就是對FPGA的全部或者部分邏輯資源實現在系統的動態的功能變換,動態可重構FPGA則是基於動態重構技術的一種可在系統實現動態配置的新型FPGA晶元。相對於靜態系統重構,動態部分重構縮短了重構的時間,而且在重構時,非重構部分依然運行,其寄存器中的數據不會丟失,從而減少了重構系統的開銷,提高了系統運行的效率。可重構計算的概念早在20世紀60年代就已提出。在通用微處理器上也運用了這一思想,如組件就是利用多路選擇器來實現功能的變化,而這些組件一般與計算結構不發生直接聯繫。目前,可重構計算已有較大發展,主要目標是希望通過硬體可編程,來自適應計算任務的需求,以期達到最佳性能;而且這種硬體結構的變化,能實時地適應計算任務要求的變化。

可重構計算技術


可重構計算的底層技術是FPGA編程技術。其中主要有兩種,一種是反熔絲技術,即我們通常所說的電可擦寫技術。這種技術在早期的PAL中廣泛使用,但這種技術的可重構實時性太差。另一種是基於靜態存儲器(SRAM)可編程原理的FPGA編程技術,其基本原理是:FPGA中各部件之間由SRAM相接,通過對SRAM編程便可實現應用的需求。這樣,FPGA硬體可編程,就如同一般SRAM的可編程。需要特別指出的是,FPGA的可編程實現運用了靜態存儲器的基本原理,但實質與通常意義上的可編程是完全不一樣的。
採用可重構計算技術構建的可重構系統通常由三個部分組成:主機、RPU (Reconfigurable Processing Unit)和存儲系統。主機用來提供用戶介面和I/O服務,編譯器和其他工具也在主機當中。通常,任何商用PC和工作站都可以看作是主機。影響主機性能的最主要因素是系統的匯流排帶寬,大量的數據將從主機傳輸到可重構處理器中,因而提高匯流排帶寬是非常必要的。

可重構計算優點


可重構計算的優點是硬體設計的實現基於軟體的靈活性,並且保持了傳統的基於硬體方法的執行速度。其體系結構可變的特點,很好地適應了實際應用中的多元化需求。隨著深亞微米VLSI技術的不斷發展,FPGA各方面的特點也促使著FPGA逐漸地取代了ASIC市場。以FPGA為先導的可重構技術,是半導體科學、材料科學電子工程計算機科學的前沿研究領域,現在目前應用最廣泛的是XILINX公司ALTERA公司晶元。