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