ARM 的 V4、V5 版本的区别
ARM 作为独立的公司,在 1990 年设计的第一个微处理器采用的是版本 3
的 ARM6。它作为 IP 核、独立的处理器、具有片上高速缓存、MMU 和写缓冲
的集成 CPU。变种版本有 3G 和 3M。版本 3G 是不与版本 2a 向前兼容的版本
3,版本 3M 引入了有符号和无符号数乘法和乘加指令,这些指令产生全部 64
位结果。V3 版架构( 目前已废弃 )对 ARM 体系结构作了较大的改动:寻址
空间增至 32 位(4GB);当前程序状态信息从原来的 R15 寄存器移到当前
程序状态寄存器 CPSR 中(Current Program Status Register);增加了程
序状态保存寄存器 SPSR(Saved Program Status Register);增加了两种
异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异
常和未定义指令异常;增加了 MRS/MSR 指令,以访问新增的 CPSR/SPSR 寄
存器;增加了从异常处理返回的指令功能。
而 V4 版架构在 V3 版上作了进一步扩充,V4 版架构是目前应用最广的
ARM 体 系 结 构 ,
ARM7TDMI、ARM720T、ARM9TDMI、ARM940T、ARM920T、Intel 的
StrongARM 都采用该架构。V4 不再强制要求与 26 位地址空间兼容,而且还
明确了哪些指令会引起未定义指令异常。指令集中增加了以下功能:符号化和
非符号化半字及符号化字节的存 /取指令;增加了 T 变种,处理器可工作在
Thumb 状态,增加了 16 位 Thumb 指令集;完善了软件中断 SWI 指令的功能;
处理器系统模式引进特权方式时使用用户寄存器操作;把一些未使用的指令空
间捕获为未定义指令。
V5 版架构是在 V4 版基础上增加了一些新的指令,ARM10 采用该版架
构,ARM9E-S、ARM966E-S、ARM1020E、ARM 1022E 以及 XScale 是基
于 ARMv5TE 的,而 ARM9EJ-S、ARM926EJ-S、ARM7EJ-S、ARM1026EJ-S
是基于 ARMv5EJ 的。这些新增命令有:带有链接和交换的转移 BLX 指令;计
数前导零 CLZ 指令;BRK 中断指令;增加了数字信号处理指令(V5TE 版);
为协处理器增加更多可选择的指令;改进了 ARM/Thumb 状态之间的切换效率;
E---增强型 DSP 指令集,包括全部算法操作和 16 位乘法操作;J----支持新的
JAVA,提供字节代码执行的硬件和优化软件加速功能。
评论1