嵌入式arm热门培训内容之ARM指令集特点


ARM处理器是基于RISC的,但不是纯粹的RISC体系结构。为了使ARM处理器能够更好的满足嵌入式系统的需要,ARM指令集和单纯的RISC指令集有以下几点不同:


1、一些特定的指令周期数可变。例如多寄存器装载或存储的Load/Store指令执行周期就是不确定的,这个会根据相关的寄存器个数而定。如果是访问连续的内存地址,就可以改善性能,因为连续的内存访问比随机访问要快。根据这个特点,由于在函数的起始和结尾通常会有多个寄存器与内存进行数据交换的操作,因此相应操作的指令条数会减少,提高了代码的密度。


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


3、Thumb16位指令集。ARM处理器有两种工作状态,一种是ARM状态,一种是Thumb状态。ARM状态下指令长度为32位,Thumb状态下指令长度为16位。这种特点使得ARM既能执行16位指令,又能执行32位指令,从而增强了ARM内核的功能。


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


5、增强指令。一些功能强大的数字信号处理器(DSP)指令被加入到标准的ARM指令中,以支持快速的16*16乘法操作及饱和运算。ARM的这些增强指令,使得ARM处理器不需要加上DSP即可实现。


立即咨询有惊喜哦 !