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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用硬件加速器提高處理器的性能

          利用硬件加速器提高處理器的性能

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          處理器內(nèi)部集成的硬件加速器可以實現(xiàn)三種廣泛使用的信號處理操作:FIR(有限沖激響應(yīng))、IIR(無限沖激響應(yīng))和FFT(快速傅里葉變換)。硬件加速器減輕了核處理器的負(fù)擔(dān),能潛在的提升處理器的計算吞吐率超過兩倍。本文以下一代音頻系統(tǒng)為例,說明硬件加速器在這方面的應(yīng)用。

          1 為什么使用硬件加速器

          FIR濾波器、IIR濾波器和FFT操作在數(shù)字信號處理器中應(yīng)用十分普遍,且具有規(guī)則的結(jié)構(gòu),因此可以用硬件直接實現(xiàn),特別是用硬件加速器。硬件加速器是專用的定點功能外設(shè),用于實現(xiàn)重復(fù)計算復(fù)雜的單個任務(wù)。它們減輕了主處理器的負(fù)擔(dān),主處理可以主要做一些在結(jié)構(gòu)上幾乎沒有什么規(guī)律的通用任務(wù)。

          由于系統(tǒng)設(shè)計者既擁有通用處理器的靈活性,又具有專用硬件的計算優(yōu)勢,因此,使用硬件加速器就提供了一種高性價比的方法,以增加處理器總的計算能力。

          因此,這類加速器在滿足眾多應(yīng)用領(lǐng)域日益復(fù)雜的系統(tǒng)需求方面具有重要價值。其中一個應(yīng)用是其通道數(shù)不斷上升的音頻系統(tǒng)。家庭影院系統(tǒng)通道數(shù)從5.1通道發(fā)展到6.1通道,現(xiàn)在已經(jīng)到 7.1通道,而高端汽車功放一般使用12個或者更多的揚聲器,使聽者沉浸于美妙的音樂中。

          此外,音頻源內(nèi)容現(xiàn)在采用高清(HD)格式,其相關(guān)的解碼器擴展了系統(tǒng)資源。HD算法還以更高的采樣率處理數(shù)據(jù)。以前,數(shù)據(jù)的峰值采樣率很少超過48 kHz,有了HD算法,現(xiàn)在采樣率通常都是96kHz,有時,甚至達(dá)到了192kHz。

          為了更好的理解是如何增加計算需求的,以現(xiàn)代化的家庭影院接收系統(tǒng)為考慮,它集成了復(fù)雜的室內(nèi)均衡算法,用以補償驅(qū)動響應(yīng)和揚聲器擺放位置的不同所引起的偏差。算法首先利用麥克風(fēng)分析室內(nèi)環(huán)境,并測量實時傳遞函數(shù)。在多個位置進(jìn)行測量再組合分析,然后為每個揚聲器設(shè)計一個補償濾波器。

          更精確的室內(nèi)均衡算法則使用FIR濾波器來校正整個頻率范圍上的響應(yīng)函數(shù),濾波器長度與采樣率直接成比例。低頻控制越精確,需要濾波器長度越長。采樣率為48kHz,通常濾波器長度為256點,為了達(dá)到同樣的頻率分辨率,在96kHz則需要濾波器長度為512點。采樣率和濾波器長度都加倍則導(dǎo)致所需的總計算量增加了四倍。

          2 加速器結(jié)構(gòu)

          本節(jié)將以ADI公司近期推出的SHARC ADSP-2146x處理器為例介紹加速器的結(jié)構(gòu),該處理器具有更高的時鐘速率(450MHz),并擴展了片上存儲器(5Mb)。

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

          圖1 FIR加速器的結(jié)構(gòu)


          此外,處理器還具有一系列硬件加速器,可以用以實現(xiàn)通用信號處理運算:FIR、IIR濾波器和FFT。而這些運算是通信系統(tǒng)、醫(yī)療設(shè)備、消費產(chǎn)品和工業(yè)測量與控制應(yīng)用中的基本運算。這些加速器是SHARC ADSP-2136x系列處理器片內(nèi)采樣率轉(zhuǎn)換器的有益補充,而采樣率轉(zhuǎn)換器也可以看作硬件加速器。

          SHARC ADSP-2146x處理器的三個加速器設(shè)計相同,圖1所示的FIR加速器能很好的說明硬件加速器的結(jié)構(gòu)。

          FIR加速器有以下功能模塊。

          ● 系列控制寄存器——配置加速器的操作。

          ● DMA控制器——在主存儲器與加速器的本地存儲器之間傳輸數(shù)據(jù),也可以用于配置控制寄存器。

          ● 兩個本地存儲器塊——保存系數(shù)和狀態(tài)變量(或者延遲存儲器),并降低主存儲器的帶寬。

          ● 計算單元——包括適合加速器的算術(shù)操作,F(xiàn)IR的計算單元有4個并行的MAC。

          使用鏈?zhǔn)紻MA,加速器的操作可以自動完成,F(xiàn)IR加速器的典型操作有以下幾步。

          (1)將本通道的系數(shù)數(shù)據(jù)由內(nèi)部存儲器載入本地加速器系數(shù)存儲區(qū)。

          (2)將本通道的狀態(tài)變量從內(nèi)部存儲器載入本地加速器系數(shù)存儲區(qū),這包括第一個輸入樣本。

          (3)利用四個MAC單元計算輸出樣本。

          (4)保存結(jié)果。

          (5)如果還有需要處理的樣本,則讀取下一個輸入樣本,并寫入狀態(tài)變量存儲器。

          (6)重復(fù)步驟(3)~(5),直到通道中的所有輸出樣本計算完。

          (7)重復(fù)步驟(1)~(6),計算所有輸入通道。

          3 加速器的實際應(yīng)用

          設(shè)計的應(yīng)用軟件必須盡可能從硬件加速器獲取最多的好處,應(yīng)牢記加速器必須配置成與主CPU并行操作,如果主CPU處于空閑狀態(tài)等待加速器操作完成,這不會帶來任何好處。

          加速器是實時環(huán)境中運行的大信號鏈的典型部分,與加速器接口需要雙緩存的輸入和輸出數(shù)據(jù),且系統(tǒng)設(shè)計人員也應(yīng)該牢記加速器會帶來一部分延時。

          設(shè)想一個帶有7.1通道的家庭影院系統(tǒng),采樣率96kHz,數(shù)據(jù)塊大小為32個采樣點,假定室內(nèi)均衡應(yīng)用8個FIR濾波器,每個濾波器長度為512點,如果采用核CPU執(zhí)行濾波操作,則至少需要每秒96kHz ×8×512=393MMAC個操作,或者占工作在450MHz的SHARC處理器運算量的44%。該FIR處理占了整個計算量的很大一部分,但在將來,這些都可以轉(zhuǎn)由加速器來處理。FIR濾波器的輸入和輸出都采用雙緩沖,這樣就可以讓加速器與音頻信號處理鏈的最后環(huán)節(jié)并行處理。當(dāng)然,雙緩沖器會引入32個采樣點的處理延遲,對于96kHz時延遲為333ms,是可以接受的。

          而利用前面的計算公式,加速器需要50 056個外設(shè)時鐘周期才能完成操作,如果外設(shè)時鐘是225MHz,則需要223ms,這小于333ms的可用塊處理時間。

          4 結(jié)論

          音頻處理技術(shù)的進(jìn)一步發(fā)展對音頻DSP提出了更高的要求,集成的硬件加速器為處理器整體處理性能的提升提供了重要的推動力,且將通用的信號處理操作——FIR濾波、IIR濾波和FFT操作——從內(nèi)核處理器中釋放出來,使內(nèi)核可以專注于其他任務(wù),這種高性價比的方法能提高處理器兩倍以上的計算吞吐量。雖然本文主要討論音頻應(yīng)用,但是處理器核和加速器也是通用的,也非常適合于各種信號處理任務(wù)。


          關(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); })();