由于ARM体系版本较多,功能也不尽相同,因此在命名上存在一些规范。
下表是有效的版本命名方式。
名称 | ARM指令集版本号 | Thumb指令集版本号 | M变种 | E变种 |
ARMv3 | 3 | 无 | 否 | 否 |
ARMv3M | 3 | 无 | 是 | 否 |
ARMv4xM | 4 | 无 | 否 | 否 |
ARMv4 | 4 | 无 | 是 | 否 |
ARMv4TxM | 4 | 1 | 否 | 否 |
ARMv4T | 4 | 1 | 是 | 否 |
ARMv5xM | 5 | 无 | 否 | 否 |
ARMv5TxM | 5 | 2 | 否 | 否 |
ARMv5 | 5 | 否 | 是 | 否 |
ARMv5T | 5 | 2 | 是 | 否 |
ARMv5TexP | 5 | 2 | 是 | 处理LDRD、MCRR、MRRC、PLD、STRD指令外的指令 |
ARMv5TE | 5 | 2 | 是 | 是 |
名称 | T变种 | E变种 | J变种 | SIMD变种 |
ARMv5TEJ | 是 | 是 | 是 | 否 |
ARMv6 | 是 | 是 | 是 | 是 |
注:
1、使用字符x代表排除某些功能。在早期的一些E变种中,未包含双字读取指令(LDRD)和写入指令(STRD),和协处理器的寄存器传输治理MCRR/MRRC,以及Cache预取指令PLD。这种E变种称为ExP,其中x表示缺失,P表示上述指令。
2、表示变种的字符M,由于在版本4以后属于标准功能,固字符M通常不需要写出来。
以上参考《ARM体系结构与编程》第二版。