《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 以基于賽靈思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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 粗大的内捧猛烈进出小视频| 激情网站免费看| 强开小婷嫩苞又嫩又紧视频 | 在线你懂的网站| 一个人hd高清在线观看免费| 教师mm的s肉全文阅读| 久久成人a毛片免费观看网站| 欧美亚洲国产丝袜在线| 亚洲欧美色图小说| 特大巨黑人吊性xxx视频| 再深点灬舒服灬太大了男小| 色135综合网| 国产主播一区二区| 青青青手机视频| 国产婷婷色综合av蜜臀av| 亚洲国产成a人v在线观看| 国产精品日韩欧美在线| 8x国产在线观看| 国产调教在线观看| 97一区二区三区四区久久| 大战孕妇12p| av无码精品一区二区三区四区| 妇乱子伦精品小说588| 丁香亚洲综合五月天婷婷| 成人网站在线进入爽爽爽| 久久se精品一区二区| 日本国产在线视频| 久久国产精品二国产精品| 日韩精品无码一区二区三区| 乱中年女人伦av一区二区| 最近日本中文字幕免费完整| 亚洲а∨天堂久久精品| 欧美三级在线播放| 亚洲人成亚洲人成在线观看| 欧美性巨大欧美| 亚洲国产一成人久久精品| 欧美成人看片黄a免费看| 亚洲日韩中文字幕无码一区| 欧美精品手机在线| 亚洲欧洲第一页| 欧美日韩人妻精品一区二区三区|