Cortex-M3与ARM7的性能比较



Cortex-M3与ARM7的性能比较

名称                                     ARM7TDMI                                           Cortex-M3

 构架                                    ARMv4T(冯*诺依曼)                        ARMv7-M(哈佛)

ISA支持                               Thumb/ARM                                          Thumb/Thumb-2

流水线                                 3级                                                         3级+分支预测

中断                                     FIQ/IRQ                                                  240个物理中断

中断延时                              24-42个时钟周期                                   12个时钟周期(末尾连锁仅6个)

休眠保护                              无                                                           内置

存储器保护                          无                                                            8段存储器保护单元

硬件除法                              无                                                            2-12个时钟周期

运行速度                              0.95DMIPS/MHz                                     1.25DMIPS/MHz

 功耗                                    0.28mW/MHz                                          0.19mW/MHz

面积                                     0.62平方毫米(仅内核)                        0.86平方毫米(内核+外设)

Cortex-M3内核采用哈佛结构,即内部的指令总线和数据总线是相互独立分开的,指令和数据可以从存储器中同时读取,对多个操作可以并行执行,加快了应用程序执行速度。与ARM7TDMI相比,每兆赫兹Thumb指令的效率提高70%,比ARM指令提高35%

 Cortex-M3带分支预测的三级流水线。 Cortex-M3处理器使用3级流水线来增加指令流的速度,这样可使几个操作同时进行,并使处理和存储系统之间的操作更加流畅、连续,能提供1.25MIPS/MHz的指令执行速度

3级流水线的指令执行分为3个阶段

1:取指 从存储器装载一条指令

2:译码 识别将要执行的指令,分支预测在此阶段完成

3:执行 处理指令并将结果写会寄存器

 ARM7虽带三级流水线,但由于没有分支预测功能,当遇到跳转指令时,指令只有到执行阶段才知道需要跳转,跳转时需要清空流水线,对处理器的运行效率造成一定的影响。而Cortex-M3内核由于具有分支预测功能,当遇到跳转指令时,在译码阶段就被识别,并自动加载跳转目的指令的地址,流水线不会被清空,指令的执行效率得到提高。