ARM体系结构从最初开发到现在有了很大的改进,并仍在完善和发展。为了清楚地表达每个ARM应用实例所使用的指令集,ARM公司定义了6种主要的ARM指令集体系结构版本,以版本号V1~V7表示。
1)ARM版本Ⅰ:V1版架构
V1版架构只在原型机ARM1出现过,只有26位的寻址空间,没有用于商业产品。其基本性能有:
①基本的数据处理指令(无乘法);
②基于字节、半字和字的Load/Store指令;
③转移指令,包括子程序调用及链接指令;
④供操作系统使用的软件中断指令SWI;
⑤寻址空间:64 MB(226)。
2)ARM版本Ⅱ:V2版架构
V2版架构对V1版进行了扩展,例如ARM2和ARM3(V2a)架构,包含了对32位乘法指令和协处理器指令的支持。版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM处理器。同样为26位寻址空间,现在已经废弃不再使用。V2版架构与版本V1相比,增加了以下功能:
①乘法和乘加指令;
②支持协处理器操作指令;
③快速中断模式;
④SWP/SWPB的最基本存储器与寄存器交换指令;
⑤寻址空间:64 MB。
3)ARM版本Ⅲ:V3版架构
ARM作为独立的公司,在1990年设计的第一个微处理器采用的是版本3的ARM6。它作为IP核、独立的处理器,具有片上高速缓存、MMU和写缓冲的集成CPU。V3版架构(目前已废弃)对ARM体系结构作了较大的改动:
①寻址空间增至32位(4 GB);
②当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR(Current Program Status Register)中;
③增加了程序状态保存寄存器SPSR(Saved Program Status Register);
④增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常;
⑤增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;
⑥增加了从异常处理返回的指令功能。
4)ARM版本Ⅳ:V4版架构
V4版架构在V3版上作了进一步扩充,V4版架构是目前应用最广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常。指令集中增加了以下功能:
①符号化和非符号化半字及符号化字节的存/取指令;
②增加了T变种,处理器可工作在Thumb状态,增加了16位Thumb指令集;
③完善了软件中断SWI指令的功能;
④处理器系统模式引进特权方式时使用用户寄存器操作;(www.xing528.com)
⑤把一些未使用的指令空间捕获为未定义指令。
5)ARM版本Ⅴ:V5版架构
V5版架构是在V4版基础上增加了一些新的指令,ARM10和Xscale都采用该版架构。这些新增命令有:
①带有链接和交换的转移BLX指令;
②计数前导零CLZ指令;
③BRK中断指令;
④增加了数字信号处理指令(V5TE版),为协处理器增加更多可选择的指令;
⑤改进了ARM/Thumb状态之间的切换效率;
⑥E——增强型DSP指令集,包括全部算法操作和16位乘法操作;
⑦J——支持新的Java,提供字节代码执行的硬件和优化软件加速功能。
6)ARM版本Ⅵ:V6版架构
V6版架构是2001年发布的,首先在2002年春季发布的ARM11处理器中使用。在降低耗电量的同时,还强化了图形处理性能。通过追加有效进行多媒体处理的单指令多数据(Single Instruction Multiple Data,SIMD)功能,将语音及图像的处理功能提高到了原型机的4倍。此架构在V5版的基础上增加了以下功能:
①THUMBTM:35%代码压缩;
②DSP扩充:高性能定点DSP功能;
③JazelleTM:Java性能优化,可提高8倍;
④Media扩充:音/视频性能优化,可提高4倍。
7)ARM版本:V7版架构
ARM 11之后分成3类,即A系列、R系列和M系列,并且不再采用ARM序号命名,有了个新名字Cortex。Cortex-A系列面向尖端的基于虚拟内存的操作系统和用户应用,比如智能手机和掌上电脑基本都是这个系列;Cortex-R系列针对实时系统,比如汽车电子使用的就是该系列;Cortex-M系列针对微控制器。
V7架构增加了以下功能:
①使用范围:1.5~2.5 GHz四核、八核或更高配置;
②设备特性:高端整数、浮点数性能;
③可伸缩性:“大集成”>4个核,TCO更低;
④大内存设备:支持最高1 TB、硬件虚拟化支持;
整个ARM核的发展历程如图2.1所示,目前ARM技术还在不断发展和完善中。
图2.1 ARM核的发展历程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。