ARM指令集和单纯的RISC的区别

来源:互联网 发布:双口网络t型等效电路 编辑:程序博客网 时间:2024/06/05 12:48

ARM内核不是一个纯粹的RISC体系结构,这是为了使它能更好地适应其主要应用领域——嵌入式系统。ARM指令集和单纯的RISC定义有以下几方面的不同。

一些特定指令的周期数可变——并不是所有的ARM指令都是单周期的。例如:多寄存器转载/存储的load/store指令的执行周期就是不确定的,须根据被传送的寄存器个数而定。如果是访问连续的寄存器地址,就可以改善性能,因为连续的内存访问通常比随机访问要快。同时,代码密度也得到了提高,因为在函数的起始和结尾,多个寄存器的传输是很常用的操作。

内嵌桶形移位器产生了更为复杂的指令——内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用之前,内嵌桶形移位器可以处理该寄存器中的数据。它扩展了许多指令的功能,以此改善了内核的性能,提高了代码密度。

Thumb 16位指令集——ARM内核增加了一套称之为Thumb指令的16位指令集,使得内核既能够执行16位指令,也能够执行32位指令,从而增强了ARM内核的功能。16位指令与32位的定长指令相比较,代码密度可以提高约30%。

条件执行——只有当某个特定条件满足时指令才会被执行。这个特性可以减少分支指令的数目,从而改善了性能,提高了代码密度。

增强指令——一些功能强大的数字信号处理器(DSP)指令被加入到标准的ARM指令之中,以支持快速的16X16位乘法操作及饱和运算。在某些应用中,传统的方法需要微处理器加上DSP才能实现。ARM的这些增强指令,使得ARM处理器也能够满足这些应用的需要。

0 0
原创粉丝点击