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

  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. ubuntu 防火墙命令

    # 防火墙状态,如果输出显示 Status: inactive,表示 UFW 处于禁用状态 sudo ufw status # 关闭防火墙 sudo ufw disable # 启动防火墙 sudo ...

  2. Linux中的touch命令

    Linux中一个文件有3种时间属性,分别是mtime,ctime,atime: modification time (mtime) 当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的 ...

  3. 腾讯、阿里、B站最新面经汇总,有的妥妥的凉经。

    除了BAT(没错我说的B是B站的B),还有网易.希音科技.美柚等中小厂的最新面经. 这次投稿的同学行文幽默风趣,处处透漏着不成功便搞笑的骚气. 祝他早日上岸,也欢迎大家在评论区讨论这些面试题,有哪些面 ...

  4. 国产Linux音视频聊天程序开发遇到的坑及解决:相互听不到对方声音?

    最近完成了一个银河麒麟上的视频聊天项目,在我们开发机上测试一切正常后,提交给甲方测试.结果发现在甲方的某些银河麒麟V10的电脑上,听不到声音. 这个问题,使用<Avalonia 实现跨平台的IM ...

  5. 记录一次 对应用程序日志排查,老是刷出有本地ip登录Sqlserver数据库失败的日志

    在我电脑-计算机管理-事件查看器-windows日志-应用程序里 1秒中就刷很多条 用户sa登录某个数据库失败,客户端ip:192....; 我查看ip发现是本机的ip地址.也就是说有本地的应用程序在 ...

  6. Vue——基本使用

    Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统.我们不再和 HTML 直接交互了.一个 Vue 应用会将其挂载到一个 DOM 元素上 (对于这个例子是 #app ...

  7. C#WPF的多屏显示问题

    如果想让窗口在第二个屏幕中显示 public MainWindow() { InitializeComponent(); Screen[] _screens = Screen.AllScreens; ...

  8. python利用flux基本读写influxDB

    1.读取 QuerApi 形式 python 利用 flux 语句查询 influxdb 数据. https://influxdb-client.readthedocs.io/en/latest/ap ...

  9. 阿里bxet逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 x82y 分析过 ...

  10. SELinux 安全模型——MLS

    首发公号:Rand_cs SELinux 安全模型--MLS BLP 模型:于1973年被提出,是一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问控制模型,主要用于保证系统信 ...