潮声隔雨深 · 2020年03月08日

关于带有FPU的ARM与DSP的浮点运算能力对比问题。

最近在进行带有FPU的ARM与DSP的浮点运算能力之间的对比,想通过一个确切的参数数据进行比较;TI的DSP有MFLOPS参数作为浮点运算能力的评估,但是ARM中没有相关的参数作为对比,只有MIPS说明,但是这个参数之间的对比并不能说明浮点运算能力之间的差异性,请教ARM中是否有相关的参数可以衡量其浮点运算能力,最好可以针对不能的处理器系列之间进行对比,不吝赐教,谢谢!(请不要告诉我ARM和专门的DSP芯片没有可比性,只是想找到衡量ARM的相关能力的参数,也可以进行ARM之间相关能力的对比情款,方便日后CPU的选取)

比如:TI的C674x系列DSP的参数:3648MIPS@456MHz,2746MFLOPS@456MHz;Cortex-A9系列参数:2.5MIPS/MHz,ARM中无浮点处理能力参数;
1 个回答 得票排序 · 时间排序
一知半解 · 2020年03月08日

Arm的架构和专用DSP芯片的架构是完全不同的,对Memory存取的方式也是不同的:

https://en.wikipedia.org/wiki...

DSPs often use special memory architectures that are able to fetch multiple data or instructions at the same time.

因此二者之间无法使用简单的统一评判标准来对比性能。Arm一般来说提供的性能参数是 Dhrystone,CoreMark之类,提问中提到的 MIPS/MHz的确不是DSP参数,而仅仅是一个指令吞吐能力的参数。正是因为架构的差异,导致目前没有统一的不同架构间DSP性能对比的权威benchmark。

一般来说,比较Arm和专用DSP芯片之间等效能力的方法是采用 FFT 进行比较:例如可以计算同一个采样数( 256或者1024)、同一位宽(比如Q31)情况下 进行若干次相同的FFT计算,Arm在最高的Compiler优化(或者使用官方提供的最优化库)的情况下平均单次运算使用的周期数,对比DSP所需的平均单次FFT运算周期数。

你的回答