0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何解放你的內(nèi)核?硬件加速器“使用指南”奉上

analog_devices ? 來源:亞德諾半導(dǎo)體 ? 2020-07-06 16:10 ? 次閱讀

有限脈沖響應(yīng)(FIR)和無限脈沖響應(yīng)(IIR)濾波器都是常用的數(shù)字信號(hào)處理算法——尤其適用于音頻處理應(yīng)用。因此,在典型的音頻系統(tǒng)中,處理器內(nèi)核的很大一部分時(shí)間用于FIR和IIR濾波。數(shù)字信號(hào)處理器上的片內(nèi)FIR和IIR硬件加速器也分別稱為FIRA和IIRA,我們可以利用這些硬件加速器來分擔(dān)FIR和IIR處理任務(wù),讓內(nèi)核去執(zhí)行其他處理任務(wù)。在本文中,我們將借助不同的使用模型以及實(shí)時(shí)測(cè)試示例來探討如何在實(shí)踐中利用這些加速器。

圖1.FIRA和IIRA系統(tǒng)方框圖。

圖1顯示了FIRA和IIRA的簡(jiǎn)化方框圖,以及它們與其余處理器系統(tǒng)和資源的交互方式。

FIRA和IIRA模塊均主要包含一個(gè)計(jì)算引擎(乘累加(MAC)單元)以及一個(gè)小的本地?cái)?shù)據(jù)和系數(shù)RAM。

為開始進(jìn)行FIRA/IIRA處理,內(nèi)核使用通道特定信息初始化處理器存儲(chǔ)器中的DMA傳輸控制塊(TCB)鏈。然后將該TCB鏈的起始地址寫入FIRA/IIRA鏈指針寄存器,隨后配置FIRA/IIRA控制寄存器以啟動(dòng)加速器處理。一旦所有通道的配置完成,就會(huì)向內(nèi)核發(fā)送一個(gè)中斷,以便內(nèi)核將處理后的輸出用于后續(xù)操作。

從理論上講,最好的方法是將所有FIR和/或IIR任務(wù)從內(nèi)核轉(zhuǎn)移給加速器,并允許內(nèi)核同時(shí)執(zhí)行其他操作。但在實(shí)踐中,這并非始終可行,特別是當(dāng)內(nèi)核需要使用加速器輸出進(jìn)一步處理,并且沒有其他獨(dú)立的任務(wù)需要同時(shí)完成時(shí)。在這種情況下,我們需要選擇合適的加速器使用模型來達(dá)到最佳效果。.

在本文中,我們將討論針對(duì)不同應(yīng)用場(chǎng)景充分利用這些加速器的各種模型。

實(shí)時(shí)使用FIRA和IIRA

圖2.典型實(shí)時(shí)音頻數(shù)據(jù)流。

圖2顯示了典型實(shí)時(shí)PCM音頻數(shù)據(jù)流圖。一幀數(shù)字化PCM音頻數(shù)據(jù)通過同步串行端口(SPORT)接收,并通過直接存儲(chǔ)器訪問(DMA)發(fā)送至存儲(chǔ)器。在繼續(xù)接收幀N+1時(shí),幀N由內(nèi)核和/或加速器處理,之前處理的幀(N-1)的輸出通過SPORT發(fā)送至DAC進(jìn)行數(shù)模轉(zhuǎn)換。

加速器使用模型

如前所述,根據(jù)應(yīng)用的不同,可能需要以不同的方式使用加速器,以最大限度分擔(dān)FIR和/或IIR處理任務(wù),并盡可能節(jié)省內(nèi)核周期以用于其他操作。從高層次角度來看,加速器使用模型可分為三類:直接替代、拆分任務(wù)和數(shù)據(jù)流水線。

直接替代

內(nèi)核FIR和/或IIR處理直接被加速器替代,內(nèi)核只需等待加速器完成此任務(wù)。

此模型僅在加速器的處理速度比內(nèi)核快時(shí)才有效;即,使用FIRA模塊。

拆分任務(wù)

FIR和/或IIR處理任務(wù)在內(nèi)核和加速器之間分配。

