结论:我们所接触到提到的命名规则,应该分成两类。
-
基于ARM Architecture版本的"指令集架构"命名规则:例如armv6, armv7, armv7s, arm64 等系列是ARM CPU的不同指令集,原则上是向下兼容的。
-
基于ARM Architecture版本的"处理器系列"命名规则
比如: s3c2410采用ARMv4T架构版本,ARM920T处理器系列
指令集命名规则
ARM 指令集架构命名规则:
| ARMv | n | variants | x(variants) |
分成四个组成部分:
·ARMv : 固定字符,即ARM Version
·n : 指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8]。
·variants : 变种。
·x(variants) : 排除x后指定的变种
常见的variants有以下字母可选:
·T : Thumb指令集
·M : 长乘法指令
·E : 增强型DSP指令
·J : Java加速器Jazelle
·SIMD : ARM媒体功能扩展
比如:ARMv5TxM表示ARM指令集版本为5,支持T变种,不支持M变种
"处理器系列"命名
在 ARMv3 ~ ARMv6 时期
ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}
·x : 处理器系列
·y : 存储管理/保护单元
·z : cache
·T : 支持Thumb指令集
·D : 支持片上调试
·M : 支持快速乘法器
·I : 支持Embedded ICE,支持嵌入式跟踪调试
·E : 支持增强型DSP指令
·J : 支持Jazelle
·F : 具备向量浮点单元VFP
·-S : 可综合版本
比如:ARM926, 属于ARMv5指令集架构的,CPU是 ARM9系列的,2个存储管理/保护单元,6个 Cache。
在 ARMv7 以后时期
ARM公司改革了以前的冗长的命名方法,用看起来比较整齐的办法,统一用 Cortex 作为主名。
ARMv7架构是在ARMv6架构的基础上诞生的。该架构采用了Thumb-2技术,Thumb-2技术是在ARM的Thumb代码压缩技术的基础 上发展起来的,并且保持了对现存ARM解决方案的完整的代码兼容性。Thumb-2技术比纯32位代码少使用 31%的内存,减小了系统开销。同时能够提供比已有的基于Thumb技术的解决方案高出38%的性能。ARMv7架构还采用了NEON技术,将DSP和媒 体处理能力提高了近4倍,并支持改良的浮点运算,满足下一代3D图形、游戏物理应用以及传统嵌入式控制应用的需求。此外,ARMv7还支持改良的运行环 境,以迎合不断增加的JIT(Just In Time)和DAC(DynamicAdaptive Compilation)技术的使用。另外,ARMv7架构对于早期的ARM处理器软件也提供很好的兼容性。
ARMv7架构定义了三大分工明确的系列:"A"系列面向尖端的基于虚拟内存的操作系统和用户应用;"R"系列针对实时系统;"M"系列对微控制器和低成本应用提供优化
ARM命名历史
(1)ARMv1、ARMv2 这两代没有做CPU,没有商业化;
(2)ARMv3 对应的 CPU 是 ARM6;
(3)ARMv4 首次增加 Thumb 指令集;
对应的 CPU 有:ARM7-TDMI,ARM720-T,ARM9-TDMI,ARM920-T,ARM940-T
(4) ARMv5 改进了 Thumb,首次增加 E(增强型DSP指令)、J(Java加速器Jazelle);
对应的 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;
对应 CPU 有:ARM1136-J(F)-S,ARM1156-J(F)-S,ARM1176-J(F)-S,ARM11 MPCore
(6)ARMv7 首次增加 M(长乘法指令),NEON(DSP+SIMD)
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
SC(SecurCore)系列,主打"安全",面向支付、政府、SIM 卡;SC000,SC300;
(7)ARMv8 首次增加 指令集A64,可执行64位指令;可在 32位 和 64位 之间切换;
(7.1)A 系列,
节能:A32,A35
平衡:A53,
性能:A57,A72,A73
(7.2)R 系列
功能安全:R52
(7.3)M 系列,
超低的功耗、面积:M23
平衡:M33