Arm Helium技术指南:Cortex-M系列处理器的矢量运算扩展
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 Helium用例

目前有许多系统将Cortex-M处理器与专用可编程的DSP处理器结合使用。Helium允许这样的系统只用一个处理器来实现。这个方法有以下几个优点。

从软件开发的角度来看,它允许使用单个工具链,而不是分别对CPU和DSP使用各自的编译器和调试器。这意味着程序员只需要熟悉一种架构。另外,它还消除了对处理器间通信的需求。第二个因素可能非常重要,因为要对实时交互的两个运行时处理器中的不同软件进行调试既困难又耗时。Cortex-M系列的CPU相比专用DSP而言,更易于编程,因为它对于矢量化编译器来说算是一个很好的目标(并且如果需要的话,手动编写汇编代码也更容易)。

同样,在硬件设计层面,使用一个处理器(而不是两个处理器)可以简化系统,从而减少芯片面积(和成本)并缩短设计周期。例如,只需要有一个内存系统,CPU和DSP之间无须通过共享内存进行通信。

与常规的Cortex-M Thumb代码相比,Helium可以提供显著的加速效果,其中,机器学习代码的性能提升高达15倍,DSP算法的性能提升高达5倍。即使现有的Cortex-M系统性能足够强,这也很有用,因为它允许CPU花费更多时间休眠,从而降低动态功耗。

当前的一些系统只有一个独立的DSP。在这里,Helium允许使用Cortex-M处理器作为替代品。带Helium特性的Cortex-M处理器将为非DSP的工作负载提供更高的性能,其卓越的代码密度可以显著减少所需的内存占用量,从而降低整体系统成本。