《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > 基于赛灵思FPGA的硬件加速技术打造高速系统
基于赛灵思FPGA的硬件加速技术打造高速系统
摘要: 设计人员时常需要通过增加计算能力或额外输入(或两者)延长现有的嵌入式系统的寿命。而可编程系统平台在这里大有用武之地。我们曾经希望用安全网络连接功能升级一套网络可编程系统。安全网络连接功能需要加密才能运行安全外壳 (SSH)、传输层安全 (TLS)、安全套接层(SSL) 或虚拟专用网 (VPN) 等协议。这种安全需求与把各种系统接入因特网的需求同步增长,例如,为了启用远程管理与分布式控制系统。
Abstract:
Key words :

  設計人員時常需要通過增加計算能力或額外輸入(或兩者)延長現有的嵌入式系統的壽命。而可編程系統平臺在這里大有用武之地。我們曾經希望用安全網絡連接功能升級一套網絡可編程系統。安全網絡連接功能需要加密才能運行安全外殼 (SSH)、傳輸層安全 (TLS)、安全套接層(SSL) 或虛擬專用網 (VPN) 等協議。這種安全需求與把各種系統接入因特網的需求同步增長,例如,為了啟用遠程管理與分布式控制系統。

  因該領域仍在發展并且標準尚未固定,因此成本主要取決于一次性工程費用。所以,FPGA 技術能實現最高價值。我們的系統基于 Mi s s i n g L i n k Electronics (MLE) 公司的“軟”硬件平臺,其 FPGA 靈活的 I/O 能夠連接各種傳感器和執行器。該平臺采用可編程邏輯實現片上系統,以 MicroBlaze" title="MicroBlaze">MicroBlaze ™ CPU或 PowerPC" title="PowerPC">PowerPC® CPU 作為其核心。 CPU 為操作系統與用戶空間應用軟件運行 MLE Linux 軟件棧。由于采用 MicroBlaze 或PowerPC 作為主 CPU,當運行嵌入式Linux 操作系統外加強大加密功能時該系統顯然無法提供所需要的計算性能。況且也無法改變物理硬件。為了實現系統加速,我們使用可編程系統把計算從軟件域轉移到硬件側。

  協處理硬件可編程系統基本上是一個或幾個CPU( 運行操作系統與應用軟件)的組合,外加一個 FPGAFPGA 在其中用作靈活的接口“適配器”及協處理硬件。我們可以在單獨輔助芯片上實現可編程系統,或者將全部都集成到單個的器件上。我們可以根據 FPGA 器件和 CPU 之間的通信方式,采用不同方法調節系統性能和功能。

  其中一種方法就是添加對等處理器,通過內存映射狀態和控制寄存器與 CPU實現同步。因為通過同一系統總線運行所有通信會很快降低性能,因此我們實際上希望把 CPU 數據流與對等處理器分開。而采用賽靈思 Central DMA 或多端口儲存器控制器 (MPMC) 等片上系統組件能夠輕松滿足上述愿望。

  另外,也可以增加一個協處理器,這種情況下能通過增加自定義指令(也叫編譯功能)有效地擴展 CPU 的指令集。例如,它適合浮點單元,而且賽靈思結構協處理器模塊 (FCM) 技術能輕松支持上述功能。此處的優勢是在 CPU 和協處理器之間使用一條從內存到系統總線的專用通信通道。對于 PowerPC,其為輔助處理單元 (APU),而對于 MicroBlaze,則是快速單工鏈路 (FSL)。

  圖 1 — 在采用 Valgrind 工具的 SCP 傳輸中,AES 加密占用三分之二的計算任務。

  AES:黃金標準

  但是沒有重大的系統重新設計,又該如何真正加速加密?

  對于加密,高級加密標準 (AES) 是一個事實標準。

  采用 AES 加密時,無法通過定義減少計算任務,從而使嵌入式系統很快達到性能極限。如圖 1 所示,其中顯示用Valgrind 分析工具、通過 SCP(SSH 會話)進行的文件傳輸的分析結果。此時AES 加密占用三分之二計算任務。

  AES-128采用秘鑰和 128 位塊大小,使用許多并發 8 字節運算。AES 屬于分組密碼,基于按 4x4 字節陣列組織的固定分組大小運算。我們曾經采用 128位分組大小,它能抵擋所有已知攻擊,安全性甚至強于 192 位和 256 位版本。

  采用 128 位 AES 時,執行加密與解密需要 12 個回合,每個回合需要幾步運算。第一項任務是通過所謂的密匙擴展過程從密鑰中算出回合金鑰。每個回合都采用純文本自身的回合密匙執行純文本的逐位異或運算。然后進行字節代替、行位移和列混合運算,并再次執行回合金鑰的異或運算。

  最后一個回合稍有不同,因為其中省略了一些步驟。加密過程采用所謂的S 盒(其提供非線性)執行替代。我們可以把它安置到一個 16×16×8 位矩陣中,從而能夠適應常見的賽靈思 BRAM原語。多個 S 盒實例可以加速 IP 核并在適當的位置為內核提供所需數據,而無需等待對主存儲器的長時間總線存取。解密過程大同小異,其采用相同密鑰,但方向相反,并且使用不同 S 盒。

  快 12 倍

  在加密和解密中,大部分運算按行或列執行,剩下四項運算并行計算 —而硬件對此任務得心應手。這樣就能夠通過不同來源實現 AES 硬件的各個部分。為了加速系統,我們從龐大、快速增長的 OpenCores.org 資源庫獲取AES 內核。

  我們刪除了原有的總線接口(因為它適用于另一種 FPGA 架構),另外為APU 添加了一個接口,以便把 AES 內核作為 FCM 協處理器連接到 PowerPC上。我們共使用 8 個所謂的 UDI 指令在PowerPC 和 AES FCM 之間傳輸數據。工作結果非常令人滿意( 見圖2) 。硬件加速" title="硬件加速">硬件加速的系統比原實現快了12 倍。原來用以 300 MHz運行的獨立的 PowerPC 加密一個單塊需要 17.8微秒,而采用以 150 MHz 運行的 AESFCM 只需 1.5 微秒。如果只以升級到速度稍快的 CPU來加速運算,我們采用硬件加速后的 1.5 微秒速度表現超過基于 Intel Atom 1.6-GHz CPU 的純軟件實現(其需要 2.7 微秒)。上述結果證明了使用 FPGA 技術的硬件加速的卓越潛能。

  圖 2 — 硬件加速系統(中間綠條)快于獨立的 PowerPC 或 Atom 處理器。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠色综合欧美激情| 久久精品第九区免费观看| 日韩精品大片| 91精品久久久久久久久久久久久| 欧美日韩一区二区三区在线观看免 | 少妇免费毛片久久久久久久久| 国产亚洲二区| 青青青国产在线视频| 国产激情视频一区| 久久99精品国产99久久| 午夜精品久久久内射近拍高清 | 日韩中文字幕亚洲| 免费看成人午夜电影| 精品毛片久久久久久| 国产999在线观看| 久精品国产欧美| 久久亚洲国产成人| 国产福利不卡| 久久久中文字幕| 欧美亚洲激情在线| 国产欧美日本在线| 水蜜桃亚洲精品| 日韩欧美精品在线观看视频| 久久久久国产精品免费网站| 久久亚洲欧美日韩精品专区| 国产精品亚洲美女av网站| 久久久亚洲福利精品午夜| 91国内在线视频| 精品久久久久久综合日本| 久久综合色88| 天天操天天干天天玩| 午夜精品三级视频福利| 日韩亚洲精品电影| 日韩.欧美.亚洲| 欧美最猛黑人xxxx黑人猛叫黄| 日本不卡一区二区三区视频| 国产精品777| 中文字幕日韩精品无码内射| 午夜视频久久久| 欧美激情综合色| 国产日韩av在线|