结论:我们所接触到提到的命名规则,应该分成两类。

  1. 基于ARM Architecture版本的"指令集架构"命名规则:例如armv6, armv7, armv7s, arm64 等系列是ARM CPU的不同指令集,原则上是向下兼容的。

  2. 基于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

ARM 命名规则和ARM 版本的更多相关文章

  1. css的命名规则

    本文转载自谈笑涧<css的命名规则> 操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.35 ...

  2. 【海洋女神原创】知识普及:IS版本命名规则和高低关系

    经常有朋友对IS的版本命名不甚了解,有时候在交流的时候就会造成误会,在这里做一下普及. IS最早出名的版本是IS6.22,这是个非常古老的版本的,但是在IS历史上有不可磨灭的贡献. 之后很长一段时间内 ...

  3. Cisco IOS版本命名规则

    首先说说IOS的运行平台,c2500.c2600.c4500.c2950代表运行此IOS的硬件平台,例如:C2500指2500系列路由器. 其次,看看IOS的版本,IOS有主版本号:11.0.11.1 ...

  4. STM32芯片命名规则 | STM32大中小容量芯片之间的差别

    1. STM32命名规则 STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列.增强型系列.USB基本型系列.增强型系列:新系列产品沿用增强型系列的72 ...

  5. [No00009E]几种常见的命名规则

    变量命名规则 必须遵循的命名规则 1.    变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2.    变量名只能是字母(a-z A ...

  6. html页面的CSS、DIV命名规则

    CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...

  7. JAVA基础篇NO1--环境变量的配置及命名规则

    标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备       存储器:外存(硬盘) 内存 软件:系统软件 应用软件   系统软件:wi ...

  8. J2EE开发时的包命名规则

    http://www.blogjava.net/paulwong/archive/2012/04/15/374675.html 转一个J2EE开发时的包命名规则,养成良好的开发习惯 代码编写规范目的: ...

  9. JavaWeb 命名规则

    命名规范命名规范命名规范命名规范 本规范主要针对java开发制定的规范项目命名项目命名项目命名项目命名 项目创建,名称所有字母均小写,组合方式为:com.company.projectName.com ...

  10. C++变量命名规则

    转自:http://www.cnblogs.com/finallyliuyu/archive/2010/09/25/1834301.html 浅谈C++变量命名规则 不知道别的公司如何,反正我现在的公 ...

随机推荐

  1. ERROR: Error installing mysql2: ERROR: Failed to build gem native extension [@Ubuntu 15.04]

    参考文章: https://blog.csdn.net/a60919820/article/details/101847890 安装mysql 参考:https://www.cnblogs.com/h ...

  2. docker-compose 配置LNMP环境

    仓库地址: https://gitee.com/haima1004/docker-lnmp 参考文档: 视频地址: https://www.bilibili.com/video/BV1S54y1B7K ...

  3. Visual Studio中的四款代码格式化工具

    前言 今天大姚给大家分享四款Visual Studio中的代码格式化工具.扩展插件.大家可以在Visual Studio中的管理扩展或者插件市场下载安装. 代码格式化工具的作用 自动调整代码的布局和风 ...

  4. Docker 必知必会3----使用自己制作的镜像

    前面的两篇文章分别讲了,docker的基础概念,设计思路以及docker的基本操作.感兴趣的同学可以查阅: https://www.cnblogs.com/jilodream/p/18177695ht ...

  5. 网络拓扑—DNS服务搭建

    目录 DNS服务搭建 网络拓扑 配置网络 DNS PC 安装DNS服务 配置DNS服务 创建正向查找区域 创建反向查找区域 创建子域名 PC机DNS域名解析 DNS服务搭建 网络拓扑 为了节省我的U盘 ...

  6. jq 工具及其常用用法

    在处理 JSON 数据时,我们经常需要在命令行中进行过滤.查询和编辑的操作.jq 是一个强大的命令行 JSON 处理工具,它可以让我们轻松地对 JSON 数据进行各种操作.本文将简要介绍 jq 的基本 ...

  7. linux sort命令的重要用法:按分隔符/字母/数字/月份进行排序

    1.指定分隔符,以某一列进行排序并输出 #-t 指定一个分隔符 #-k 后面跟数字,指定按第几列进行排序 #-r 反序排序(升序变成降序) #按":"做分隔符,以第3列,也就是用户 ...

  8. springcloud整合geteway网关服务

    geteway网关 1. 什么是 API 网关(API Gateway)分布式服务架构.微服务架构与 API 网关在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计.开发.测试.部署 ...

  9. 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 Selenium

    https://learn.microsoft.com/zh-cn/microsoft-edge/webview2/how-to/webdriver

  10. Opencv笔记(13)积分图

    积分图时一种允许子区域快速求和的数据结构,这种求和在很多方面都很有用,值得一提的是haar小波的计算,它用于人脸识别和类似的算法.Opencv支持积分图的三种变体,分别是总和.平方求和以及倾斜求和.每 ...