微控制器如何实现> 1 MIPS / MHz的性能?


19

类似,它的频率为1.49 DMIPS / MHz。即使进行流水线操作,每个周期仍然只有1个执行阶段,对吗?


该微控制器部分中唯一典型的超标量事物是MADD-单周期乘法和加法。虽然,它对Drystone并没有太大帮助。
BarsMonster 2012年

DSP是微控制器,它们可以具有傅里叶变换,阵列乘法等硬件实现。它们也算在内吗?这种测量方法在这里适用吗?即使是非常老的DPS也可以在一条指令中对16个不同的寄存器执行8次乘法。
vsz 2012年

5
有谎言,该死的谎言和基准…

Answers:


18

DMIPS和MIPS不同。DMIPS代表“ Dhrystone MIPS”,它是比较不同指令集上不同微控制器/微处理器性能的标准。该标准不再是新的(*),因此参考处理器可以在1秒钟内以1 DMIPS / MHz的速度执行操作,而在相同的时钟速度下可能需要更先进的控制器670 ms,这仅仅是因为它将在1条指令中执行某些操作而另一个控制器可能需要2条指令,或者一条指令需要更多的机器周期。

例如,16位体系结构通常比8位体系结构和32位体系结构具有更好的Dhrystone性能,而32位体系结构(如您所指)则更好。


(*)m.Alin是指更新的CoreMark基准测试。请注意,这是用C编写的,因此实际上您还将结果包括编译器的性能(就像Dhrystone,BTW一样)。


但是Dhrystone的结果还取决于编译器(它也是用C编写的),对吗?摘自Wikipedia:Dhrystone的大部分内容容易受到编译器优化工作的影响;因此,它更像是编译器基准测试,而不是硬件基准测试
m.Alin

1
@ m.Alin-当然,我不想提出其他建议。我会澄清我的答案。感谢您的反馈。
stevenvh 2012年

10

DMIPS是相对度量,而不是绝对度量。与MIPS相对,它实际上衡量的是uC可以执行有用的操作的速度,而不仅仅是执行指令的速度。

与任何基准测试一样,它也有其局限性,但是一种简单的查看方法是,与VAX 11/780(1 MIPS机器)相比,它可以完成基准测试代码的速度有多快
,例如,如果您的uC完成基准测试的速度快100倍与VAX 11/780相比,您有一台100DMIPS的计算机。如果以100MHz运行,则其额定值为1 DMIPS / MHz。

请注意,通常在正常使用中无法获得标称的DMIPS,尤其是在具有闪存速度,预取,等待时间/丢失等的大型uC上。是对PIC32 DMIPS性能的良好讨论。该链接包含一些用于微控制器的Dhrystone代码。


您的维基百科链接说Drystone标准已经有28年的历史了。您知道是否还有更多最新的绩效评估工具?谢谢。
Federico Russo 2012年

3
@FedericoRusso CoreMark
m.Alin,2012年

@FedericoRusso:关于性能测量的事情是比较的。如果更改比较方法,则所有现有结果都将变得无用。因此,Dhrystone的寿命长。
克利福德2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.