新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA PCI的并行計算平臺實

        基于FPGA PCI的并行計算平臺實

        作者: 時間:2011-08-26 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/150290.htm

          (4)實現與算法core間的協議邏輯,控制多種數據流的下行以及結果的返回。

          2 MD5算法簡介

          MD5(Message Digest 5)報文摘要算法是一種應用廣泛的提取數字指紋的算法標準,它由MIT的密碼學專家、RSA算法的發明人之一Rivest設計發明。MD5算法結構如圖5所示。

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

          MD5的特點:

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

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

          (3)根據報文的摘要值,要想推測出原來的報文是極端困難的。

          MD5算法被廣泛地應用于網絡數據完整性檢查以及各種數據加密技術中。

          Yahoo郵箱密碼算法是兩次MD5算法。共算法步驟如下:

          stepl:對一個密碼字段(例如:dfeag~hyt),用MD5算法加密:h=md5 (dfertgrhyt)。

          step2:將step1所得結果轉換為32Bytes的hex值:hex(h)。

          step3:將step2所得結果與一個yahoo提供的chanllenge值簡單級聯:string=hex(h)+chanUenge

          step4:將step3所得結果再進行一次MD5運算:hash=md5(strmg)。

          由于未得到實際Yaheo郵箱密碼生成參數(例如challenge碼),本文構造了相近算法以測試本系統性能。

          測試方案如下:

          提供一個已知的challenge值與相應的Hash值,從提供的字典中提取合適密碼,由生成算法出對應的Hash值與提供的Hash值匹配來校驗匹配的密碼。密鑰字典的產生有兩種方式:人為構造字典及系統自加、窮舉產生密鑰。

           3 實測性能分析

          實際系統中算法CORE運算時鐘為20MHz,64bit數據寬度輸入;采用多級流水線設計及運算速度就是系統運行時鐘的速度。除運算初期流水線建立過程和運算結束時流水線完成過程,運算速度均可視為20MHz;實際制成的系統為四片算法運算,實際吞吐量為4×20M×16bit=1.28Gb;經Ahem Quartus 4.1綜合,實際仲裁邏輯占用3725個邏輯單元。綜合頻率最高為156.2MHz,單算法邏輯占用7718個邏輯單元,綜合頻率最高為37.10MHz。

          典型的普通PC機定點運算需要多個指令周期,包括取指令、取數據、、保存數據等指令周期,而一個x86指令周期又由多個CPU時鐘周期組成,大大降低了實際運算速度。由于單個CORE以20MHz時鐘流水線運算,相當于一臺普通PC機的運算速度,因此多個CORE運算即可達到多臺PC機運算的效率。

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

          本文提出了一種的適合大規模數字信號處理的并行處理結構,利用CORE的可置換性,可以針對不同應用的數字運算設計不同的CORE,系統通用性的特點非常顯著。一臺普通PC機中可以同時插入數塊PCI卡。每塊卡上的任意一塊算法FPGA都可提供相當或超過一臺普通PC機的運算速度。而每增加一塊算法FPGA,在效率提高一倍的前提下,功耗增加不超過10W,而體積幾乎不變,成本也只是比普通PC機增加了五分之一。因此.本文提出的并行結構具有極高的性價比。

          如果將PCI總線接口模塊集成到FPGA中以取代PCI9054芯片,將進一步降低硬件成本,減少硬件設計的復雜度;因實際運算速度與算法的并行度和優化有密切的關系,因此,設計不同應用的CORE以及相關算法的優化是下一步要進行的重要工作。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广德县| 略阳县| 敦化市| 松桃| 会东县| 布尔津县| 璧山县| 大埔区| 玉田县| 肇源县| 德清县| 霍山县| 始兴县| 南通市| 额济纳旗| 井冈山市| 新蔡县| 穆棱市| 永平县| 团风县| 河北区| 永川市| 文水县| 遂溪县| 昌黎县| 吉安县| 景谷| 怀远县| 独山县| 旅游| 新建县| 麻栗坡县| 宁都县| 那坡县| 巴塘县| 永仁县| 双峰县| 谷城县| 隆回县| 南平市| 桃江县|