導(dǎo)航系統(tǒng)SoC芯片設(shè)計方案分析
2.1 測試平臺
(1)硬件測試平臺
硬件測試平臺如表1所列。
TSIM仿真器通過主機的浮點機制來進行浮點運算仿真,因此仿真器的浮點精度與主機平臺相關(guān)。仿真器的時間精度與MeikoFPU相同,集成FPU的LEON3相當于集成MeikoFPU的LEON3。
(2)軟件測試平臺
①LEON2和LEON3在Linux 2.6.11下運行。
②直接使用gcc編譯生成程序加載到LEON上并運行,無操作系統(tǒng)。
③Samsung S3C2410在Linux 2.4.18下運行。
(3)不同硬件測試平臺上測試程序說明
不同的硬件平臺和軟件平臺的搭配需在編譯程序過程中指定特定選項(通過Makefile管理):
①-mmft-float選項。LEON平臺上若未集成FPU,則進行浮點運算必須指定該選項,此時所有浮點運算轉(zhuǎn)化為軟件模擬實現(xiàn),代價是運行時間大大增加,優(yōu)勢是能夠節(jié)省硬件資源(加入FPU后LEON的LE的使用率是無FPU情況下的近2倍)。
②-mv8選項。LEON平臺上配置硬件整數(shù)乘除法構(gòu)件時需要指定該選項。
③sparc-Iinux-gcc和sparc-elf-gcc編譯器。對于LEON平臺,若在Linux系統(tǒng)上運行測試程序,則需用sparc- linux-gcc進行編譯,程序使用動態(tài)鏈接庫完成鏈接;若直接在LEON硬件上加載運行,則需用sparc-elf-gcc進行編譯,程序使用靜態(tài)鏈接庫完成鏈接。
④arm-linux-gcc編譯器。ARM9的S3C2410編譯器為arm-linux-gcc。
⑤-O3優(yōu)化選項。LEON和ARM的微處理器通過指定該選項進行程序算法優(yōu)化。
2.2 測試項目及說明
測試項目1:整型數(shù)組與浮點數(shù)組的加法、乘法及乘加運算。每種類型的運算都循環(huán)50 D00次,以驗證LEON各種平臺和ARM9的MCU在數(shù)學(xué)運算上的性能,并分析加入Linux系統(tǒng)后程序運行性能的變化。
測試項目2:單次濾波算法,程序每一次運行包含12 791次浮點乘法和13 595次浮點加法,以驗證在導(dǎo)航系統(tǒng)的濾波算法中LEON在多種配置下的性能。
測試程序采用clock()系統(tǒng)調(diào)用獲取算法開始運行和結(jié)束運行的時間,并以算法的運行時間作為衡量系統(tǒng)效能的唯一標準。
2.3 測試總結(jié)
LEON平臺靈活的軟硬件配置在多項測試中表現(xiàn)優(yōu)異,總結(jié)如下:
①與主流ARM9微處理器在數(shù)學(xué)運算上性能相當。
②嵌入式Linux操作系統(tǒng)平臺相對于無系統(tǒng)平臺有一定資源開銷,根據(jù)具體應(yīng)用合理選擇軟件平臺是否需要嵌人式Linux系統(tǒng)。
③指定-mv8和-O3選項后程序性能提升顯著,根據(jù)具體應(yīng)用合理選擇是否配置整數(shù)硬件乘除法器。
④LEON硬件配置FPU后浮點運算性能提高一個數(shù)量級,代價是綜合需要的邏輯資源增長一倍,在權(quán)衡性能和可編程器件資源后合理選擇配置方案。
結(jié)合導(dǎo)航系統(tǒng)SoC芯片高速數(shù)據(jù)處理的需求,設(shè)計方案定型為LEON+FPU,在測試中能夠滿足系統(tǒng)的運算吞吐量指標要求。
評論