最近在进行带有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中无浮点处理能力参数;
Arm的架构和专用DSP芯片的架构是完全不同的,对Memory存取的方式也是不同的:
https://en.wikipedia.org/wiki/Digital_signal_processor:
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运算周期数。
感谢管理的解答!
Dhrystone,CoreMark之类的测试,都是进行CPU整体性能的测试,目前公司调研一个浮点性能相关的参数,就是为了方便日后选取CPU时,可以有个大致的参考方向,有些应用可以考虑使用ARM来进行浮点操作,不必要选取DSP。看来目前还确实没有一个明确的参数来进行衡量,至于进行FFT运算进行测试,确实是一种好的方式,但是用户测试起来不太容易,达不到目前的需求,同样感谢。
不客气,多多交流
有机会可以了解一下NEON,同时支持浮点的DSP向量运算和定点小数的DSP向量运算。
如果对微架构比较熟悉,浮点峰值是可以自己算的。比如: www.jianshu.com/.../f54c57e9a2cc