利用硬件加速器提高處理器的性能
1 為什么使用硬件加速器
FIR濾波器、IIR濾波器和FFT操作在數字信號處理器中應用十分普遍,且具有規(guī)則的結構,因此可以用硬件直接實現,特別是用硬件加速器。硬件加速器是專用的定點功能外設,用于實現重復計算復雜的單個任務。它們減輕了主處理器的負擔,主處理可以主要做一些在結構上幾乎沒有什么規(guī)律的通用任務。
由于系統(tǒng)設計者既擁有通用處理器的靈活性,又具有專用硬件的計算優(yōu)勢,因此,使用硬件加速器就提供了一種高性價比的方法,以增加處理器總的計算能力。
因此,這類加速器在滿足眾多應用領域日益復雜的系統(tǒng)需求方面具有重要價值。其中一個應用是其通道數不斷上升的音頻系統(tǒng)。家庭影院系統(tǒng)通道數從5.1通道發(fā)展到6.1通道,現在已經到 7.1通道,而高端汽車功放一般使用12個或者更多的揚聲器,使聽者沉浸于美妙的音樂中。
此外,音頻源內容現在采用高清(HD)格式,其相關的解碼器擴展了系統(tǒng)資源。HD算法還以更高的采樣率處理數據。以前,數據的峰值采樣率很少超過48 kHz,有了HD算法,現在采樣率通常都是96kHz,有時,甚至達到了192kHz。
為了更好的理解是如何增加計算需求的,以現代化的家庭影院接收系統(tǒng)為考慮,它集成了復雜的室內均衡算法,用以補償驅動響應和揚聲器擺放位置的不同所引起的偏差。算法首先利用麥克風分析室內環(huán)境,并測量實時傳遞函數。在多個位置進行測量再組合分析,然后為每個揚聲器設計一個補償濾波器。
更精確的室內均衡算法則使用FIR濾波器來校正整個頻率范圍上的響應函數,濾波器長度與采樣率直接成比例。低頻控制越精確,需要濾波器長度越長。采樣率為48kHz,通常濾波器長度為256點,為了達到同樣的頻率分辨率,在96kHz則需要濾波器長度為512點。采樣率和濾波器長度都加倍則導致所需的總計算量增加了四倍。
2 加速器結構
本節(jié)將以ADI公司近期推出的SHARC ADSP-2146x處理器為例介紹加速器的結構,該處理器具有更高的時鐘速率(450MHz),并擴展了片上存儲器(5Mb)。
本文引用地址:http://m.butianyuan.cn/article/201612/324760.htm
圖1 FIR加速器的結構
此外,處理器還具有一系列硬件加速器,可以用以實現通用信號處理運算:FIR、IIR濾波器和FFT。而這些運算是通信系統(tǒng)、醫(yī)療設備、消費產品和工業(yè)測量與控制應用中的基本運算。這些加速器是SHARC ADSP-2136x系列處理器片內采樣率轉換器的有益補充,而采樣率轉換器也可以看作硬件加速器。
SHARC ADSP-2146x處理器的三個加速器設計相同,圖1所示的FIR加速器能很好的說明硬件加速器的結構。
FIR加速器有以下功能模塊。
● 系列控制寄存器——配置加速器的操作。
● DMA控制器——在主存儲器與加速器的本地存儲器之間傳輸數據,也可以用于配置控制寄存器。
● 兩個本地存儲器塊——保存系數和狀態(tài)變量(或者延遲存儲器),并降低主存儲器的帶寬。
● 計算單元——包括適合加速器的算術操作,FIR的計算單元有4個并行的MAC。
使用鏈式DMA,加速器的操作可以自動完成,FIR加速器的典型操作有以下幾步。
(1)將本通道的系數數據由內部存儲器載入本地加速器系數存儲區(qū)。
(2)將本通道的狀態(tài)變量從內部存儲器載入本地加速器系數存儲區(qū),這包括第一個輸入樣本。
(3)利用四個MAC單元計算輸出樣本。
(4)保存結果。
(5)如果還有需要處理的樣本,則讀取下一個輸入樣本,并寫入狀態(tài)變量存儲器。
(6)重復步驟(3)~(5),直到通道中的所有輸出樣本計算完。
(7)重復步驟(1)~(6),計算所有輸入通道。
3 加速器的實際應用
設計的應用軟件必須盡可能從硬件加速器獲取最多的好處,應牢記加速器必須配置成與主CPU并行操作,如果主CPU處于空閑狀態(tài)等待加速器操作完成,這不會帶來任何好處。
加速器是實時環(huán)境中運行的大信號鏈的典型部分,與加速器接口需要雙緩存的輸入和輸出數據,且系統(tǒng)設計人員也應該牢記加速器會帶來一部分延時。
設想一個帶有7.1通道的家庭影院系統(tǒng),采樣率96kHz,數據塊大小為32個采樣點,假定室內均衡應用8個FIR濾波器,每個濾波器長度為512點,如果采用核CPU執(zhí)行濾波操作,則至少需要每秒96kHz ×8×512=393MMAC個操作,或者占工作在450MHz的SHARC處理器運算量的44%。該FIR處理占了整個計算量的很大一部分,但在將來,這些都可以轉由加速器來處理。FIR濾波器的輸入和輸出都采用雙緩沖,這樣就可以讓加速器與音頻信號處理鏈的最后環(huán)節(jié)并行處理。當然,雙緩沖器會引入32個采樣點的處理延遲,對于96kHz時延遲為333ms,是可以接受的。
而利用前面的計算公式,加速器需要50 056個外設時鐘周期才能完成操作,如果外設時鐘是225MHz,則需要223ms,這小于333ms的可用塊處理時間。
4 結論
音頻處理技術的進一步發(fā)展對音頻DSP提出了更高的要求,集成的硬件加速器為處理器整體處理性能的提升提供了重要的推動力,且將通用的信號處理操作——FIR濾波、IIR濾波和FFT操作——從內核處理器中釋放出來,使內核可以專注于其他任務,這種高性價比的方法能提高處理器兩倍以上的計算吞吐量。雖然本文主要討論音頻應用,但是處理器核和加速器也是通用的,也非常適合于各種信號處理任務。
評論