[發明專利]一種基于OpenCL和FPGA的3DES加速方法在審
| 申請號: | 202011302847.7 | 申請日: | 2020-11-19 |
| 公開(公告)號: | CN112328401A | 公開(公告)日: | 2021-02-05 |
| 發明(設計)人: | 柴志雷;吳健鳳 | 申請(專利權)人: | 江南大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F21/60 |
| 代理公司: | 蘇州市中南偉業知識產權代理事務所(普通合伙) 32257 | 代理人: | 楊慧林 |
| 地址: | 215000 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 opencl fpga des 加速 方法 | ||
1.一種基于OpenCL和FPGA的3DES加速方法,其特征在于:包括主機端與設備端,
所述主機端基于OpenCL實現對內核的調度與管理,完成與設備端進行3DES加密和解密數據的交互;所述設備端設計在FPGA上,使用3DES對數據進行加密和解密;
所述設備端包含明文數據輸入緩存模塊、3DES加密計算模塊和密文數據輸出緩存模塊,所述明文數據輸入緩存模塊通過使用數據存儲調整、數據位寬改進從全局內存讀取明文數據,所述3DES加密計算模塊通過對數據進行指令流優化形成流水線并行架構,所述密文數據輸出緩存模塊將數據從FPGA片上傳輸至外部DDR中。
2.根據權利要求1所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述主機端基于OpenCL實現對內核的調度與管理,具體為使用OpenCL平臺API及運行時API與OpenCL設備端進行交互,所述平臺API定義了主機端程序發現OpenCL設備所用的函數以及這些函數的功能,所述運行時API用于管理上下文來創建命令隊列以及運行時發生的其他操作。
3.根據權利要求1所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述明文數據輸入緩存模塊和密文數據輸出緩存模塊位于設備端的全局內存區域,3DES加密計算模塊的中間數據存儲于設備端的私有內存區域。
4.根據權利要求1所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述數據存儲調整,具體為由主機端傳輸的數據存儲于片外DDR中,常量內存位于片上緩存單元,局部內存的物理地址為片上RAM資源,私有內存的物理地址為片上寄存器資源;將參與3DES計算的變量存儲于私有內存中,工作項訪問位于私有內存中相應的明文數據塊并完成3DES的加密;針對子密鑰擴展模塊的S盒及f函數計算模塊的E盒變換,將其存儲于常量內存,對應的物理地址為片上ROM,在訪問速度快的同時免去訪存沖突。
5.根據權利要求1所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述數據位寬改進,具體為將單工作項的行為定義為從全局內存中搬運8字節的數據至私有內存,針對8字節數據進行3DES加密計算,再將計算的結果從私有內存搬運至全局內存中。
6.根據權利要求1所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述指令流優化,具體為使用循環展開、循環流水來提高程序的并行度,循環展開指導離線編譯器將OpenCL Kernel轉換為硬件鏡像的方式形成有效的流水,流水線架構能夠縮短整體的執行時間。
7.根據權利要求1所述基于OpenCL和FPGA的3DES加速方法,其特征在于:所述設備端還采用內核矢量化策略,用于形成更寬的矢量計算通道以提高內存訪問的效率。
8.根據權利要求7所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述內核矢量化策略,具體為允許多個工作項以SIMD的方式執行內核程序的實例,通過使用內核矢量化策略可提高內存訪問的效率。
9.根據權利要求1-8任一項所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述設備端采用計算單元復制策略,用于提高具有常規內存訪問模式的內核性能以提高計算吞吐率。
10.根據權利要求9所述的基于OpenCL和FPGA的3DES加速方法,其特征在于:所述計算單元復制策略,具體為FPGA編譯器為內核生成多個計算單元,每個計算單元同時執行多個工作組,用于提高內核的吞吐率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江南大學,未經江南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011302847.7/1.html,轉載請聲明來源鉆瓜專利網。





