|
ARM系列微处理器的核心及体系结构 | ||||||||
序号 | ARM微处理器核心 | 体系结构版本 | ||||||
1 | ARM1 | v1 | ||||||
2 | ARM2 | v2 | ||||||
3 | ARM2AS ARM3 | v2a | ||||||
4 | ARM6、ARM600、ARM610、ARM7、ARM700、ARM710 | v3 | ||||||
5 | StrongARM、ARM8、ARM810 | v4 | ||||||
6 | ARM7TDMI、ARM710T、ARM720T、ARM740T、ARM9TDMI、ARM920T、ARM940T | v4T | ||||||
7 | ARM9E-S、ARM10TDMI、ARM1020E | v5TE | ||||||
8 | ARM1136J(F)-S、ARM1176JZ(F)-S、ARM11 MPCore | v6 | ||||||
9 | ARM1156T2(F)-S | v6T2 | ||||||
10 | ARM Cortex-M、ARM Cortex-R、ARM Cortex-A | v7 |
ARM指令集体系结构版本对比 | ||||||||
体系结构版本 | 特点 | |||||||
v1 | 没有商用化,只在原型机ARM1上出现过。它的寻址空间为64MB,只提供基本的数据处理指令,甚至不包括乘法指令。此外,v1提供基于字节、字、多字的Load/Store存储器访问指令;子程序调用指令(BL)和链接指令;完成操作系统调用的软件中断指令SWI。 | |||||||
v2 | 版本v2和v2a都是v1的扩展。相对于v1,v2增加了一些功能:它支持乘法指令和乘加指令;支持协处理器操作指令;对于快速中断(FIQ)提供影子寄存器支持;支持SWP和SWPB指令,实现最基本的存储器和寄存器内容的交换。 | |||||||
v3 | v3相对于v1和v2有较大变化,分为三个方面:1、地址空间扩展到32位,而且向前兼容26位的地址空间;2、v3增加了两个非常重要的寄存器:CPSR和SPSR,同时为了方便读写这两个寄存器,v3还增加了两条指令:MSR指令和MRS指令,MSR将通用寄存器中的值还原到状态寄存器,MRS将状态寄存器的值保存到通用寄存器中;3、v3增加了两种异常模式:中止(Abort)和未定义两种异常模式。 | |||||||
v4 | v4和之前版本相比在很多地方有飞跃性创新,是被广泛应用的ARM体系结构。1、引入了Thumb状态,以兼容数据总线宽度为16位的应用系统,该状态下指令集为16位,和ARM状态下32位指令集在程序执行中能够相互切换;2、v4在处理器系统模式上增加了系统模式,在该模式下处理器使用的是用户模式下的寄存器;3、增加了对有符号、无符号半字和有符号字节的存/取指令。 | |||||||
v5 | v5版本是在v4基础上增加了一些新的指令,v5版本主要分两个变型版本:v5T和v5TE。v5在v4基础上指令集主要有以下变化:1、提高了ARM指令集和Thumb指令集混合使用的频率;2、增加了前导零技术(CLZ)指令,使整数除法和中断优先级排队操作更有效;3、引入了软件断点(BKPT)指令,可以用来进行中断调试;4、增加了数字信号处理指令(v5TE版)。 | |||||||
v6 | v6在性能上有大幅提升的同时在多媒体处理能力上的提升也很大。1、v6具备高性能定点DSP功能;2、引入Jazelle技术,有效降低了Java应用程序对内存的空间占用;3、在多媒体处理处理性能上,v6在降低耗电量的前提下提高了图像处理能力,通过支持SIMD技术(Single Instruction Multiple Data,单指令流多数据流技术),是语音和图像处理能力提高到原型机的4倍;4、v6支持多微处理器内核。 | |||||||
v7 | v7版本在性能和多媒体处理能力方面进一步改进。1、v7采用Thumb-2技术,该技术比纯32位代码减少了31%的内存占用,却能够提供比已有的基于Thumb技术的解决方案高出38%的性能表现;2、向前兼容为早期处理器编写的代码;3、*采用NEON技术(进阶SIMD延伸集),是一个结合64位和128位的SIMD指令集,从而将DSP和媒体处理能力提高了近4倍;4、支持改良的浮点运算;5、支持改良的运行环境,以迎合不断增加的JIT和DAC技术的使用。 |