<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM Cortex-M的音頻性能解析

          ARM Cortex-M的音頻性能解析

          作者: 時間:2011-08-15 來源:網(wǎng)絡(luò) 收藏
          3和4處理器

          本文引用地址:http://www.ex-cimer.com/article/150353.htm

            本節(jié)將探討低功耗高微控制器3內(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ù)計算輔助指令、分支推測、因Thumb-2的高代碼密度以及硬件除法指令。這些功能都有利于處理。

            Cortex-M4功能:Cortex-M4內(nèi)核是Cortex-M3的升級產(chǎn)品,除了繼承全部現(xiàn)有功能外,還增加了單循環(huán)MAC單元和浮點單元(FPU)等額外功能。MAC單元只需要1個循環(huán),即使對于最高精度運算也是如此,將32位乘以32位,得出64位累加結(jié)果。增加了具有SIMD功能的DSP指令和高精度MAC單元等新功能,Cortex-M4就是一種具有DSP功能的微控制器,即數(shù)字信號控制器(DSC)。這些功能對于處理非常有利,因為需要高精度來保持透澈的音質(zhì)。

            

          表2:Cortex-M3和Cortex-M4功能、指令及循環(huán)示例。(電子系統(tǒng)設(shè)計)

            表2:Cortex-M3和Cortex-M4功能、指令及循環(huán)示例。

            處理傳統(tǒng)上在數(shù)字信號處理器(DSP)上實施,而由通用處理器(GPP)負責(zé)系統(tǒng)相關(guān)的功能。隨著Cortex-M系列的問世,由于這些處理器完全適合音頻處理應(yīng)用,音頻可在這些內(nèi)核上獲得高效實施而無需DSP。

            音頻模塊代碼示例

            現(xiàn)在,我們將展示一些不同音頻處理部件(音頻解碼器、編碼器、后處理及通用信號處理等)的例程的代碼示例。代碼段內(nèi)用粗體字表示的指令是最新引入Cortex-M4的。每條指令的循環(huán)次數(shù)在括號中給出。表格概述了每個示例所用的總循環(huán)、所需的指令數(shù)及所用的寄存器。

            窗口重疊加法模塊

            重疊加法窗口化是大多數(shù)音頻解碼器采用的典型模塊。它以MAC運算為主,屬于計算密集型。圖4所示為此模塊的運算處理流程。此例的實施方案在等式1中給出。

            

          圖4:窗口重疊加法模塊圖。(電子系統(tǒng)設(shè)計)

            圖4:窗口重疊加法模塊圖。

            

          等式1:窗口重疊加法模塊。(電子系統(tǒng)設(shè)計)

            等式1:窗口重疊加法模塊。

            

          電子系統(tǒng)設(shè)計

          關(guān)鍵詞: 解析 性能 音頻 Cortex-M ARM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();