充分利用數(shù)字信號(hào)處理器上的片內(nèi)FIR和IIR硬件加速器
數(shù)據(jù)流水線
本文引用地址:http://www.ex-cimer.com/article/202006/414545.htm● 內(nèi)核和加速器之間的數(shù)據(jù)流可進(jìn)行流水線處理,使二者能夠在不同數(shù)據(jù)幀上并行處理。
● u 如圖3所示,內(nèi)核處理第N個(gè)幀,然后啟動(dòng)加速器對(duì)該幀進(jìn)行處理。內(nèi)核隨后繼續(xù)進(jìn)一步并行處理加速器在上一迭代中產(chǎn)生的第N-1幀的輸出。該序列允許將FIR和/或IIR處理任務(wù)完全轉(zhuǎn)移給加速器,但輸出會(huì)有一些延遲。
● u 流水線級(jí)以及輸出延遲都可能會(huì)增加,具體取決于完整處理鏈中此類FIR和/或IIR處理級(jí)的數(shù)量。
圖3說明了音頻數(shù)據(jù)幀如何在不同加速器使用模型的三個(gè)階段之間傳輸---DMA IN、內(nèi)核/加速器處理和DMA OUT。它還顯示了通過采用不同的加速器使用模型將FIR/IIR全部或部分處理轉(zhuǎn)移到加速器上,與僅使用內(nèi)核模型相比,內(nèi)核空閑周期如何增加。
圖3.加速器使用模型比較
SHARC處理器上的FIRA和IIRA
以下ADI SHARC?處理器系列支持片內(nèi)FIRA和IIRA(從舊到新)。
● ADSP-214xx (例如, ADSP-21489 )
這些處理器系列:
● 計(jì)算速度不同
● 基本編程模型保持不變,ADSP-2156x處理器上的自動(dòng)配置模式(ACM)除外。
● FIRA有四個(gè)MAC單元,而IIRA只有一個(gè)MAC單元。
ADSP-2156x處理器上的FIRA/IIRA改進(jìn)
ADSP-2156x是SHARC處理器系列中的最新的產(chǎn)品。它是第一款單核1 GHz SHARC處理器,其FIRA和IIRA也可在1 GHz下運(yùn)行。ADSP-2156x處理器上的FIRA和IIRA與其前代ADSP-SC58x/ADSP-SC57x處理器相比,具有多項(xiàng)改進(jìn)。
性能改進(jìn)
● 計(jì)算速度提高了8倍(從SCLK-125 MHz至CCLK-1 GHz)。
● 由于內(nèi)核和加速器借助專用內(nèi)核結(jié)構(gòu)實(shí)現(xiàn)了更緊密的集成,因此減少了內(nèi)核和加速器之間的數(shù)據(jù)和MMR訪問延遲。
功能改進(jìn)
添加了ACM支持,以盡量減少進(jìn)行加速器處理所需的內(nèi)核干預(yù)。此模式主要具有以下新特性:
● 允許加速器暫停以進(jìn)行動(dòng)態(tài)任務(wù)排隊(duì)。
● 無通道數(shù)限制。
● 支持觸發(fā)生成(主器件)和觸發(fā)等待(從器件)。
● 為每個(gè)通道生成選擇性中斷。
實(shí)驗(yàn)結(jié)果
在本節(jié)中,我們將討論在ADSP-2156x評(píng)估板上,借助不同的加速器使用模型實(shí)施兩個(gè)實(shí)時(shí)多通道FIR/IIR用例的結(jié)果。
圖4.用例1方框圖
用例1
圖4顯示用例1的方框圖。采樣率為48 kHz,模塊大小為256個(gè)采樣點(diǎn),拆分任務(wù)模型中使用的內(nèi)核與加速器通道比為5:7。
表1顯示測得的內(nèi)核和FIRA MIPS數(shù)量,以及與僅使用內(nèi)核模型相比獲得的節(jié)約內(nèi)核MIPS結(jié)果。表中還顯示了相應(yīng)使用模型增加的額外輸出延遲。正如我們所看到的,使用加速器配合數(shù)據(jù)流水線使用模型,可節(jié)約高達(dá)335內(nèi)核MIPS,但導(dǎo)致1塊(5.33 ms)的輸出延遲。直接替代和拆分任務(wù)使用模型也分別可節(jié)約98 MIPS和189 MIPS,而且未導(dǎo)致任何額外的輸出延遲。
表1.用例1的內(nèi)核和FIR/IIRA MIPS總結(jié) | |||||
使用 模型 | 內(nèi)核 MIPS | FIRA MIPS | IIRA MIPS | 節(jié)約內(nèi)核 MIPS | 使用模型 延遲(ms) |
僅使用 內(nèi)核 | 337 | 0 | |||
直接 替代 | 239 | 162 | 75 | 98 | 0 |
拆分 任務(wù) | 148 | 96 | 44 | 189 | 0 |
數(shù)據(jù) 流水線 | 2 | 161 | 75 | 335 | 5.33 (1幀) |
用例2
圖5顯示用例2的方框圖。采樣率為48 kHz,模塊大小為128個(gè)采樣點(diǎn),拆分任務(wù)模型中使用的內(nèi)核與加速器通道比為1:1。
與表1一樣,表2也顯示了此用例的結(jié)果。正如我們所看到的,使用加速器配合數(shù)據(jù)流水線使用模型,可節(jié)約高達(dá)490內(nèi)核MIPS,但導(dǎo)致1模塊(2.67 ms)的輸出延遲。拆分任務(wù)使用模型可節(jié)約234內(nèi)核MIPS,而沒有導(dǎo)致任何額外輸出延遲。請(qǐng)注意,與用例1中不同,在用例2中內(nèi)核使用頻域(快速卷積)處理,而非時(shí)域處理。這就是為何處理一個(gè)通道所需的內(nèi)核MIPS比FIRA MIPS少的原因,這可導(dǎo)致直接替代使用模型實(shí)現(xiàn)負(fù)的內(nèi)核MIPS節(jié)約。
表2.用例2的內(nèi)核和FIR/IIRA MIPS總結(jié) | ||||
使用模型 | 內(nèi)核 MIPS | FIRA MIPS | 節(jié)約內(nèi)核 MIPS | 使用模型延遲 (ms) |
僅使用內(nèi)核 | 493 | -- | 0 | |
直接替代 | 515 | 511 | –22 | 0 |
拆分任務(wù) | 259 | 257 | 234 | 0 |
數(shù)據(jù) 流水線 | 3 | 511 | 490 | 2.67 (1幀) |
結(jié)論
在本文中,我們看到如何利用不同的加速器使用模型實(shí)現(xiàn)所需的MIPS和處理目標(biāo),從而將大量內(nèi)核MIPS轉(zhuǎn)移到ADSP-2156x處理器上的FIRA和IIRA加速器。
圖5.用例2方框圖
進(jìn)一步閱讀
“ ADSP-2156x FIR/IIR加速器性能和實(shí)時(shí)使用情況圖形演示 ?!?ADI公司
Nayak, Sanket和Mitesh Moonat。 “ 工程師對(duì)話筆記EE-408:使用ADSP-2156x高性能FIR/IIR加速器 ?!盇DI公司,2019年8月。
作者 | |
Mitesh Moonat | Mitesh Moonat目前在印度班加羅爾(ADBL)處理器應(yīng)用團(tuán)隊(duì)擔(dān)任應(yīng)用工程師。他從事前/后晶片驗(yàn)證、外設(shè)驅(qū)動(dòng)器開發(fā)和SHARC處理器支持工作。在ADI就職期間,他還從事Blackfin和21xx處理器工作。他的工作領(lǐng)域包括處理器架構(gòu)、數(shù)字信號(hào)處理算法優(yōu)化、模塊以及嵌入式系統(tǒng)的系統(tǒng)級(jí)調(diào)試。Mitesh于2006年加入ADI公司。他畢業(yè)于印度瓦朗加爾國家技術(shù)學(xué)院,獲得電子和通信工程學(xué)士學(xué)位。 |
Sanket Nayak | Sanket Nayak是印度班加羅爾(ADBL)處理器應(yīng)用團(tuán)隊(duì)的產(chǎn)品應(yīng)用工程師。他于2016年加入ADI公司,一直從事汽車DSP的前/后晶片驗(yàn)證、驅(qū)動(dòng)器/FuSa ROM設(shè)計(jì)、開發(fā)和測試工作。他獲得班加羅爾PES技術(shù)學(xué)院電子和通信工程學(xué)士學(xué)位。 |
評(píng)論