一、ARM指令集架构

指令集是处理器使用的指令编码方式,ARM 指令集的命名方式为 armv+version,目前有 armv1~armv8。

armv1-armv3 这三个版本并没有商用。

armv7 指令集是应用最为广泛的,处理器被分为 A、R、M 系列,指令集相对应地也被分为三个对等的系列,armv7-A 对应 cortex-A5~A15处理器,armv7-R 对应 cortex-R4~R7 处理器,armv7-M 对应 cortex-M3、M4 处理器。

目前 armv8 架构也逐渐盛行,其最大的特点就是 64 位的处理器,对应的主要A系列处理器有 Cortex-A53、A57、A72。

指令集的升级自然伴随着功能的升级,对于每一次指令集的升级所带来的新功能或者优化,参考下图:

在这里插入图片描述

二、ARM系列

ARM处理器分为 A、R、M 三个系列,分别代表三种不同的应用领域:

cortex-A 系列,指的是 Application,主要是高性能的处理器。相比于其它两种处理器,特点是增加了内存管理单元 MMU,对于运行大型的应用操作系统,MMU是必不可少的元件。

cortex-R 系列,指的是 Real-time,主要是实时性的特点。一个常见的认知误区是:实时性就是处理快。但是事实上,实时性代表的是处理时间上的确定性和低延迟,即一个操作可以在指定的短时间内完成,MMU 引入的地址转换通常不能满足其实时性的要求,所以 R 系列处理器并不挂载 MMU。

cortex-M 系列,指的是 Microcontroller,即微处理器,主打中低端市场。真实应用场景中,更多的是大型中控搭配小型嵌入式控制系统,小型嵌入式节点通常是海量的,比如智能家居、物联网等等,这一种系统的特点在于低功耗、低成本,相对的高性能,在中低端市场,性价比通常是一个主要的衡量因素。

在此之前,ARM 处理器的命名为 ARM+version,从第一代的 ARM1 到后来的 ARM11。随着市场的逐渐铺开,才分化出了 cortex-A、cortex-R、cortex-M 三个系列的命名方式,后续的处理器都就不再采用 ARM+version 的命名方式。

三、ARM IP core

ARM 是一家处理器设计厂商,并不负责芯片的生产。在官方手册中,统一以 processor 对产品进行命名,也就是处理器。但是这里的处理器指的只是 IP 核,并不是 CPU,CPU 是芯片厂商在 ARM 的 IP 核上进一步封装外设、针脚等元件的产物。

对于 armv7-A 系列的处理器而言,处理器内部包含:

  • 处理器核心,有单核和多核之分,对称多核应用比较广泛,通常每个核心会包含指令、数据L1缓存,可选的浮点单元,可选的协处理器等等,处理器核心是整个处理器的关键所在,其中包含逻辑运算单元(ALU)、指令取指译码单元、内部寄存器、MMU 等等。
  • 各种系统总线,处理器通过控制外设来实现应用功能,其通信方式就是通过系统总线来实现。
  • 中断控制器 GIC
  • L1、L2 缓存
  • debug 和 trace 系统

以上内容来源于网络知识总结,如有侵权请私信联系立即删除:)

Logo

开源操作系统年度技术会议(简称OS2ATC)已经连续举办了九届,在促进我国操作系统相关教学、研究与产业的发展,加强学术交流,展示产业界成果,展开跨学科的交流等方面已经卓有成效。

更多推荐