首页 理论教育ARM体系结构的发展及应用

ARM体系结构的发展及应用

【摘要】:ARM处理器体系结构从出现到现在,经过了多次较大的改进,并在不断地完善和发展中,且指令集也在不断地修改和增加。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了5种主要的ARM指令集体系结构版本,以版本号V1~V5表示。V6版是2011年发布的,首先在2002年春季发布的ARM11处理器中使用。

ARM处理器体系结构从出现到现在,经过了多次较大的改进,并在不断地完善和发展中,且指令集也在不断地修改和增加。ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:

(1)大的、统一的寄存器文件;

(2)装载/保存结构,数据处理操作只针对寄存器的内容,而不直接对存储器进行操作;

(3)简单的寻址模式;

(4)统一和固定长度的指令域,简化了指令的译码。

1.ARM体系结构的特点

(1)每条数据处理指令都对算术逻辑单元和移位器控制,以实现ALU和移位器的最大利用;

(2)地址自动增加和减少寻址模式,优化程序循环;

(3)多寄存器装载和存储指令实现最大数据吞吐量;

(4)所有指令的条件执行实现最快速的代码执行。

2.各ARM体系结构版本

ARM体系结构从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了5种主要的ARM指令集体系结构版本,以版本号V1~V5表示。

(1)V1版本。该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为:

①基本的数据处理指令(不包括乘法);

②字节、字和半字加载/存储指令;

③具有分支指令,包括在子程序调用中使用的分支

④在操作系统调用中使用的软件中断指令。

(2)V2版本。同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进:

①具有乘法和乘加指令;

②支持协处理器;

③快速中断模式中的两个以上的分组寄存器;

④具有原子性加载/存储指令SWP和SWPB。

(3)V3版本。寻址范围扩展到32位(事实上也基本废弃),具有独立的程序:

①具有乘法和乘加指令;(www.chuimin.cn)

②支持协处理器;

③快速中断模式中具有的两个以上的分组寄存器;

④具有原子性加载/存储指令SWP和SWPB。

(4)V4版本。不在为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进:

①半字加载/存储指令;

②字节和半字的加载和符号扩展指令;

③具有可以转换到Thumb状态的指令;

④用户模式寄存器的新的特权处理器模式

(5)V5版本。在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并增加了指令,具体如下:

①改进了ARM/Thumb状态之间的切换效率;

②允许非T变量和T变量一样,使用相同的代码生成技术;

③增加计数前导零指令和软件断点指令;

④对乘法指令如何设置标志作了严格的定义。

(6)V6版本。V6版是2011年发布的,首先在2002年春季发布的ARM11处理器中使用。在降低耗电量的同时,还强化了图形处理性能。通过追加有效进行多媒体处理的单指令多数据(SIMD)功能,将语音及图像的处理功能提高到了原机型的4倍。此价格在V5版本上增加了以下功能:

①ThumbleTM:35%代码压缩;

②DSP扩充:高性能定点DSP功能;

③JazelleTM:Java性能优化,可提高8倍;

④Media扩充:音视频性能优化,可提高4倍。

(7)V7版本。V7版是2005年发布的,它首次采用了强大的信号处理扩展集,对H.264和MP3等媒体编解码提供加速。V7版具有下述特点:

①采用了Thumb-2技术,减少了内存的占用;

②采用NEON技术;

③支持改良的浮点运算。

(8)V8版本。V8版是基于32位的V7版而来的,它发布于2011年。V8版的特点是将64位架构支持引入ARM架构中,比如64位通用寄存器、堆栈指针SP和程序计数器PC;64位数据处理和扩展的虚拟寻址。同时V8版保留了TrustZone安全执行环境、虚拟化、NEON等关键技术特性。