當(dāng)多個(gè)通道可并行處理時(shí),此模型特別有用。

根據(jù)粗略的時(shí)序估算,在內(nèi)核和加速器之間分配通道總數(shù),使二者大致能夠同時(shí)完成任務(wù)。

如圖3所示,與直接替代模型相比,此使用模型可節(jié)省更多的內(nèi)核周期。

數(shù)據(jù)流水線

內(nèi)核和加速器之間的數(shù)據(jù)流可進(jìn)行流水線處理,使二者能夠在不同數(shù)據(jù)幀上并行處理。

如圖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ì)有一些延遲。

流水線級(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)

ADSP-SC58x

ADSP-SC57x/ADSP-2157x

ADSP-2156x

這些處理器系列:

計(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é)果

用例1

圖4顯示用例1的方框圖。采樣率為48 kHz,模塊大小為256個(gè)采樣點(diǎn),拆分任務(wù)模型中使用的內(nèi)核與加速器通道比為5:7。

表1顯示測(cè)得的內(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)致任何額外的輸出延遲。

圖4.用例1方框圖。

表1.用例1的內(nèi)核和FIR/IIRA MIPS總結(jié)

用例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é)約。

圖5.用例2方框圖。

表2.用例2的內(nèi)核和FIR/IIRA MIPS總結(jié)

結(jié)論

在本文中,我們看到如何利用不同的加速器使用模型實(shí)現(xiàn)所需的MIPS和處理目標(biāo),從而將大量?jī)?nèi)核MIPS轉(zhuǎn)移到ADSP-2156x處理器上的FIRA和IIRA加速器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)字信號(hào)
    +關(guān)注

    關(guān)注

    2

    文章

    936

    瀏覽量

    47471
  • 音頻處理
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    17749

原文標(biāo)題:如何解放你的內(nèi)核?硬件加速器“使用指南”奉上

