ARM体系结构之:ARM体系结构的特点
为了使ARM指令集能够更好地满足嵌入式应用的需要,ARM指令集和单纯的RISC定义有以下几方面的不同。
· 一些特定指令的周期数可变
并非所有的ARM指令都是单周期的。例如,多寄存器转载/存储的Load/Store指令的周期数就不确定,必须根据被传送的寄存器个数而定。如果是访问连续的存储器地址,就可以改善性能,因为连续的存储器访问通常比随机访问要快。同时,代码密度也得到了提高,因为在函数的起始和结尾,多个寄存器的传输是很常用的操作。
· 内嵌桶形移位器产生更复杂的指令
内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用之前,内嵌桶形移位器可以处理该寄存器中的数据。它扩展了许多指令的功能,改善了内核的性能,提高了代码密度。
· Thumb指令集
ARM处理器根据RICS原理设计,但是由于各种原因,在低代码密度上它比其他多数RICS要好一些,然而它的代码密度仍不如某些CISC处理器。在代码密度重要的场合,ARM公司在某些版本的ARM处理器中加入了一个称为Thumb结构的新型机构。Thumb指令集是原来32位ARM指令集的16位压缩形式,并在指令流水线中使用了动态解压缩硬件。Thumb代码密度优于多数CISC处理器达到的代码密度。
· 条件执行
只有当某个特定条件满足时指令才会被执行。这个特性可以减少分支指令数目,从而改善性能,提高代码密度。
· DSP指令
一些功能强大的数字信号处理(DSP)指令被加入到标准的ARM指令中,以支持快速的16×16位乘法操作及饱和运算。在某些应用中,传统的方法需要微处理器加上DSP才能实现。这些增强指令,使得ARM处理器也能够满足这些应用的需要。
综上所述,ARM体系结构的主要特征如下:
· 大量的寄存器,它们都可以用于多种用途;
· Load/Store体系结构;
· 每条指令都条件执行;
· 多寄存器的Load/Store指令;
· 能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作;
· 通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型。
如果把Thumb指令集也当作ARM体系结构的一部分,那么还可以加上:
· 在Thumb体系结构中以高密度16位压缩形式表示指令集。
存储器相关文章:存储器原理
矢量控制相关文章:矢量控制原理
评论