葛吳超,周亦敏
(上海理工大學 光電信息與計算機工程學院,上海 200093)
?
基于ARM9體系架構的編譯優化研究
葛吳超,周亦敏
(上海理工大學 光電信息與計算機工程學院,上海 200093)
在嵌入式系統軟件開發過程中, GCC編譯循環程序時的窺孔優化比較欠缺,編譯代碼在性能上較ARM商業編譯器低。文中提出針對于ARM9處理器的循環計數值組合、循環處理數據合并和循環最優展開等3種窺孔優化方法優化匯編代碼。選取矩陣乘法,圖像合并和內存設置等經典程序運行在ARM9平臺上,分別驗證3種窺孔優化方法。實驗數據表明,與GCC編譯代碼相比,經文中提出的方法優化后的代碼在寄存器使用數量上,平均節省了50%,性能提升近2倍。
窺孔優化;循環計數值組合;循環處理數據合并;循環最優展開
嵌入式系統中,包含一些決定系統性能的關鍵程序。通過程序優化可大幅提升系統的性能,降低系統的整體功耗。優化可將一個不可行的系統變得可行,亦可將一個無競爭力的系統變得極具競爭力。對于程序的優化,使用傳統的編譯器優化可得到性能較好的目標代碼。但要獲得最佳性能,就要通過手寫匯編來優化對軟件性能起到決定作用的關鍵程序。手工編寫匯編代碼,可直接控制高級語言編程時不能有效使用的3個優化手段:條件執行、指令調整和寄存器分配[1]。本文基于ARM9指令架構的特點,應用上述優化手段,對決定系統性能的關鍵程序的匯編代碼做二次優化。
ARM采用RISC(Reduced Instruction Set Computer)指令結構,使用簡單高效的指令,并通過簡單指令組合來完成不常用的復雜功能。……