《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 以基于賽靈思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 ™ CPU或 PowerPC® CPU 作為其核心。 CPU 為操作系統與用戶空間應用軟件運行 MLE Linux 軟件棧。由于采用 MicroBlaze 或PowerPC 作為主 CPU,當運行嵌入式Linux 操作系統外加強大加密功能時該系統顯然無法提供所需要的計算性能。況且也無法改變物理硬件。為了實現系統加速,我們使用可編程系統把計算從軟件域轉移到硬件側。

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

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

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

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

圖 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) 。硬件加速的系統比原實現快了12 倍。原來用以 300 MHz運行的獨立的 PowerPC 加密一個單塊需要 17.8微秒,而采用以 150 MHz 運行的 AESFCM 只需 1.5 微秒。如果只以升級到速度稍快的 CPU來加速運算,我們采用硬件加速后的 1.5 微秒速度表現超過基于 Intel Atom 1.6-GHz CPU 的純軟件實現(其需要 2.7 微秒)。上述結果證明了使用 FPGA 技術的硬件加速的卓越潛能。

 

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

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 加勒比久久综合 | 一个人免费看的www 一及 片日本 | 精品手机在线 | 黄色网址国产 | 伊人黄网 | 国产在线高清不卡免费播放 | 亚洲偷自拍另类图片二区 | 三级黄网| 国产真实生活伦对白 | 韩国激情啪啪 | 国产精品免费视频一区二区三区 | 日本一级特黄特色大片免费视频 | 九九精品久久久久久噜噜 | 亚洲国产精品一区二区不卡 | 亚洲欧美久久精品 | 亚洲在线天堂 | 午夜香蕉成视频人网站高清版 | 国产日韩欧美一区二区三区综合 | 91精品乱码一区二区三区 | 午夜在线亚洲男人午在线 | 太平公主三级dvd | 久草福利资源在线观看 | 欧美一级久久 | 欧美另类自拍 | 欧洲做人爱c欧美 | 99成人免费视频 | 欧美亚洲另类视频 | 67194午夜 | 成年人网站免费看 | 99视频精品全部在线播放 | 台湾久久 | 一区二区三区免费视频网站 | 亚洲精品一二三 | 午夜国产高清精品一区免费 | 国产成人精品免费视频网页大全 | 国产免费黄色网址 | 亚洲视频偷拍自拍 | 怡红院免费播放全部视频 | 欧美一a级做爰 | 久久综合精品国产一区二区三区无 | 高清日本在线成人免费视频 |