暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ARM系列专题|ARM的不同版本架构有什么去区别?

大鑫专栏 2021-12-21
4614

多一种选择,多一种人生




大鑫有话说:上篇文章大鑫给大家简单介绍了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技术等。





星标+关注公众号

精彩内容抢先看

大鑫专栏


点个在看你最好看




文章转载自大鑫专栏,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论