DSP何时胜过硬件加速器?
嵌入式CPU因灵活性、稳健性能、低功耗与成本效益普及。从独立微处理器/微控制器转向嵌入式CPU,对大多数应用是明智之举。然而,没有CPU能高效运行所有算法——软件复杂度可无限增长,执行时间或功耗预算可能难以接受。
来源:CEVA
为解决此问题,厂商引入硬件加速器——执行浮点运算等常见操作的专用电路,速度远超通用CPU软件。概念快速扩展至加密、正则表达式、图形等领域。
加速器虽提速,却牺牲软件灵活性。硬连线特性使修改算法、修复缺陷、适应市场变化需重新设计硬件——昂贵且耗时。
理想状态是兼得两者:加速算法同时仍以软件编写。DSP(数字信号处理器)可为许多常见流式任务实现此目标。
DSP擅长流式数据操作:音频滤波、PDM转PCM、声学回声消除、LTE用流式密码SNOW与ZUC。信号处理语境下,处理基站与移动设备间信道估计的复杂矩阵运算,优化传输可靠性。更广泛地,DSP适用于受益于宽并行性的任何应用,如AES加密。
DSP在流式计算、复杂数学(矩阵、浮点)、高并行性方面极强——可匹敌或超越硬件加速器。许多情况下,DSP实现面积更小、成本更低,功耗仍远低于CPU方案。单个DSP可承载多个无需同时运行的加速功能,省去多个专用加速器。为追求更高吞吐,多核DSP提供与多核CPU同等扩展性。
来源:CEVA
或许最大优势在于可编程性。如CPU核心般,DSP可用C语言编程,开发者无需硬件变更即可调整升级软件。有了优秀编译器与仿真器,并行性优化变得可控,实现快速修复、功能更新、提升客户满意度——同时保持低功耗低成本。
另一优势是多功能支持。例如全球导航卫星系统(GNSS)处理受益于DSP。移动设备上通过软件新增GNSS成为可能;固定设备中,DSP基GNSS可在空闲期运行,对比专用硬件单元节省面积与功耗。
DSP非所有加速器的通用替代。极大滤波器等功能仍可能青睐硬连线方案。尽管如此,对广泛算法,DSP性能与功耗可匹敌或超越加速器,往往成本更低、灵活性远强。是值得严肃考量的有力选项。
本文为系列第二篇,始于"为何DSP突然无处不在",将以"抉择:硬件加速器还是DSP?"收官。
嵌入式