新聞中心

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

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

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

1 為什么使用硬件加速器

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

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

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

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

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

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

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

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

本文引用地址:http://m.butianyuan.cn/article/201612/324760.htm

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)論

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


關(guān)鍵詞: 處理器硬件加速

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