DMIPS是“Dhrystone MIPS”的缩写,并非字面上每秒百万条指令的意思,它是CPU运行一个叫做Dhrystone的测试程序时表现出来的相对性能高低的一个单位。(很多场合人们也习惯用MIPS作为这个性能指标的单位)。ARM一直采用比较保守的值作为CPU的DMIPS标称值,如ARM926EJ是1.1DMPS/MHz。
因为基于程序的测试容易受到恶意优化的干扰,并且DMIPS指标值的发布不受任何机构的监督,所以使用DMIPS进行评估时要慎重。例如对Dhrystone测试程序进行不同的编译处理,在同一个处理器上运行也可以得出差别很大的结果。
通常,如果某款CPU性能达到1MIPS/MHz以上,就可以被称为“超标量运行”。而DMIPS指标则不同,它是运行一个Dhrystone测试程序的表现结果。所以,Cortex-M3内核按DMIPS/MHz评价得分会超过1,达到1.25,但并不是说在1MHz主频下,每秒就可以执行125万条指令。Cortex-M3内核采用“三级流水线+分支预测”结构,比ARM7要快,但因为没有采用“超标量技术”(该技术代价高昂),所以按MIPS/MHz评价是不可能超过1.0的。 |