文章出處:【微信號(hào):analog_devices,微信公眾號(hào):analog_devices】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TDA4VM上的硬件加速運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法

    電子發(fā)燒友網(wǎng)站提供《TDA4VM上的硬件加速運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 11:39 ?0次下載
    TDA4VM上的<b class='flag-5'>硬件加速</b>運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)算法

    適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:38 ?0次下載
    適用于數(shù)據(jù)中心應(yīng)用中的<b class='flag-5'>硬件加速器</b>的直流/直流轉(zhuǎn)換<b class='flag-5'>器</b>解決方案

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    v3.0,它的上限是 MCUBoot v1.8.1。 當(dāng)前版本基于 MCUBoot v1.9.1,似乎支持加密硬件加速。 有什么最簡(jiǎn)單的方法可以更新我的舊版引導(dǎo)加載,以便運(yùn)行 MCUBoot v1.9.1? 順便說一下,我的 PSoC 是 CY8C624ABZI-S2
    發(fā)表于 05-29 08:17

    Elektrobit利用其首創(chuàng)的硬件加速軟件優(yōu)化汽車通信網(wǎng)絡(luò)的性能

    Elektrobit今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成現(xiàn)代微控制新一代硬件加速器的軟件產(chǎn)品,可應(yīng)用于先進(jìn)的汽車電子/電氣架構(gòu)(基于被廣泛采用
    的頭像 發(fā)表于 04-17 09:51 ?297次閱讀

    用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬設(shè)計(jì)

    該項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬。
    的頭像 發(fā)表于 04-09 11:08 ?450次閱讀
    用DE1-SOC進(jìn)行<b class='flag-5'>硬件加速</b>的2D N-Body重力模擬<b class='flag-5'>器</b>設(shè)計(jì)

    330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 圖形圖像硬件加速器

    標(biāo)簽: Net FPGA , XC7K325T板卡 , XC7K325T處理板 , 軟件無線電處理平臺(tái) , 圖形圖像硬件加速器
    的頭像 發(fā)表于 03-04 14:14 ?524次閱讀
    330-基于FMC接口的Kintex-7 XC7K325T PCIeX4 3U PXIe接口卡 圖形圖像<b class='flag-5'>硬件加速器</b>

    【國產(chǎn)FPGA+OMAPL138開發(fā)板體驗(yàn)】(原創(chuàng))7.硬件加速Sora文生視頻源代碼

    hardware_accelerator_done; // 硬件加速器工作完成的小旗子(幻想中) // FPGA內(nèi)核操作法則 always @(posedge clk or posedge reset) begin
    發(fā)表于 02-22 09:49

    音視頻解碼硬件加速:實(shí)現(xiàn)更流暢的播放效果

    隨著多媒體內(nèi)容的日益豐富和高清化,傳統(tǒng)的軟件解碼已經(jīng)難以滿足人們對(duì)流暢播放體驗(yàn)的需求。因此,音視頻解碼硬件加速技術(shù)的出現(xiàn),為提升播放效果帶來了革命性的改變。 硬件加速的原理 硬件加速
    的頭像 發(fā)表于 02-21 14:40 ?818次閱讀
    音視頻解碼<b class='flag-5'>器</b><b class='flag-5'>硬件加速</b>:實(shí)現(xiàn)更流暢的播放效果

    回旋加速器原理 回旋加速器的影響因素

    回旋加速器(Cyclotron)是一種用于加速帶電粒子的可再生粒子加速器。它的工作原理基于帶電粒子在恒定強(qiáng)磁場(chǎng)中的運(yùn)動(dòng)。本文將詳細(xì)介紹回旋加速器的原理以及影響因素。 一、回旋
    的頭像 發(fā)表于 01-30 10:02 ?3271次閱讀

    粒子加速器加速原理是啥呢?

    粒子加速器加速原理是啥呢? 粒子加速器是一種重要的實(shí)驗(yàn)設(shè)備,用于研究粒子物理學(xué)、核物理學(xué)等領(lǐng)域。其主要原理是通過電場(chǎng)和磁場(chǎng)的作用,對(duì)帶電粒子進(jìn)行加速,在高速運(yùn)動(dòng)過程中使其獲得較大的動(dòng)
    的頭像 發(fā)表于 12-18 13:52 ?1848次閱讀

    21489的IIR加速器濾波參數(shù)設(shè)置如何對(duì)應(yīng)加速器的濾波參數(shù)?

    目前在用21489內(nèi)部的IIR加速器去做一個(gè)低通濾波,在例程的基礎(chǔ)上修改參數(shù)。通過平板的fda 工具工具去設(shè)計(jì)參數(shù),但是設(shè)計(jì)出來的參數(shù)不知道如何對(duì)應(yīng)加速器的濾波參數(shù),手冊(cè)里也看得不是很明白。 設(shè)計(jì)的參數(shù)如下: 請(qǐng)問
    發(fā)表于 11-30 08:11

    使用ADSP-21489的fir加速器時(shí),存在很大的噪音如何解決?

    您好!當(dāng)我使用ADSP-21489的fir加速器時(shí),存在很大的噪音,未知如何解決,希望這里有高人幫我解決。 附件上有工程,該工程參考iir加速器使用例子編寫。
    發(fā)表于 11-30 07:49

    在Sigma 300里面使用硬件加速器slew,slew mode為RC type時(shí)不同的time constant的值有什么用?

    請(qǐng)問下在Sigma 300里面使用硬件加速器slew,slew mode為RC type時(shí),對(duì)應(yīng)的time constant 與數(shù)據(jù)從當(dāng)前值到目標(biāo)值得時(shí)間有什么關(guān)系,或者說不同的time constant的值有什么用? 謝謝, 中 J Jj
    發(fā)表于 11-29 07:25

    4G路由使用指南及技巧

    4G路由使用指南及技巧
    的頭像 發(fā)表于 11-06 11:27 ?902次閱讀

    嵌入式多媒體系統(tǒng)中硬件加速技術(shù)的應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《嵌入式多媒體系統(tǒng)中硬件加速技術(shù)的應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 10-26 09:33 ?0次下載
    嵌入式多媒體系統(tǒng)中<b class='flag-5'>硬件加速</b>技術(shù)的應(yīng)用