基于fpga的并行計算技術(shù)

基于fpga的并行計算技術(shù)

ID:9411027

大小:68.58 KB

頁數(shù):5頁

時間:2018-04-30

基于fpga的并行計算技術(shù)_第1頁
基于fpga的并行計算技術(shù)_第2頁
基于fpga的并行計算技術(shù)_第3頁
基于fpga的并行計算技術(shù)_第4頁
基于fpga的并行計算技術(shù)_第5頁
資源描述:

《基于fpga的并行計算技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、基于FPGA的并行計算技術(shù)更新于2012-03-1317:15:57文章出處:互聯(lián)網(wǎng)1?微處理器與FPGA微處理器普遍采用馮·諾依曼結(jié)構(gòu),即存儲程序型計算機結(jié)構(gòu),主要包括存儲器和運算器2個子系統(tǒng)。其從存儲器讀取數(shù)據(jù)和指令到運算器,運算結(jié)果儲存到存儲器,然后進行下一次讀取-運算-儲存的操作過程。通過開發(fā)專門的數(shù)據(jù)和指令組合,即控制程序,微處理器就可以完成各種計算任務(wù)。馮·諾依曼型計算機成功地把信息處理系統(tǒng)分成了硬件設(shè)備和軟件程序兩部分,使得眾多信息處理問題都可以在通用的硬件平臺上處理,只需要開發(fā)具體的應(yīng)用軟件,從而極大地降低了開發(fā)信息處理系統(tǒng)的復(fù)雜性。然而,馮·諾依

2、曼型計算機也有不足之處,由于數(shù)據(jù)和指令必須在存儲器和運算器之間傳輸才能完成運算,使得計算速度受到存儲器和運算器之間信息傳輸速度的限制,形成所謂的馮·諾依曼瓶頸[1];同時,由于運算任務(wù)被分解成一系列依次執(zhí)行的讀取-運算-儲存過程,所以運算過程在本質(zhì)上是串行的,使并行計算模式在馮·諾依曼型計算機上的應(yīng)用受到限制。受到半導(dǎo)體物理過程的限制,微處理器運算速度的提高已經(jīng)趨于緩慢,基于多核處理器或者集群計算機的并行計算技術(shù)已經(jīng)逐漸成為提高計算機運算性能的主要手段。并行計算設(shè)備中包含多個微處理器,可以同時對多組數(shù)據(jù)進行處理,從而提高系統(tǒng)的數(shù)據(jù)處理能力?;诩河嬎銠C的超級計算

3、機已經(jīng)成為解決大型科學(xué)和工程問題的有利工具。然而,由于并行計算設(shè)備中的微處理器同樣受馮·諾依曼瓶頸的制約,所以在處理一些數(shù)據(jù)密集型,如圖像分析等問題時,計算速度和性價比不理想。現(xiàn)場可編程門陣列(FPGA)是一種新型的數(shù)字電路。傳統(tǒng)的數(shù)字電路芯片都具有固定的電路和功能,而FPGA可以直接下載用戶現(xiàn)場設(shè)計的數(shù)字電路。FPGA技術(shù)顛覆了數(shù)字電路傳統(tǒng)的設(shè)計-流片-封裝的工藝過程,直接在成品PFGA芯片上開發(fā)新的數(shù)字電路,極大地擴大了專用數(shù)字電路的用戶范圍和應(yīng)用領(lǐng)域。自從20世紀(jì)80年代出現(xiàn)以來,F(xiàn)PGA技術(shù)迅速發(fā)展,F(xiàn)PGA芯片的晶體管數(shù)量從最初的數(shù)萬個迅速發(fā)展到現(xiàn)在的數(shù)

4、十億個晶體管[2],F(xiàn)PGA的應(yīng)用范圍也從簡單的邏輯控制電路發(fā)展成為重要的高性能計算平臺。FPGA芯片中的每個邏輯門在每個時鐘周期都同時進行著某種邏輯運算,因此FPGA本質(zhì)上是一個超大規(guī)模的并行計算設(shè)備,非常適合用于開發(fā)并行計算應(yīng)用。目前,F(xiàn)PGA已被成功地應(yīng)用到分子動力學(xué)、基因組測序、神經(jīng)網(wǎng)路、人工大腦、圖像處理、機器博弈等領(lǐng)域,取得了數(shù)十到數(shù)千倍的速度提高和優(yōu)異的性價比[3-18]。2?FPGA并行算法的設(shè)計與開發(fā)FPGA通過邏輯電路實現(xiàn)計算功能,而微處理器則通過程序和存儲器控制計算過程。FPGA和微處理器在基本架構(gòu)上的根本區(qū)別,決定了它們算法的設(shè)計理念和

5、方法也存在很大區(qū)別[4-5]。與微處理器相比,F(xiàn)PGA最主要的優(yōu)勢是可以同時對大量變量進行邏輯運算和賦值,實現(xiàn)并行運算;而FPGA最主要的劣勢則是失去了微處理器所提供的許多基本計算工具,如浮點數(shù)計算、初等函數(shù)取值等。在設(shè)計FPGA算法時,應(yīng)該充分發(fā)揮FPGA可以同時對大量變量進行邏輯運算和賦值的優(yōu)勢,而盡量避免使用浮點數(shù)運算、初等函數(shù)取值等數(shù)值計算功能,所以并不是任何并行計算問題都適于在FPGA上實現(xiàn)。一般來說,F(xiàn)PGA最適用于需要大量并行邏輯或者整數(shù)運算的計算任務(wù)。例如,圖像處理應(yīng)用中的線性除噪、形態(tài)學(xué)變換、邊緣檢測、模式匹配等應(yīng)用,就非常適合在FPGA上實現(xiàn)[1

6、0-16]。FPGA算法中常用的電路結(jié)構(gòu)包括流水線型和并行陣列型兩種(見圖1)。在流水線型結(jié)構(gòu)中,計算任務(wù)被分解成多個子任務(wù),由多個子電路依次完成,多組數(shù)據(jù)依次進入流水線電路,同時進行不同階段的計算(見圖1(a))。忽略首批數(shù)據(jù)進入流水線的延遲,流水線型電路處理數(shù)據(jù)的用時等于所有子任務(wù)中最長的用時。如果每個子任務(wù)都可以采用組合電路來完成而不需要時序電路,則所有子任務(wù)都可以在一個FGPA時鐘內(nèi)完成,從而實現(xiàn)極高的運算速度和性價比。圖1?流水線型電路和并行陣列型電路?在并行陣列型電路中,多組并行排列的子電路同時接收整體數(shù)據(jù)的多個部分進行并行計算(見圖1(b))。并

7、行陣列型電路中的子電路本身可以是簡單的組合電路,也可以是復(fù)雜的時序電路,如流水線型電路。如果受邏輯資源限制,無法同時處理全部數(shù)據(jù),也可以依次處理部分數(shù)據(jù),直到完成全部數(shù)據(jù)的處理。圖2示出了FPGA系統(tǒng)的開發(fā)流程。一般采用硬件描述語言(HDL),如Verilog、VHDL等,實現(xiàn)FPGA并行算法。雖然有一些類似C語言的軟件可以幫助沒有數(shù)字電路設(shè)計經(jīng)驗的用戶實現(xiàn)FPGA設(shè)計,但是由于包括C語言在內(nèi)的微處理器編程語言蘊含了許多微處理器的計算模式和理念,所以會影響或干擾FPGA并行算法的實現(xiàn)。使用HDL可以更好地結(jié)合FPGA的計算模式,設(shè)計出更合理的并行算法。一般選用

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。