Date: 2018.7.29
转载自:https://zhuanlan.zhihu.com/p/25681832
1、“指令集架构”命名
| 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变种
2、“处理器系列”命名
2.1 在 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【?不确定】
2.2 在 ARMv7 以后时期
公司改革了以前的冗长的命名方法,用看起来比较整齐的办法,统一用 Cortex 作为主名。
3、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
THE END!