根據(jù)特性,音頻處理模塊廣義上分為三類。我們將詳細討論每種模塊及其特性,然后進一步分析高效實現(xiàn)這些模塊對處理器的要求。表1概述了本節(jié)所述音頻處理的處理器要求?! ?br />

表1:音頻處理模塊及其處理器要求。
MAC密集模塊
這些模塊屬于計算密集型,主要執(zhí)行乘加(MAC)運算,通常有一個預定的代碼流。濾波(FIR、IIR濾波器)、窗口化、相關性及卷積等信號處理運算屬于此類別的典型例子。此類模塊的處理器要求稍后論述。
高精度MAC:這些模塊正常工作需要高精度乘加法。例如,IIR濾波器的穩(wěn)定性要求高精度運算。輸出的保真度和精度直接取決于MAC指令的精度。盡管可使用低精度指令來某些仿真高精度MAC指令(例如32位乘以32位,在64位結果內累加),但最好是使用高精度MAC指令來獲得高效實現(xiàn)。
SIMD能力:這些模塊內的運算往往是少量指令的反復執(zhí)行,從而產生精簡循環(huán)內核。單指令多數(shù)據(jù)(SIMD)能力對于此類模塊的高效執(zhí)行最為理想。內置此功能的處理器更有利于處理此類模塊。
飽和算法:某些運算需要使用飽和算法。例如,當在運行時產生窗口系數(shù)或在產生PCM輸出數(shù)據(jù)到所需位寬時。針對飽和算術的需求可以減少,但無法完全避免,因為中間結果的位寬更高。因此,支持飽和算法的指令是高效實現(xiàn)的理想之選。
分支推測:這些模塊有一個預定的代碼流。由于這些模塊需要對指令反復執(zhí)行運算,簡單的分支推測有利于減少因流水線清空所產生的開銷。
MAC和控制代碼混合模塊
這些模塊同樣是計算密集型,但在MAC密集運算中還涉及控制代碼運算??焖俑道锶~變換(FFT)、濾波器組等變換運算是這一類型的典型例子。此類模塊的處理器要求為:
DSP指令:由于上述兩類模塊(MAC密集模塊和MAC和控制代碼混合模塊)主要涉及MAC運算,因此,如果只有MAC和MLS(乘法和減法)指令而無運算累加的開銷,一定能提高效率。
混合位寬運算:運算對象的最小位寬取決于各種因素。例如,在濾波運算中,輸出精度和濾波器穩(wěn)定性決定濾波器系數(shù)的位寬。所以高效實現(xiàn)離不開能夠處理混合位寬運算對象的指令。
壓縮數(shù)據(jù)處理:FFT等這類模塊的運算一般使用稱為旋轉因子的16位系數(shù)。FFT基數(shù)越高,所涉及的旋轉因子越多,但相對復雜度越低。這些旋轉因子可通過打包成32位數(shù)據(jù)來降低內核循環(huán)中的任何寄存器不足?;蛘呖赏ㄟ^將旋轉因子載入到內核循環(huán)以外的寄存器來避免重復負載的可能開銷。因此,能夠運算壓縮數(shù)據(jù)的指令是提高效率的理想之選。
位反轉:能夠執(zhí)行位反轉的指令有利于需要位反轉尋址的FFT等關鍵模塊。
控制代碼模塊
這些模塊主要涉及控制代碼且代碼流為數(shù)據(jù)依賴型。位流解復用器和熵解碼運算就屬于此類。例如,MP3解碼器采用霍夫曼解碼,而WMA解碼器采用游程解碼。接下來討論此類模塊的處理器要求。
無符和按位運算:這些模塊需要處理打包的數(shù)據(jù)流,而這需要數(shù)據(jù)提取。因此,能夠執(zhí)行按位運算、提取、打包、解包的指令和能夠處理無符運算對象的指令都是高效實現(xiàn)所需要的。
精簡數(shù)據(jù),減少占位:這些模塊中的代碼流主要為數(shù)據(jù)依賴型,因此不是預定的。所以,精簡數(shù)據(jù)大小有助于減少緩存清空所引起的任何開銷。
ARM Cortex-M3和Cortex-M4處理器
本節(jié)將探討ARM低功耗高性能微控制器Cortex-M3內核的功能,然后討論Cortex-M系列的最新處理器內核M4的功能。Cortex-M系列內核的功能及示例指令和循環(huán)如表2所列。
Cortex-M3功能:采用高精度MAC單元,可提供最高32位乘以32位數(shù)據(jù)的乘法精度,得出64位累加結果。其他有利功能包括DSP指令、范數(shù)計算輔助指令、分支推測、因Thumb-2的高代碼密度以及硬件除法指令。這些功能都有利于音頻處理。
Cortex-M4功能:Cortex-M4內核是Cortex-M3的升級產品,除了繼承全部現(xiàn)有功能外,還增加了單循環(huán)MAC單元和浮點單元(FPU)等額外功能。MAC單元只需要1個循環(huán),即使對于最高精度運算也是如此,將32位乘以32位,得出64位累加結果。增加了具有SIMD功能的DSP指令和高精度MAC單元等新功能,Cortex-M4就是一種具有DSP功能的微控制器,即數(shù)字信號控制器(DSC)。這些功能對于音頻處理非常有利,因為需要高精度來保持透澈的音質。

表2:Cortex-M3和Cortex-M4功能、指令及循環(huán)示例。
電子發(fā)燒友App



















評論