ARM架构是构建每个 ARM 处理器的基础。ARM 架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。
可以先来看一张简图:
可见:架构的命名比较规则从ARMv1到ARMv8,数字越大越先进。x(variants) 分成四个组成部分:
ARMv -- 固定字符,即ARM Version
n -- 指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8]。其中最新的版本是第8版,具体看ARM官方网站。
variants -- 变种。
x(variants)-- 排除x后指定的变种
但是处理器系列的命名就比较混乱了,因此接下来以架构的顺序来介绍ARM的历史:
(1)ARMv1、ARMv2 这两代没有做CPU,没有商业化;
(2)ARMv3 对应的 CPU 是 ARM6,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU;
(3)ARMv4 首次增加 Thumb 指令集:
有符号和无符号的半字读取和写入指令。带符号的字节读取和写入指令。
增加了处理器的系统模式(特权模式)。在该模式下,使用的是用户模式下的寄存器。
为结构定义的操作预留一些SWI(软中断指令)空间
ARMv4和ARMv4T结构的处理器得到了广泛的应用。SA-110、SA-1110等是基于ARMv4的;
对应的 CPU 有:ARM7TDMI、ARM720T、 ARM9TDMI、ARM940T、ARM920T、Intel的StrongARM等是基于ARMv4T版本。
(4)ARMv5 包括v5TE和v5TEJ,v5TE在v5T的基础上增加了信号处理(DSP)指令集,v5TEJ除了具备v5T的功能外,还可以执行JAVA字节 代码,是在ARM上执行JAVA指令的效率提高了5-10倍,并且降低了功耗。
对应的 CPU 有:
ARMv5TE指令集:ARM9-E-S,ARM966-E-S,ARM1020-E,ARM1022-E,ARM940-T
ARMv5EJ指令集:ARM926-EJ-S,ARM7-EJ-S,ARM1026-EJ-S
(5)ARMv6 首次增加 SIMD,升级为 Thunmb-2,首次增加TrustZone;
ARMv6是2001年发布的。其目标是在有效的芯片面积上为嵌入式系统提供更高的性能。
对应 CPU 有:ARM1136-J(F)-S,ARM1156-J(F)-S,ARM1176-J(F)-S,ARM11 MPCore
ARMv6是ARM进化史上的一个重要里程碑:从那时候起,许多突破性的新技术被引进,存储器系统加入了很多的崭新的特性,单指令流多数据流(SIMD)指令也是从v6开始首次引入的。而最前卫的新技术,就是经过优化的Thumb‐2指令集,它专为低成本的单片机及汽车组件市场。
(6)ARMv7 首次增加 M(长乘法指令),NEON(DSP+SIMD),2004年发布了新的ARMv7体系结构。在这个版本中,内核架构首次从单一款式变成3种款式。
CPU 系列名字为“Cortex”,分为了3个款式:A、R、M & SC;
(6.1)A 系列,支持大型嵌入式系统,如手机;
节能:A5,A7
平衡:A8,A9
性能:A15,A17
(6.2)R 系列,Real-time 处理器,即执行一个指令段的耗时是固定时钟周期数,用于高端的嵌入式系统,尤其是那些带有实时要求的--又要快又要实时。
用于比如汽车控制,这种不允许随机执行时间的应用
功能安全:R4,R5
存储、调制解调:R7,R8
(6.3)M 系列,单片机市场,抢8051的生意;
超低的功耗、面积:M0,M0+
平衡:M3,M4,M7
(6.4)SC(SecurCore)系列,主打“安全”,面向支付、政府、SIM 卡
SC000,SC300;
(7)ARMv8 首次增加 指令集A64,可执行64位指令;可在 32位 和 64位 之间切换;是ARM公司为满足新需求而重新设计的一个架构,是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经和我们对旧的ARM架构的认知,有很大差距了。
(7.1)A 系列,
节能:A32,A35
平衡:A53,
性能:A57,A72,A73
(7.2)R 系列
功能安全:R52
(7.3)M 系列,
超低的功耗、面积:M23
平衡:M33
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』