摘要:本文結合可編程邏輯器件的發展對可重構計算技術的產生、發展歷程做了簡要的概述,以期對特定應用領域設計的基于FPGA的動態可重構計算技術研究有所啟迪
關鍵詞:可重構計算 發展 簡述
可重構計算是一種介于軟件和專用硬件之間的新的求算方式,兼具了軟件的通用性和硬件的高效性。20世紀90年代以來,隨著電子技術和計算機技術的不斷進步,可重構計算正逐步成為一個新的研究熱點并已經廣泛應用于信號處理領域、數據加密領域,硬件演化計算、定制計算、嵌入式系統領域并在軍事領域和航天領域凸顯出優勢。時至今日,基于FPGA的可重構計算技術的相關研究取得了很大的進展,并在諸多領域成功的實現應用,發展前景廣泛,同時在現有研究成果和技術基礎上,又向更深遠的自演化方向發展。
一、可重構計算技術簡述
計算目標的實現主要有兩種,一種是采用對通用微處理器進行軟件編程的方式,一種是采用專用集成電路的方式。前者通用性好,但運算速度不高,效率低;后者處理速度快,但只能針對特定的算法,幾乎沒有任何靈活性,通用性受限。可重構計算是一種介于軟件和專用硬件之間的新的求算方式,兼具了軟件的通用性和硬件的高效性,恰好補充了兩者的缺陷,能夠提供硬件功能的效率和軟件的可編程性,是一種較為理想的求算方式。
早在20世紀60年代,美國加州大學計算機專家GeraidEstrin就已提出了可重構計算的初步設想;20世紀70年代末,前蘇聯計算機專家Suetlana P.khrtashev和StevenI.kartashev博士提出了動態可重構的系統結構的概念,對中大規模集成電路的動態重構系統軟、硬件進行了研究,并成立了動態可重構結構公司;20世紀80年代,可重構技術得到了較大發展,在容錯計算、并行處理,硅圓片集成電路等方面得到了廣泛應用;進人20世紀90年代,隨著微電子技術的發展,特別是可編程邏輯器件的出現,以及電子設計自動化技術的發展,基于具有可重構能力的芯片FPGA的硬件可重構研究就成為新的研究熱點;21世紀以來,FPGA的動態重構研究在國際上已經得到了越來越多的關注,然而國內在此方面的研究還剛剛起步,從整體來看,可重構計算技術的研究仍舊處于初級階段。
二、基于FPGA的可重構計算技術原理
1、可重構計算技術定義
可重構計算沒有嚴格的定義,目前學術界普遍接受的一個定義是:使用集成了可編程硬件的系統進行計算,該可編程硬件的功能可由一系列定時變化的物理可控點來定義。
由此可見,可重構計算已經不是靠改變計算機體系結構來實現特定算法了,而是通過對特定可重構件Rid或是可控點的改動使用戶能夠使用相同的硬件執行不同的應用,通過對可編程硬件進行重新編程或局部重新編程來實現。利用可重構技術,能在現有或只增加少量硬件資源的情況下,使系統同時具有軟件實現和硬件實現的優點。
2、可重構計算技術分類
根據可重構計算的不同研究方向,有多種分類方法。
按可重構件的粒度可分為細粒度和粗粒度。粒度是指可重構件的基本執行單元的數據位寬度,在一定程度上反映了可重構件的數據處理能力。一般將粒度不超過4的稱為細粒度,大于4的稱為粗粒度。粒度細,則可重構件的通用性好,但配置指令較多,并且針對某些特定算法,不能獲得最優的處理結構;粗粒度可重構件通常針對特定的應用領域(如密碼處理,多媒體處理)設計,結構進行了優化,配置也相對簡單。如果一個可重構體系中包括細粒度和粗粒度兩種RU,則稱其為混合粒度結構。
基于FPGA的可重構計算系統,按重構發生的時間分為靜態重構和動態重構。靜態重構是指在可重構件運行之前對其進行預先配置,在運行過程中其功能保持不變,重構必須在中斷系統功能執行的情況下進行。動態重構是指能在可重構件運行的過程中實時配置的可重構,實現功能的改變。其中,動態重構按實現面積的不同,又分為局部動態重構和全局動態重構。目前大多數FPGA是靜態可重構的,而針對特定應用領域設計的FPGA大部分是支持動態可重構的,例如RaPiD和PipeRench。靜態重構與動態重構的本質區別是配置時間的長短,前者配置時間大約需數毫秒或數十毫秒,而后者配置時間一般為幾十納秒,為動態實時可重構的實現提供了依據。
根據主處理器與可重構件的連接緊密關系,可分為緊耦合連接和松耦合連接兩種方式。典型的緊耦合連接方式有:可重構件作為主處理器的一個功能部件直接集成在主處理器中即功能單元模式,或可重構件以協處理器的形式通過局部總線與主處理器連接,即協處理器模式。典型的松耦合連接的方式有:可重構件作為輔助處理器通過外部總線與主處理器連接,或可重構件作為主機外部獨立的處理器通過I/O接口與主處理器進行連接。
3、基于FPGA的可重構計算技術原理
基于Flash工藝或反熔絲工藝的FPGA,具有非易失性。編程完成后,即使撤除工作電壓,FPGA的配置數據仍然保留,但由于不能重復編程或編程時間較長,不適宜可重構計算。基于SRAM工藝的FPGA具有易失性的特點,每次重新加電FPGA都要重配置,這一特點一度被很多用戶認為是個不利因素,但由此導致的FPGA器件的資源配置可改變特性剛好滿足可重構體系結構的要求,這一特征成為FPGA在許多新領域獲得廣泛應用的關鍵,并成為可重構計算系統發展的持續驅動力量。
基于FPGA的可重構技術,就是利用FPGA可以多次重復編程配置的特點,通過時分復用的方式利用FPGA內部的邏輯資源,使在時間上離散的邏輯電路功能模塊能在同一FPGA中順序實現的技術。根據現在對基于FPGA的可重構計算技術的研究方向,針對特定應用領域設計的基于FPGA的動態可重構計算技術研究更具潛力和前景。