ARM之ARM架构命名规则

ARM 224浏览

这里提到的命名规则,应该分成两类。
一类是基于ARM Architecture的版本命名规则;
另一类是基于ARM Architecture版本的处理器系列命名规则。


ARM的架构版本命名规则:Naming of ARM Architecture versions

ARM 架构是构建每个 ARM 处理器的基础。ARM 架构随着时间的推移不断发展,其中包含的架构功能可满足不断增长的新功能、高性能需求以及新兴市场的需要。有关最新公布版本的信息,请参阅

ARMv8 架构

ARM 架构支持跨跃多个性能点的实现,并已在许多细分市场中成为主导的架构。ARM 架构支持非常广泛的性能点,因而可以利用最新的微架构技术获得极小的 ARM 处理器实现和极有效的高级设计实现。实现规模、性能和低功耗是 ARM 架构的关键特性。

ARM 已经开发了架构扩展,从而为 Java 加速 (Jazelle®)、安全性 (TrustZone®)、SIMD
和高级 SIMD (NEON™) 技术提供支持。ARMv8-A 架构增加了密码扩展作为可选功能。

|ARMv
| n | variants | x(variants) 分成四个组成部分:

    ARMv --
固定字符,即ARM Version
    n --
指令集版本号。迄今为之,ARM架构版本发布了7个系列,所以n=[1:7]。其中最新的版本是第7版,具体看ARM官方网站。

    variants --
变种。
    x
variants--
排除x后指定的变种

常见的变种有:
    T -- Thumb
指令集
    M --
长乘法指令
    E --
增强型DSP指令
    J -- Java
加速器Jazelle
    SIMD -- ARM
媒体功能扩展


示例,ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种。

ARM
体系结构的基本版本
1
版本1
该版本的原型机是ARM1,没有用于商业产品。 包括下列指令:

l        
除乘法指令之外的基本的数据处理指令。

版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上CacheARM处理器。版本2a增加了合并LoadStoreSWP)指令。
与版本V
l        
支持协处理器操作指令。
l        
对于FIQ模式,提供了额外的两个备份寄存器。
l         SWP
指令和SWPB指令。
本版本中地址空间是26位,目前已经不再使用。
3
版本3
ARM
公司第一个微处理器ARM6核心是版本3的,它作为IP核、独立的处理器、具有片上高速缓存、MMU和写缓冲的集成CPU


版本3的变种版本有版本3G和版本3M。版本3G是不与版本2a向前兼容的版本3,版本3M引入了有符号和无符号数乘法和乘加指令,这些指令产生全部64位结果。


版本3版较以前的版本有较大的改动,主要包括:

l        
处理器的地址空间扩展到32位,但除了版本3G外的其他版本是向前兼容的,支持26位的地址空间。
l        
当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register)。
l        
增加了程序状态保存寄存器SPSRSaved Program Status Register)。
l        
增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、指令预取中止异常和未定义指令异常。
l        
增加了MRS/MSR指令,用于访问新增的CPSR/SPSR寄存器。
l        
修改了原来的从异常中返回的指令。
4
版本4
版本4增加了下列指令:

l        
有符号和无符号的半字读取和写入指令。
l        
带符号的字节读取和写入指令。
l        
增加了处理器的系统模式(特权模式)。在该模式下,使用的是用户模式下的寄存器。
l        
为结构定义的操作预留一些SWI(软中断指令)空间
版本4中明确定义了哪些指令会引起未定义指令异常,不再强制要求与以前的26位地址空间兼容。
ARMv4T
ARMv4的基础上增加了Thumb指令集:处理器有了Thumb状态,并且有了在ARM状态和Thumb状态切换的指令,处理器在ARM状态执行ARM指令集,在Thumb状态执行Thumb指令集。
ARMv4
ARMv4T结构的处理器得到了广泛的应用。SA-110SA-1110等是基于ARMv4的;ARM7TDMIARM720TARM9TDMIARM940TARM920TIntelStrongARM等是基于ARMv4T版本。
5
版本5
版本5在版本4的基础上增加或修改以下指令:

l        
提高了T变种中ARM/Thumb混合使用的效率。
l        
对于T变种的指令和非T变种的指令使用相同的代码生成技术。
l        
增加了前导零计数(CLZ)指令,该指令可以使整数除法和中断优先级排队操作更为有效。
l        
增加了软件断点(BKPT)指令。
l        
为协处理器设计提供了更多可选择的指令。
l        
更加严格的定义了乘法指令对条件标志位的影响。
l        
带状态切换的子程序调用(BLX)指令。
版本5包括v5TEv5TEJv5TEv5T的基础上增加了信号处理(DSP)指令集,v5TEJ除了具备v5T的功能外,还可以执行JAVA字节代码,是在ARM上执行JAVA指令的效率提高了5-10倍,并且降低了功耗。
ARM1020T
ARMv5T的。
ARM9E-S
ARM966E-SARM1020EARM 1022E以及XScaleARMv5TE的。
ARM9EJ-S
ARM926EJ-SARM7EJ-SARM1026EJ-S是基于ARMv5EJ的。
6
版本6
ARM
体系版本62001年发布的。其目标是在有效的芯片面积上为嵌入式系统提供更高的性能。ARMv6
包含了ARMv5TEJ的所有指令。为了使现有的软件,开发方法、设计技术可再利用,ARMv6兼容了ARMv5的内存管理和异常处理。ARMv6主要在多媒体处理、存储器管理、多处理器支持、数据处理、异常和中断响应等方面做了改进。

l         SIMD
(单指令多数据)指令,可使音视频处理能力提高2-4倍。
l         Thumb-2
新指令集,混合执行AMRThumb代码,可以提供ARM指令级别的性能和Thumb指令级别的代码密度。
l        
混合大小端和非对齐存储访问支持
l         TrustZone
安全技术,在硬件上提供可信区域和不可信区域,两个区域里运行的代码有不同的权限。让经过认证的代码运行在可信区域,未经过认证的代码运行在不可信区域,从而提高系统的安全性。
采用ARMv6核的处理器是ARM11系列。
ARM1136J(F)-S
基于ARMv6主要特性有SIMDThumbJazelleDBX(VFP)MMU
ARM1156T2(F)-S
基于ARMv6T2
主要特性有SIMDThumb-2(VFP)MPU

ARM1176JZ(F)-S
基于ARMv6KZ
ARM1136EJ(F)-S 基础上增加MMUTrustZone

ARM11 MPCore
基于ARMv6K
ARM1136EJ(F)-S基础上可以包括1-4
SMPMMU

7
版本7
2004
年发布了新的ARMv7体系结构。全新的ARMv7是基于ARMv6的,ARMv7采用了Thumb-2技术,体积比32ARM代码减小31%,性能比16Thumb代码高出38%。同时,ARMv7保持了对已有ARM代码的兼容性。此外,ARMv7还支持改良的运行环境,以迎合不断增加的JITJust
In Time
)和DACDynamicAdaptiveCompilation)技术的使用。