Cortex指令集相比ARM的优势

来源:互联网 发布:linux删除一个目录 编辑:程序博客网 时间:2024/04/28 01:51


 

优势一:支持的Thumb-2指令集

Cortex-M3支持的Thumb-2指令集,它是一种16/32位混合编码指令,兼容Thumb指令。对于一个应用程序编译生成的Thumb2代码,以接近Thumb编码的代码尺寸,达到了接近ARM编码的运行性能。Thumb2是一种紧凑、高效的新一代指令集。

Thumb2指令集是面向高级语言的指令集,适合于C语言编程,由编译器生成目标代码。

 

优势二:支持存储器非对齐访问

基于Cortex-M3的MCU,为提高性能,其内部存储器(Flash、RAM)都是32位编址的。这样当常量、变量是字节或半字类型时,如果处理器只支持对齐访问(以往的处理器都是如此),那么这些字节/半字类型的数据也必须被分配、占用一个32位的存储单元,这样就浪费了部分存储空间。

Cortex-M3支持存储器的非对齐访问,它可以访问存储在一个32位单元中的字节/半字类型数据,这样4个字节类型(或2个半字类型)数据可以被分配在一个32位的单元中,提高了存储器的利用率。这种技术可以节省SRAM使用量,从而可以选择SRAM较小、更廉价的MCU。

 

优势三:支持分支预测

ARM Cortex-M3与ARM7内核一样,采用适合于微控制器应用的三级流水线,但增加了分支预测功能。现代高性能流水线处理器中一般都加入了分支预测部件,就是在处理器从存储器预取指令时,当遇到分支指令时,能自动预测跳转是否会发生,再从预测的方向进行取指,从而提供给流水线连续的指令流,流水线就可以不断地执行有效指令,保证了其性能的发挥。

ARM Cortex-M3内核的预取部件具有分支预测功能,可以预取分支目标地址的指令,使分支延迟减少到一个时钟周期。

 

 

优势四:支持位绑定操作

以前的ARM内核不支持位操作,当需要对一个变量或端口的某一位操作时,先要用逻辑与/或指令屏蔽其他的位,使位操作需要较多的指令和时钟周期。ARM Cortex-M3采用了一种特殊的方法——位绑定:把一个地址单元的32位变量中的每一位,通过一个简单的地址转换算法,映射到另一个地址空间,每一位占用一个地址,对此地址空间的操作,只有数据的最低一位是有效的,其余高31位的值被忽略。这样对新的映射空间操作时,就可以不用屏蔽操作,优化了RAM和I/O寄存器的读写,提高了位操作的速度。

 

优势五:位硬件除法和单周期乘法

以往的ARM处理器没有除法指令,在某些除法密集型应用中性能不尽如意。Cortex-M3加入了32位除法指令,弥补了这一缺陷,使Cortex-M3可以和其他通用处理器一样,完成各种数学运算操作。

0 0
原创粉丝点击