基于FPGA與PCI總線(xiàn)的并行計(jì)算平臺(tái)設(shè)計(jì)實(shí)現(xiàn)_第1頁(yè)
基于FPGA與PCI總線(xiàn)的并行計(jì)算平臺(tái)設(shè)計(jì)實(shí)現(xiàn)_第2頁(yè)
基于FPGA與PCI總線(xiàn)的并行計(jì)算平臺(tái)設(shè)計(jì)實(shí)現(xiàn)_第3頁(yè)
基于FPGA與PCI總線(xiàn)的并行計(jì)算平臺(tái)設(shè)計(jì)實(shí)現(xiàn)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于FPGA與PCI總線(xiàn)的并行計(jì)算平臺(tái)設(shè)計(jì)實(shí)現(xiàn)當(dāng)前對(duì)于各種加密算法。除了有針對(duì)性的破解算法,最基本的思想就是窮舉密鑰進(jìn)行匹配,通常稱(chēng)為暴力破解算法。由于暴力破解算法包含密鑰個(gè)數(shù)較多,遍歷的時(shí)間超過(guò)實(shí)際可接受的范圍。如果計(jì)算速度提高到足夠快。這種遍歷的算法因結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)便而具有實(shí)際應(yīng)用的前景。PCI總線(xiàn)(外設(shè)互聯(lián)總線(xiàn))與傳統(tǒng)的總線(xiàn)標(biāo)準(zhǔn)——ISA總線(xiàn)(工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)總線(xiàn))相比,具有更高的傳輸率(132MBps)、支持32位處理器及DMA和即插即用等優(yōu)點(diǎn),用于取代ISA總線(xiàn)而成為目前臺(tái)式計(jì)算機(jī)的事實(shí)I/O總線(xiàn)標(biāo)準(zhǔn),在普通PC機(jī)和工控機(jī)上有著廣泛的應(yīng)用。PCI總線(xiàn)為滿(mǎn)足在插卡和系統(tǒng)存儲(chǔ)器中高速傳輸數(shù)據(jù)的要求提供了很好的途徑。PCI總線(xiàn)是一種獨(dú)立于處理器的局部總線(xiàn),因此通過(guò)PCI總線(xiàn)插入擴(kuò)展板,利用并提升普通PC機(jī)和工控機(jī)對(duì)大規(guī)模數(shù)字信號(hào)處理的運(yùn)算能力和速度是一項(xiàng)非常具有實(shí)用意義的工作。隨著數(shù)字技術(shù)日益廣泛的應(yīng)用,以現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)為代表的ASIC器件得到了迅速普及和發(fā)展,器件集成度和速度都在高速增長(zhǎng)。FPGA既具有門(mén)陣列的高邏輯密度和高可靠性,又具有可編程邏輯器件的用戶(hù)可編程特性,可以減少系統(tǒng)設(shè)計(jì)和維護(hù)的風(fēng)險(xiǎn),降低產(chǎn)品成本,縮短設(shè)計(jì)周期。FPGA與通用CPU相比又具有如下顯著優(yōu)點(diǎn):(1)FPGA一般均帶有多個(gè)加法器和移位器,特別適合多步驟算法中相同運(yùn)算的并行處理。通用CPU只能提供有限的多級(jí)流水線(xiàn)作業(yè)。(2)一塊FPGA中可以集成數(shù)個(gè)算法并行運(yùn)算。通用CPU一般只能對(duì)一個(gè)算法串行處理。(3)基于FPGA設(shè)計(jì)的板卡功耗小、體積小、成本低,特別適合板卡問(wèn)的并聯(lián)。本文介紹的基于PCI總線(xiàn)的FPGA計(jì)算平臺(tái)的系統(tǒng)實(shí)現(xiàn):通過(guò)在PC機(jī)上插入擴(kuò)展PCI卡,對(duì)算法進(jìn)行針對(duì)并行運(yùn)算的設(shè)計(jì),提升普通PC機(jī)對(duì)大計(jì)算量數(shù)字信號(hào)的處理速度。本設(shè)計(jì)采用5片F(xiàn)PGA芯片及相關(guān)周邊芯片設(shè)計(jì)實(shí)現(xiàn)這一并行高速計(jì)算平臺(tái),并在該平臺(tái)上完成了DES和MD5等算法的加密和解密。文中通過(guò)基于MD5算法設(shè)計(jì)的加密方案(仿Yahoo郵箱的密碼校驗(yàn))進(jìn)行暴力破解,驗(yàn)證了本系統(tǒng)的可行性以及速度快、性?xún)r(jià)比高等顯著優(yōu)點(diǎn)。1系統(tǒng)結(jié)構(gòu)系統(tǒng)利用普通PC機(jī)或工控機(jī)進(jìn)行控制、數(shù)據(jù)流下載和結(jié)果采集,大計(jì)算量的數(shù)字運(yùn)算利用IP-CORE技術(shù)并行地在FPGA中進(jìn)行。將數(shù)字信號(hào)處理的算法設(shè)計(jì)為一個(gè)單元模塊,并根據(jù)芯片的結(jié)構(gòu)對(duì)布局和布線(xiàn)進(jìn)行優(yōu)化,該單元模塊重復(fù)利用的技術(shù)被稱(chēng)為IP-CORE技術(shù)。在本系統(tǒng)中利用TP-CORE的可重復(fù)利用性,通過(guò)仲裁邏輯調(diào)度數(shù)據(jù)的分配,從而實(shí)現(xiàn)算法的并行處理。1.1硬件結(jié)構(gòu)系統(tǒng)中采用5片ALTERA公司的STRATIXEP1Sl0FPGA芯片,其中4片作為數(shù)字信號(hào)處理算法CORE的載體(文中稱(chēng)為算法FPGA);l片作為連接PC機(jī)與運(yùn)算CORE的橋接芯片、加載程序、并行總線(xiàn)裁決和中斷判決等仲裁邏輯的載體。與PCI總線(xiàn)的接口使用PLX公司的PCI9054芯片。系統(tǒng)硬件結(jié)構(gòu)如圖l所示。1.2邏輯結(jié)構(gòu)BRIDGEFPGA的程序采用自頂向下的設(shè)計(jì)方法,其邏輯結(jié)構(gòu)如圖2所示,按功能可分為以下部分:頂層模塊PCI_FPGA_PARALLEL;與PCI9054的接口模塊PCI接口;數(shù)據(jù)緩存及仲裁部分:數(shù)據(jù)緩存模塊FIFO、寄存器模塊regpart、數(shù)據(jù)回傳模塊deserial、內(nèi)部總線(xiàn)仲裁和流控模塊CORE接口等。PCI接口部分實(shí)現(xiàn)與PCI9054芯片的接口時(shí)序,使得復(fù)用的地址和數(shù)據(jù)分開(kāi),產(chǎn)生地址空間的選取及使能信號(hào),便于后端處理。仲裁邏輯部分:(1)實(shí)現(xiàn)對(duì)地址空間內(nèi)數(shù)據(jù)緩沖區(qū)、各種寄存器的讀寫(xiě),以及根據(jù)配置寄存器的內(nèi)容對(duì)算法CORE和橋FPGA做相應(yīng)的操作(配置、啟動(dòng)、停止、復(fù)位等)。(2)利用緩沖區(qū)及FIF0的隊(duì)列長(zhǎng)度信號(hào)wrusedw、rdusedw、full和empty進(jìn)行數(shù)據(jù)流控制。數(shù)據(jù)由PC機(jī)下載時(shí)首先進(jìn)入緩沖區(qū),每一塊算法CORE均對(duì)應(yīng)一個(gè)數(shù)據(jù)下行FIFO,由FIFO當(dāng)前狀態(tài)來(lái)判定是否從緩沖區(qū)中取數(shù)。具體邏輯模型如圖3所示。(3)返回結(jié)果引入本地中斷機(jī)制,當(dāng)有正確結(jié)果產(chǎn)生、或無(wú)正確結(jié)果但密鑰匹配完成、或系統(tǒng)異常狀態(tài),均產(chǎn)生中斷信號(hào)并填寫(xiě)中斷類(lèi)型寄存器,經(jīng)級(jí)聯(lián)后產(chǎn)生向PC機(jī)的中斷。中斷判決如圖4所示。(4)實(shí)現(xiàn)與算法core間的協(xié)議邏輯,控制多種數(shù)據(jù)流的下行以及結(jié)果的返回。2MD5算法簡(jiǎn)介MD5(MessageDigest5)報(bào)文摘要算法是一種應(yīng)用廣泛的提取數(shù)字指紋的算法標(biāo)準(zhǔn),它由MIT的密碼學(xué)專(zhuān)家、RSA算法的發(fā)明人之一Rivest設(shè)計(jì)發(fā)明。MD5算法結(jié)構(gòu)如圖5所示。對(duì)任意長(zhǎng)度的信息輸入,MD5都將產(chǎn)生一個(gè)長(zhǎng)度為128bit的輸出,這一輸出可以被看作是原輸入報(bào)文的“報(bào)文摘要值(MessageDigest)”。MD5的特點(diǎn):(1)兩條不同的報(bào)文具有相同的報(bào)文摘要值的可能性極小。(2)對(duì)于預(yù)先給定的報(bào)文摘要值,要想尋找到一條報(bào)文,使得其報(bào)文摘要值與某個(gè)給定的報(bào)文摘要值相等,在計(jì)算上是不可能的。(3)根據(jù)報(bào)文的摘要值,要想推測(cè)出原來(lái)的報(bào)文是極端困難的。MD5算法被廣泛地應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)完整性檢查以及各種數(shù)據(jù)加密技術(shù)中。Yahoo郵箱密碼算法是基于兩次MD5算法。共算法步驟如下:stepl:對(duì)一個(gè)密碼字段(例如:dfeag~hyt),用MD5算法加密:h=md5(dfertgrhyt)。step2:將step1所得結(jié)果轉(zhuǎn)換為32Bytes的hex值:hex(h)。step3:將step2所得結(jié)果與一個(gè)yahoo提供的chanllenge值簡(jiǎn)單級(jí)聯(lián):string=hex(h)+chanUengestep4:將step3所得結(jié)果再進(jìn)行一次MD5運(yùn)算:hash=md5(strmg)。由于未得到實(shí)際Yaheo郵箱密碼生成參數(shù)(例如challenge碼),本文構(gòu)造了相近算法以測(cè)試本系統(tǒng)性能。測(cè)試方案如下:提供一個(gè)已知的challenge值與相應(yīng)的Hash值,從提供的字典中提取合適密碼,由生成算法計(jì)算出對(duì)應(yīng)的Hash值與提供的Hash值匹配來(lái)校驗(yàn)匹配的密碼。密鑰字典的產(chǎn)生有兩種方式:人為構(gòu)造字典及系統(tǒng)自加、窮舉產(chǎn)生密鑰。3實(shí)測(cè)性能分析實(shí)際系統(tǒng)中算法CORE運(yùn)算時(shí)鐘為20MHz,64bit數(shù)據(jù)寬度輸入;采用多級(jí)流水線(xiàn)設(shè)計(jì)及運(yùn)算速度就是系統(tǒng)運(yùn)行時(shí)鐘的速度。除運(yùn)算初期流水線(xiàn)建立過(guò)程和運(yùn)算結(jié)束時(shí)流水線(xiàn)完成過(guò)程,運(yùn)算速度均可視為20MHz;實(shí)際制成的系統(tǒng)為四片算法FPGA并行運(yùn)算,實(shí)際吞吐量為4×20M×16bit=1.28Gb;經(jīng)AhemQuartus4.1綜合,實(shí)際仲裁邏輯占用3725個(gè)邏輯單元。綜合頻率最高為156.2MHz,單算法邏輯占用7718個(gè)邏輯單元,綜合頻率最高為37.10MHz。典型的普通PC機(jī)定點(diǎn)運(yùn)算需要多個(gè)指令周期,包括取指令、取數(shù)據(jù)、計(jì)算、保存數(shù)據(jù)等指令周期,而一個(gè)x86指令周期又由多個(gè)CPU時(shí)鐘周期組成,大大降低了實(shí)際運(yùn)算速度。由于單個(gè)CORE以20MHz時(shí)鐘流水線(xiàn)運(yùn)算,相當(dāng)于一臺(tái)普通PC機(jī)的運(yùn)算速度,因此多個(gè)CORE并行運(yùn)算即可達(dá)到多臺(tái)PC機(jī)并行運(yùn)算的效率。采取密鑰字典自FPGA窮舉產(chǎn)生方式,可發(fā)揮算法CORE的最大效能。若采取密鑰字典自PC機(jī)下載方式,則實(shí)際速率由PCI總線(xiàn)最高速率決定。但由于字典可以人為選取,大大降低了密鑰選取的盲目性。本系統(tǒng)接入普通PC機(jī)上32bit、32MHz的PCI總線(xiàn),單算法CORE連續(xù)運(yùn)算(64bit×20MHz)即可滿(mǎn)足PCI總線(xiàn)全速下載。若使用64bit、66MHz的PCI總線(xiàn)或PCIEXPRESS,將進(jìn)一步提高系統(tǒng)的實(shí)際吞吐量。本文提出了一種基于FPGA的適合大規(guī)模數(shù)字信號(hào)處理的并行處理結(jié)構(gòu),利用CORE的可置換性,可以針對(duì)不同應(yīng)用的數(shù)字運(yùn)算設(shè)計(jì)不同的CORE,系統(tǒng)通用性的特點(diǎn)非常顯著。一臺(tái)普通PC機(jī)中可以同時(shí)插入數(shù)塊PCI卡。每塊卡上的任意一塊算法FPGA都可提供相當(dāng)或超過(guò)一臺(tái)普通PC機(jī)的運(yùn)算速度。而每增加一塊算法FPGA,在效率提高一倍

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論