充分利用数字信号处理器上的片内FIR和IIR硬件加速器
数据流水线
本文引用地址:https://www.eepw.com.cn/article/202006/414545.htm● 内核和加速器之间的数据流可进行流水线处理,使二者能够在不同数据帧上并行处理。
● u 如图3所示,内核处理第N个帧,然后启动加速器对该帧进行处理。内核随后继续进一步并行处理加速器在上一迭代中产生的第N-1帧的输出。该序列允许将FIR和/或IIR处理任务完全转移给加速器,但输出会有一些延迟。
● u 流水线级以及输出延迟都可能会增加,具体取决于完整处理链中此类FIR和/或IIR处理级的数量。
图3说明了音频数据帧如何在不同加速器使用模型的三个阶段之间传输---DMA IN、内核/加速器处理和DMA OUT。它还显示了通过采用不同的加速器使用模型将FIR/IIR全部或部分处理转移到加速器上,与仅使用内核模型相比,内核空闲周期如何增加。
图3.加速器使用模型比较
SHARC处理器上的FIRA和IIRA
以下ADI SHARC®处理器系列支持片内FIRA和IIRA(从旧到新)。
● ADSP-214xx (例如, ADSP-21489 )
这些处理器系列:
● 计算速度不同
● 基本编程模型保持不变,ADSP-2156x处理器上的自动配置模式(ACM)除外。
● FIRA有四个MAC单元,而IIRA只有一个MAC单元。
ADSP-2156x处理器上的FIRA/IIRA改进
ADSP-2156x是SHARC处理器系列中的最新的产品。它是第一款单核1 GHz SHARC处理器,其FIRA和IIRA也可在1 GHz下运行。ADSP-2156x处理器上的FIRA和IIRA与其前代ADSP-SC58x/ADSP-SC57x处理器相比,具有多项改进。
性能改进
● 计算速度提高了8倍(从SCLK-125 MHz至CCLK-1 GHz)。
● 由于内核和加速器借助专用内核结构实现了更紧密的集成,因此减少了内核和加速器之间的数据和MMR访问延迟。
功能改进
添加了ACM支持,以尽量减少进行加速器处理所需的内核干预。此模式主要具有以下新特性:
● 允许加速器暂停以进行动态任务排队。
● 无通道数限制。
● 支持触发生成(主器件)和触发等待(从器件)。
● 为每个通道生成选择性中断。
实验结果
在本节中,我们将讨论在ADSP-2156x评估板上,借助不同的加速器使用模型实施两个实时多通道FIR/IIR用例的结果。
图4.用例1方框图
用例1
图4显示用例1的方框图。采样率为48 kHz,模块大小为256个采样点,拆分任务模型中使用的内核与加速器通道比为5:7。
表1显示测得的内核和FIRA MIPS数量,以及与仅使用内核模型相比获得的节约内核MIPS结果。表中还显示了相应使用模型增加的额外输出延迟。正如我们所看到的,使用加速器配合数据流水线使用模型,可节约高达335内核MIPS,但导致1块(5.33 ms)的输出延迟。直接替代和拆分任务使用模型也分别可节约98 MIPS和189 MIPS,而且未导致任何额外的输出延迟。
表1.用例1的内核和FIR/IIRA MIPS总结 | |||||
使用 模型 | 内核 MIPS | FIRA MIPS | IIRA MIPS | 节约内核 MIPS | 使用模型 延迟(ms) |
仅使用 内核 | 337 | 0 | |||
直接 替代 | 239 | 162 | 75 | 98 | 0 |
拆分 任务 | 148 | 96 | 44 | 189 | 0 |
数据 流水线 | 2 | 161 | 75 | 335 | 5.33 (1帧) |
用例2
图5显示用例2的方框图。采样率为48 kHz,模块大小为128个采样点,拆分任务模型中使用的内核与加速器通道比为1:1。
与表1一样,表2也显示了此用例的结果。正如我们所看到的,使用加速器配合数据流水线使用模型,可节约高达490内核MIPS,但导致1模块(2.67 ms)的输出延迟。拆分任务使用模型可节约234内核MIPS,而没有导致任何额外输出延迟。请注意,与用例1中不同,在用例2中内核使用频域(快速卷积)处理,而非时域处理。这就是为何处理一个通道所需的内核MIPS比FIRA MIPS少的原因,这可导致直接替代使用模型实现负的内核MIPS节约。
表2.用例2的内核和FIR/IIRA MIPS总结 | ||||
使用模型 | 内核 MIPS | FIRA MIPS | 节约内核 MIPS | 使用模型延迟 (ms) |
仅使用内核 | 493 | -- | 0 | |
直接替代 | 515 | 511 | –22 | 0 |
拆分任务 | 259 | 257 | 234 | 0 |
数据 流水线 | 3 | 511 | 490 | 2.67 (1帧) |
结论
在本文中,我们看到如何利用不同的加速器使用模型实现所需的MIPS和处理目标,从而将大量内核MIPS转移到ADSP-2156x处理器上的FIRA和IIRA加速器。
图5.用例2方框图
进一步阅读
“ ADSP-2156x FIR/IIR加速器性能和实时使用情况图形演示 。” ADI公司
Nayak, Sanket和Mitesh Moonat。 “ 工程师对话笔记EE-408:使用ADSP-2156x高性能FIR/IIR加速器 。”ADI公司,2019年8月。
作者 | |
Mitesh Moonat | Mitesh Moonat目前在印度班加罗尔(ADBL)处理器应用团队担任应用工程师。他从事前/后晶片验证、外设驱动器开发和SHARC处理器支持工作。在ADI就职期间,他还从事Blackfin和21xx处理器工作。他的工作领域包括处理器架构、数字信号处理算法优化、模块以及嵌入式系统的系统级调试。Mitesh于2006年加入ADI公司。他毕业于印度瓦朗加尔国家技术学院,获得电子和通信工程学士学位。 |
Sanket Nayak | Sanket Nayak是印度班加罗尔(ADBL)处理器应用团队的产品应用工程师。他于2016年加入ADI公司,一直从事汽车DSP的前/后晶片验证、驱动器/FuSa ROM设计、开发和测试工作。他获得班加罗尔PES技术学院电子和通信工程学士学位。 |
评论