<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA PCI的并行計(jì)算平臺(tái)實(shí)

          基于FPGA PCI的并行計(jì)算平臺(tái)實(shí)

          作者: 時(shí)間:2011-08-26 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/150290.htm

            (4)實(shí)現(xiàn)與算法core間的協(xié)議邏輯,控制多種數(shù)據(jù)流的下行以及結(jié)果的返回。

            2 MD5算法簡介

            MD5(Message Digest 5)報(bào)文摘要算法是一種應(yīng)用廣泛的提取數(shù)字指紋的算法標(biāo)準(zhǔn),它由MIT的密碼學(xué)專家、RSA算法的發(fā)明人之一Rivest設(shè)計(jì)發(fā)明。MD5算法結(jié)構(gòu)如圖5所示。

            對(duì)任意長度的信息輸入,MD5都將產(chǎn)生一個(gè)長度為128bit的輸出,這一輸出可以被看作是原輸入報(bào)文的“報(bào)文摘要值(Message Digest)”。

            MD5的特點(diǎn):

            (1)兩條不同的報(bào)文具有相同的報(bào)文摘要值的可能性極小。

            (2)對(duì)于預(yù)先給定的報(bào)文摘要值,要想尋找到一條報(bào)文,使得其報(bào)文摘要值與某個(gè)給定的報(bào)文摘要值相等,在上是不可能的。

            (3)根據(jù)報(bào)文的摘要值,要想推測(cè)出原來的報(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值簡單級(jí)聯(lián):string=hex(h)+chanUenge

            step4:將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值,從提供的字典中提取合適密碼,由生成算法出對(duì)應(yīng)的Hash值與提供的Hash值匹配來校驗(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í)流水線設(shè)計(jì)及運(yùn)算速度就是系統(tǒng)運(yùn)行時(shí)鐘的速度。除運(yùn)算初期流水線建立過程和運(yùn)算結(jié)束時(shí)流水線完成過程,運(yùn)算速度均可視為20MHz;實(shí)際制成的系統(tǒng)為四片算法運(yùn)算,實(shí)際吞吐量為4×20M×16bit=1.28Gb;經(jīng)Ahem Quartus 4.1綜合,實(shí)際仲裁邏輯占用3725個(gè)邏輯單元。綜合頻率最高為156.2MHz,單算法邏輯占用7718個(gè)邏輯單元,綜合頻率最高為37.10MHz。

            典型的普通PC機(jī)定點(diǎn)運(yùn)算需要多個(gè)指令周期,包括取指令、取數(shù)據(jù)、、保存數(shù)據(jù)等指令周期,而一個(gè)x86指令周期又由多個(gè)CPU時(shí)鐘周期組成,大大降低了實(shí)際運(yùn)算速度。由于單個(gè)CORE以20MHz時(shí)鐘流水線運(yùn)算,相當(dāng)于一臺(tái)普通PC機(jī)的運(yùn)算速度,因此多個(gè)CORE運(yùn)算即可達(dá)到多臺(tái)PC機(jī)運(yùn)算的效率。

            采取密鑰字典自窮舉產(chǎn)生方式,可發(fā)揮算法CORE的最大效能。若采取密鑰字典自PC機(jī)下載方式,則實(shí)際速率由總線最高速率決定。但由于字典可以人為選取,大大降低了密鑰選取的盲目性。本系統(tǒng)接入普通PC機(jī)上32bit、32MHz的總線,單算法CORE連續(xù)運(yùn)算(64bit×20MHz)即可滿足總線全速下載。若使用64bit、66MHz的PCI總線或PCI EXPRESS,將進(jìn)一步提高系統(tǒng)的實(shí)際吞吐量。

            本文提出了一種的適合大規(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)或超過一臺(tái)普通PC機(jī)的運(yùn)算速度。而每增加一塊算法FPGA,在效率提高一倍的前提下,功耗增加不超過10W,而體積幾乎不變,成本也只是比普通PC機(jī)增加了五分之一。因此.本文提出的并行結(jié)構(gòu)具有極高的性價(jià)比。

            如果將PCI總線接口模塊集成到FPGA中以取代PCI9054芯片,將進(jìn)一步降低硬件成本,減少硬件設(shè)計(jì)的復(fù)雜度;因?qū)嶋H運(yùn)算速度與算法的并行度和優(yōu)化有密切的關(guān)系,因此,設(shè)計(jì)不同應(yīng)用的CORE以及相關(guān)算法的優(yōu)化是下一步要進(jìn)行的重要工作。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();