打印
[ZLG-MCU]

看了很多,还没明白 CM3 的 1.25MDIPS 是怎么实现的

[复制链接]
1779|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
airwill|  楼主 | 2008-12-30 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zlgmcu| | 2008-12-31 09:19 | 只看该作者

关于DMIPS

  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的。

使用特权

评论回复
板凳
airwill|  楼主 | 2009-1-1 09:51 | 只看该作者

谢谢, 我还以为真的超标量了!

    我按照超标量要求的降低寄存器相关性的汇编代码测试, 没有发现寄存器相关性对运行速度的影响.
    这 MDIPS 的概念好抽象哪

使用特权

评论回复
地板
群星2008| | 2009-1-4 08:47 | 只看该作者

楼主问题的是MDIPS,不是DMIPS哦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

556

主题

17724

帖子

884

粉丝