利用C和匯編語言混合編程實現DSP軟件設計
AMR-NB(自適應多速率-窄帶)是廣泛用于無線通信應用的語音編解碼器。通常都是采用純匯編來實現聲音合成器,但C語言實現與CEVA-X1620編譯器利用本文討論的各種功能可以獲得與匯編實現媲美的結果。圖7顯示了整個AMR-NB應用經過全面優(yōu)化而取得的以MCPS(每秒百萬周期)計的性能提高幅度。只有最后的優(yōu)化階段涉及到了純匯編編程,所有其它階段都基于帶有ETSI內部函數和匯編內部函數等的C代碼。
圖7:通過各種優(yōu)化方法取得的ARM-NB性能改進。
總之,H.264編碼器和AMR-NB例子清楚地表明了匯編實現方案的性能優(yōu)勢,但也表明純匯編實現并非首選的優(yōu)化方法。利用高質量軟件開發(fā)工具提供的C與匯編功能,DSP編程人員無需純匯編語言也能使整個應用程序達到令人滿意的性能。
評論