《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 以基于賽靈思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網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美午夜免费毛片a级 | 成人午夜网 | 性欧美videos高清精品 | 国产在线一区二区三区欧美 | 成人网18免费软件大全 | 国产一级生活片 | 精品色视频 | 国产偷国产偷亚洲高清在线 | 亚洲精品一区二区三区在 | 成人久久18免费网站入口 | 思思99re | 日韩精品视频美在线精品视频 | 亚洲国产系列久久精品99人人 | 久久最新 | 毛片96视频免费观看 | 美国毛片亚洲社区在线观看 | 亚洲精品国产成人99久久 | 日本成a人伦片 | 国产国产人免费人成成免视频 | 最新欧美精品一区二区三区不卡 | 黄网站免费在线 | 欧美一级毛片激情 | 一区二区在线播放福利视频 | 国产一级大片 | 欧美videofree性欧美另类 | 国产精品外围在线观看 | 99秒拍福利大尺度视频 | 欧美高清一级片 | 久久99久久精品久久久久久 | 免费在线观看黄色毛片 | 夜色邦合成福利网站 | 国内精品一区二区 | 99久久国产免费中文无字幕 | 国产午夜毛片一区二区三区 | 一区二区三区精品国产欧美 | 性成人动作片在线看 | 国产jk福利视频在线观看 | 美女张开腿让男人桶的动态图 | 国产成人精品免费视频网页大全 | 国产伦精品一区二区三区网站 | 乱淫毛片 |