0 引言
軍事技術信息化越來越深入的今天,傳統加固計算機只依靠CPU進行數據處理的方式已不能滿足對高速計算的高要求,對于研發高性能數據處理能力的計算機技術的需求已愈發強烈。遵守加固計算機通用化、系列化、模塊化的設計思路,在現有通用計算機平臺上,兼容現有標準體系,提升計算機處理能力,是現在重點研究的方向。
國際上對高速計算技術已發展的比較成熟,不斷發布高速處理器及GPU協助計算方法等,計算加速效果非常良好。但國外提供的軟硬件存在安全隱患,可能在處理器及軟件系統中被設置后門和漏洞[1],使我方設備及數據安全性受到嚴重威脅。
深刻挖掘我國自有技術潛力[2-3],開發自主可控的具有高速計算能力的技術至關重要[4]。本文提出一種基于國產龍芯處理器的計算加速技術,采用3A1500+2FPGA的模式,搭配我國自主開發的麒麟操作系統,能夠在軟件硬件方面達到自主可控,滿足對高速計算技術的需求。
1 設計思路
為了提高計算處理模塊的通用性,兼具FPGA計算定制能力和CPU操作系統兼容性,CPU+FPGA的模式[5-6]可以充分發揮龍芯平臺的特長,又可彌補高性能計算方面不足,是一種適合現有軍用需求的設計思路。本設計名為基于龍芯3A1500的計算加速模塊,簡稱計算加速模塊。
2 硬件設計
基于龍芯3A1500的計算加速模塊功能框圖如圖1所示,以龍芯3A1500處理器為核心[7],搭配AMD 780E+SB710芯片組,構成模塊硬件主框架。計算加速模塊采用高速DDR3內存芯片,結合兩片高性能FPGA芯片,以提供高性能的計算能力。本模塊制版采用標準6U VPX總線架構,具有較強的抗惡劣環境能力,適用于對計算能力要求較高的艦載、車載設備。
龍芯3A1500處理器為龍芯系列4核處理器,最高工作頻率1 GHz,片內集成2個64位400 MHz的DDR3控制器、2個16位800 MHz的HT控制器。龍芯3A1500的雙HT總線接口為連接FPGA,以提高計算能力的方式提供了高速接口。計算加速模塊采用AMD 780E芯片作為主模塊的北橋,通過北橋的HT總線接口與龍芯3A1500處理器連接;通過DDR3顯存芯片實現顯示存儲空間的擴展;通過北橋PCIE X1接口與Inteli210千兆網絡芯片連接;利用北橋A-LINK高速總線,實現與南橋的互聯。此外,北橋芯片還提供1路PCIE X16接口(可拆分為2路PCIE X8)和1路PCIE X2接口,用于系統內的功能模塊擴展,并連接于VPX連接器;北橋提供顯示功能,支持VGA及DVI顯示接口。南橋內部集成豐富的功能外設接口,包括高速A-LINK、USB、SATA以及LPC接口等,USB、SATA接口可直接從南橋輸出,PS/2接口可通過南橋的LPC總線掛接SuperIO實現。
為實現較強的計算能力,計算加速模塊搭載兩塊FPGA芯片,FPGA芯片采用Xilinx公司的高性能VIRTEX-6。FPGA0通過HT總線與龍芯3A1500實現通信,并通過PCIE X8總線與北橋780E連接,外出兩路RapidIO X4高速串行總線,滿足高速數據交換的需求。FPGA1通過PCIE X8總線與北橋780E連接,外出一路RapidIO X4高速串行總線。
2.1 電源電路設計
電源作為電路運行的動力和載體,電源設計是電路設計的基礎。合格的電源設計,需要在充分了解各器件及電路需求的前提下,配備好各電源電壓、功耗分配、紋波干擾等。通過本設計供電電路及轉換電源,提供各器件工作所需電壓,具體的電源分配如圖2所示。
本模塊涉及電源種類較多,設計思路為通過統一電源供電,在模塊設計各種電源轉換電路,提供各器件工作所需各電壓。在本設計中,依據VPX架構的特點,電源輸入統一由12 V供電,理論上可提供300 W以上的功率,而本模塊功耗在60 W以內,可滿足功耗需求。
CPU核心電壓CPU_1.1V由12 V直流電源經DC-DC模塊轉化而來,最高可提供30 A 1.1 V電源。12 V經DC-DC模塊轉化為1.5 V、2.5 V、1.0 V,分別給予內存、FPGA供電。5 V電壓由12 V轉化提供,后經過LDO芯片轉化為其他板級電壓。
2.2 時鐘電路設計
本設計中時鐘設計涉及器件主要有龍芯3A1500、南北橋及FPGA芯片。龍芯3A1500處理器通過外部的晶振等時鐘源提供其所需的工作時鐘;外接的14.318 MHz晶體通過外部時鐘發生器,為南橋、北橋以及PCIE設備提供其所需的工作時鐘,模塊的時鐘分配見圖3。
2.3 復位電路設計原理
本設計采用MAX706決定整個模塊的復位。首先上電復位后由VPX連接器提供電源和原始的復位信號,主模塊中MAX706負責完成對CPU、南橋和外圍電路的復位工作,芯片內部集成嚴格的時序邏輯控制電路,可以保證系統按照嚴格的時序進行復位,完成穩定啟動。系統可以通過CPU的GPIO信號控制系統整體復位。系統復位電路原理框圖如圖4所示。
2.4 DDR3電路設計原理
為提高模塊抗惡劣環境能力,計算加速模塊內存采用全板載DDR3顆粒實現雙通道設計方式。龍芯3A1500處理器內部集成兩路存儲控制器MC0和MC1,存儲控制器MC能提供標準的DDR3存儲設備接口,可以實現與外部DDR3芯片的數據傳輸。
龍芯3A1500最多支持4個片選cs、16 bit行列地址總線和3 bit邏輯bank總線。本設計中選用10片DDR3內存顆粒,單片顆粒容量4 Gb,16 bit數據位寬。其中8片組成4 GB運行內存,2片組成ECC糾錯內存。所設計內存電路內存頻率為400 MHz。
3 軟件設計
為實現本文提出的基于龍芯3A1500的計算加速方法,需要為計算加速模塊進行軟件設計。計算加速模塊軟件設計主要包括操作系統相關設計及計算加速軟件設計。對于操作系統,基于軟硬件國產化的需求,選擇近年來發展較好的中標麒麟操作系統,在中標麒麟操作系統基礎上進行對應龍芯3A1500平臺的操作系統移植及驅動設計;計算加速軟件的設計,可充分發揮計算加速模塊雙FPGA優異的計算性能,協調系統合理分配資源,將FPGA融入到計算過程中。
3.1 操作系統移植及驅動設計
中標麒麟操作系統是基于Linux內核開發的一套系統,故其驅動和軟件開發基本遵循Linux開發流程。內核移植在技術上以開源Linux操作系統為主,采用交叉編譯的方式進行移植開發,修改處理器初始化及硬件驅動等相關代碼,針對處理器架構進行中標麒麟系統移植。結合龍芯3A1500處理器硬件平臺的特點,設計和開發龍芯3A1500處理器的支持模塊。主要完成處理器初始化代碼、相關驅動的修改,使其支持網絡功能,支持JFFS2、YAFFS文件系統[8];修改設計MTD分區,使內核可以掛載存儲設備上的文件系統。
3.2 計算加速軟件設計
計算加速模塊包含CPU和FPGA,CPU執行軟件指令,FPGA可根據需要被配置成不同結構的硬件加速器。硬件加速器的配置及運行由處理器(軟件)控制,對軟件編寫提出了較高要求,需對整個配置過程及加速器的接口細節進行全面了解方可完成程序構建。軟硬件協同計算屏蔽了硬件細節,提供一個硬件透明的編程模型,可重構硬件以函數的形式進行抽象,即硬件實現程序化,簡單調用硬件函數可實現可重構硬件的搭建。硬件函數的形式與使用方式與其他軟件函數庫中的函數一樣,整個底層硬件的具體細節對其是透明的[9]。
硬件函數的運行需要提供相應的軟硬件支撐環境,按圖5所示的層次結構設計支持硬件透明編程的可重構系統。整個系統分為五層,應用層以下是片上系統的軟硬件基本結構,是通用的。針對不同的應用,只需要編寫相應的應用程序即可。
各層的功能:軟硬件任務設計庫提供了混合任務編程接口,結合軟件函數庫和硬件函數庫,可以按照傳統的軟件編程方式,設計出軟硬件高度混合的系統。軟/硬件任務調度器和可重構資源管理器對硬件函數的調用、運行狀態等進行管理,并跟蹤和管理可重構資源。硬件函數與軟件函數在運行方式與物理基礎上存在本質的差異,軟件函數是串行執行的指令集合,硬件函數是二維的邏輯電路,可以與CPU同步執行,加入相應的硬件函數管理模塊可建立統一的軟硬件運行過程。可重構資源管理器應隨時跟蹤管理可重構資源的使用情況,為調用的硬件函數分配合適的資源。
4 性能對比測試
本模塊的創新點是在龍芯3A1500平臺上,設計了通過雙FPGA對龍芯3A1500模塊進行計算加速,在延續現有軟硬件環境的同時,提高國產化計算機的計算性能。因此,在對計算加速模塊進行性能測試時,重點考慮FPGA對模塊加速效果的測試。
本文對計算加速模塊的方法為:在兩個FPGA上不停地執行FFT[10]、DES加密、RK微分方程組、解算π、快速排序等多種算法,測試計算消耗時間,對消耗時間進行比對,得到計算加速比數據。
加速比τ=加速前消耗時間/加速后消耗時間
在其他計算機平臺上,選用合適的軟硬件對以上算法以一定方式實現,測試各計算時間。將計算出的數據與其他計算機平臺進行比較,驗證FPGA對計算加速模塊的加速效果。
本測試所選用測試計算機平臺為國際通用的X86平臺在我國加固領域應用較廣的Intel Core Duo L2400雙核。各測試計算機平臺信息如表1所示。
各平臺測試計算運行時間對比如圖6所示。
龍芯3A1500處理器標稱主頻為1 GHz,但在本文所搭建系統實測時,其穩定工作主頻為800 MHz,因此本測試中龍芯3A1500工作頻率為800 MHz。
由圖6可以看出,即使LS2400為雙核處理器,在內存2 GB的情況下,計算性能仍然較為優秀,說明X86平臺計算性能優異。在800 MHz的工作頻率下,龍芯3A1500在計算性能比之LS2400差異明顯,3A1500+2FPGA模式可以大大提高龍芯3A1500計算機的計算性能,加速比除DES加密計算略低于5之外(需要對算法繼續優化),其他算法均超過5,綜合計算性能優越。因此本設計中,龍芯3A1500+2FPGA的模式大大彌補了龍芯3A1500在計算處理能力方面的不足。圖7為統計3A1500+2FPGA模式下針對各算法的計算加速比。
5 結束語
本文介紹了基于龍芯3A1500的計算加速模塊的設計方法,包括設計思路、硬件設計方案、軟件設計方案,最后給出性能對比測試。結果表明,3A1500+2FPGA模式大大提升了龍芯3A1500平臺的整體的計算性能,平均計算加速比達到5以上,增強了基于國產化處理器計算機模塊的計算性能,對于我國加固計算機在高性能方向的發展有著積極的意義。
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604341 -
模塊
+關注
關注
7文章
2722瀏覽量
47572 -
amd
+關注
關注
25文章
5479瀏覽量
134304 -
龍芯
+關注
關注
3文章
345瀏覽量
31279
發布評論請先 登錄
相關推薦
評論