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内核由于具有分支预测功能,当遇到跳转指令时,在译码阶段就被识别,并自动加载跳转目的指令的地址,流水线不会被清空,指令的执行效率得到提高。