ARM Cortex-M的音頻性能解析
本節(jié)將探討ARM低功耗高性能微控制器Cortex-M3內(nèi)核的功能,然后討論Cortex-M系列的最新處理器內(nèi)核M4的功能。Cortex-M系列內(nèi)核的功能及示例指令和循環(huán)如表2所列。
Cortex-M3功能:采用高精度MAC單元,可提供最高32位乘以32位數(shù)據(jù)的乘法精度,得出64位累加結(jié)果。其他有利功能包括DSP指令、范數(shù)計(jì)算輔助指令、分支推測(cè)、因Thumb-2的高代碼密度以及硬件除法指令。這些功能都有利于音頻處理。
Cortex-M4功能:Cortex-M4內(nèi)核是Cortex-M3的升級(jí)產(chǎn)品,除了繼承全部現(xiàn)有功能外,還增加了單循環(huán)MAC單元和浮點(diǎn)單元(FPU)等額外功能。MAC單元只需要1個(gè)循環(huán),即使對(duì)于最高精度運(yùn)算也是如此,將32位乘以32位,得出64位累加結(jié)果。增加了具有SIMD功能的DSP指令和高精度MAC單元等新功能,Cortex-M4就是一種具有DSP功能的微控制器,即數(shù)字信號(hào)控制器(DSC)。這些功能對(duì)于音頻處理非常有利,因?yàn)樾枰呔葋?lái)保持透澈的音質(zhì)。
表2:Cortex-M3和Cortex-M4功能、指令及循環(huán)示例。
音頻處理傳統(tǒng)上在數(shù)字信號(hào)處理器(DSP)上實(shí)施,而由通用處理器(GPP)負(fù)責(zé)系統(tǒng)相關(guān)的功能。隨著Cortex-M系列的問(wèn)世,由于這些處理器完全適合音頻處理應(yīng)用,音頻可在這些內(nèi)核上獲得高效實(shí)施而無(wú)需DSP。
音頻模塊代碼示例
現(xiàn)在,我們將展示一些不同音頻處理部件(音頻解碼器、編碼器、后處理及通用信號(hào)處理等)的例程的代碼示例。代碼段內(nèi)用粗體字表示的指令是最新引入Cortex-M4的。每條指令的循環(huán)次數(shù)在括號(hào)中給出。表格概述了每個(gè)示例所用的總循環(huán)、所需的指令數(shù)及所用的寄存器。
窗口重疊加法模塊
重疊加法窗口化是大多數(shù)音頻解碼器采用的典型模塊。它以MAC運(yùn)算為主,屬于計(jì)算密集型。圖4所示為此模塊的運(yùn)算處理流程。此例的實(shí)施方案在等式1中給出。
圖4:窗口重疊加法模塊圖。
等式1:窗口重疊加法模塊。
評(píng)論