YASKAWA JANCD-GSC02
YASKAWA JANCD-GSC02 在LEON軟核系統(tǒng)上移植成功Linux后,通過特定測試程序驗證LEON在數(shù)學(xué)運算上的性能,以確定是否滿足項目開發(fā)的需求。測試中對比ARM9 SC32410,分析LEON以及其集成FPU配置的性能,并根據(jù)測試結(jié)果對軟硬件配置進一步優(yōu)化。由于LEON硬件配置十分靈活,因此在測試中采用了多種平臺,編譯程序的選項也有對應(yīng)的設(shè)置。中斷響應(yīng)、功耗等雖然也是處理器性能的重要方面,但本文尚未涉及。
2.1 測試平臺
(1)硬件測試平臺
硬件測試平臺如表1所列。
TSIM仿真器通過主機的浮點機制來進行浮點運算仿真,因此仿真器的浮點精度與主機平臺相關(guān)。仿真器的時間精度與MeikoFPU相同,集成FPU的LEON3相當(dāng)于集成MeikoFPU的LEON3。
(2)軟件測試平臺
①LEON2和LEON3在Linux 2.6.11下運行。
②直接使用gcc編譯生成程序加載到LEON上并運行,無操作系統(tǒng)。
③SamsungS3C2410在Linux 2.4.18下運行。
(3)不同硬件測試平臺上測試程序說明
不同的硬件平臺和軟件平臺的搭配需在編譯程序過程中特定選項(通過Makefile管理):
①一msoft-float選項。LEON平臺上若未集成FPU,則進行浮點運算必須該選項,此時所有浮點運算轉(zhuǎn)化為軟件模擬實現(xiàn),代價是運行時間大大增加,優(yōu)勢是能夠節(jié)省硬件資源(加入FPU后LEON的LE的使用率是無FPU情況下的近2倍)。
②-mv8選項。LEON平臺上配置硬件整數(shù)乘除法構(gòu)件時需要該選項。
③sparc-linux-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 000次,以驗證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)效能的唯一標(biāo)準(zhǔn)。
2.3測試總結(jié)
LEON平臺靈活的軟硬件配置在多項測試中表現(xiàn)優(yōu)異,總結(jié)如下:
①與主流ARM9微處理器在數(shù)學(xué)運算上性能相當(dāng)。
②嵌入式Linux操作系統(tǒng)平臺相對于無系統(tǒng)平臺有一定資源開銷,根據(jù)具體應(yīng)用合理選擇軟件平臺是否需要嵌入式Linux系統(tǒng)。
③-mv8和-03選項后程序性能提升顯著,根據(jù)具體應(yīng)用合理選擇是否配置整數(shù)硬件乘除法器。
④LEON硬件配置FPU后浮點運算性能提高一個數(shù)量級,代價是綜合需要的邏輯資源增長一倍,在權(quán)衡性能和可編程器件資源后合理選擇配置方案。
結(jié)合導(dǎo)航系統(tǒng)SoC芯片高速數(shù)據(jù)處理的需求,設(shè)計方案定型為LEON+FPU,在測試中能夠滿足系統(tǒng)的運算吞吐量指標(biāo)要求。
可配置FPU對LEON數(shù)學(xué)運算性能的提升極為有效,特別是在運算密集型的SoC設(shè)計中。LEON3的GRFPU相對于其他常見微處理器的FPU有較大優(yōu)勢。表2為若干處理器核FPU單元完成浮點運算指令需要的處理(延遲)時鐘周期數(shù)對比情況口。
時鐘周期數(shù)說明:括號外數(shù)字是指令處理周期數(shù),即硬件流水線中完成該指令的周期;括號內(nèi)數(shù)字是指令延遲周期數(shù),即該指令進入流水線至從流水線中輸出結(jié)果所需要的時鐘周期數(shù)。
YASKAWA JANCD-GSC02