
多一种选择,多一种人生
大鑫有话说:上篇文章大鑫给大家简单介绍了ARM,但又感觉有些浅显和意犹未尽,所以也开启了一个新的专题系列,此篇文章延续上篇,给大家进一步的介绍ARM的有关知识。大鑫随时欢迎友友们在评论区开展一波激烈的大讨论哦~
01

ARM版本信息总汇
AEM内核(架构)版本及处理器版本
ARMv1:ARM1
ARMv2:ARM2、ARM3
ARMv3:ARM6、ARM7
ARMv4:StrongARM、ARM7TDMI、ARM9TDMI
ARMv5:ARM7EJ、ARM9E、ARM10E、XScale
ARMv6:ARM11、ARMCortex-M
ARMv7:ARMCortex-A、ARMCortex-M、ARMCortex-R
ARMv8:ARMCortex-A30、ARMCortex-A50、ARMCortex-A70
02

各版本具体介绍及对比
01
ARM版本I:V1版架构

该架构只在原型机ARM1出现过,有26位的寻址空间,目前未曾用于商业用途。
基本性能:
基本的数据处理指令(无乘法) 基于字节、半字节和字的Load/Store指令 转移指令,包括子程序调用及链接指令 供操作系统使用的软件中断指令SWI 寻址空间:64MB(226)
02
ARM版本II:V2版架构

V2版本架构是对V1版本架构的发展和拓展。例如ARM2和ARM3(V2a)架构,包含了对32位乘法指令和协处理器指令的支持。版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM处理器。同样为26位寻址空间,但现在已经被废弃了。
V2版本架构在V1版本架构的基础上增加了许多新功能:
乘法和乘加指令 支持协处理器操作指令 快速中断模式 SWP/SWPB的最基本储存器和寄存器交换指令 寻址空间:64MB
03
ARM版本III:V3版架构

ARM公司设计的第一个微型处理器ARM6采用的就是V3版本,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU。变种版本有3G和3M。版本3G是不与版本2a向前兼容的版本3,版本3M引入了有符号和无符号数乘法和乘加指令,这些指令产生全部64位结果。
虽然V3版本目前也已经废弃,但其却对ARM体系结构进行了很大的改动:
当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register) 增加了程序状态保存寄存器SPSR(Saved Program Status Register)
增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预 取中止异常和未定义指令异常。 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器 增加了从异常处理返回的指令功能 寻址空间增至32位(4GB)
04
ARM版本IV:V4版架构

V4版本架构是目前应用最广的ARM体系结构,ARM7、ARM8、ARM9和StrongARM都采用该架构。V4版本架构又在V3版本架构的基础上进一步发展,不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令失常。
指令集中增加的功能:
符号化和非符号化半字及符号化字节的存/取指令 增加了T变种,处理器可工作在Thumb状态,增加了16位Thumb指令集 完善了软件中断SWI指令的功能 处理器系统模式引进特权方式时使用用户寄存器操作 把一些未使用的指令空间捕获为未定义指令
05
ARM版本V:V5版架构

ARM10和Xscale都采用的是V5版本架构,其又在V4版本基础上增加了一些新命令:
带有链接和交换的转移BLX指令 计数前导零CLZ指令;BRK中断指令 增加了数字信号处理指令(V5TE版) 为协处理器增加更多可选择的指令 改进了ARM/Thumb状态之间的切换效率 E----增强型DSP指令集,包括全部算法操作和16位乘法操作 J----支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能
06
ARM版本VI:V6版架构

V6版本架构首先在2002年春季发布的ARM11处理器中使用。在降低耗电量地同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD(Single Instruction, Multiple Data,单指令多数据 )功能,将语音及图像的处理功能提高到了原型机的4倍。
V45版本架构有也在V5版本架构的基础上增加了许多新功能:
THUMBTM:35%代码压缩; DSP扩充:高性能定点DSP功能; JazelleTM:Java性能优化,可提高8倍; Media扩充:音/视频性能优化,可提高4倍
07
ARM版本VII:V7版架构

V7版本架构采用了Thumb-2技术,它是在ARM的Thumb代码压缩技术的基础上发展起来的, 并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用31%的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。
另外,ARMv7架构还采用了NEON技术,将DSP和媒体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环境,迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。
08
ARM版本VIII:V8版架构

V8版本架构是在32位ARM架构上进行开发的,将被首先用于对扩展虚拟地址和64位数据处理技术有更高要求的产品领域,如企业应用、高档消费电子产品。ARMv8架构包含两个执行状态:AArch64和AArch32。AArch64执行状态针对64位处理技术,引入了一个全新指令集A64;而AArch32执行状态将支持现有的ARM指令集。目前的ARMv7架构的主要特性都将在ARMv8架构中得以保留或进一步拓展,如:TrustZone技术、虚拟化技术及NEON advanced SIMD技术等。




星标+关注公众号
精彩内容抢先看

大鑫专栏



点个在看你最好看