14天学习训练营导师课程:周贺贺《ARMv8/ARMv9架构-快速入门》

1. 背景

ARM全称: Advanced RISC Machines。

ARM处理器: 基于ARM公司设计的架构而研发的处理器,包含arm core和外设。ARM公司本身不生产处理器,只出售技术知识产权(IP)给半导体、软件和OEM厂商,由各家厂商自己负责生产。

ARM架构: 就是ARM公司自己设计的处理器架构,包括硬件和软件设计。硬件上的架构对应微架构,软件上的架构可以理解为处理器指令集架构。不过有一点要注意,平常我们说的ARM架构就特指ARM指令集架构(如ARMv7,ARMv8等)

ARM处理在嵌入式移动端上(手机,平板,汽车中控等等)可以说是绝对的王者地位,对大部分的嵌入式开发人员来讲属实是个不错的扩展知识。

2. 时间线(ARMv7~至今)

2.1 ARM架构(指令集)

版本时间
ARMv72007年
ARMv82013年
ARMv8.02013年
ARMv8.1~ARMv8.32017年
ARMv8.42018年
ARMv8.52019年
ARMv8.62020年
ARMv8.72021年
ARMv8.82022年
ARMv92021年

2.2 ARM core(处理器)

ARM core型号指令集版本时间
A57ARMv8.02013年
A53ARMv8.02014年
A72ARMv8.02015年
A73ARMv8.02016年
A32(only32) A35ARMv8.02017年
A55 A75ARMv8.22017年
A76 A76EARMv8.22018年
A34(only 64)ARMv8.02019年
A65 A65E A77ARMv8.22019年
A78 X1ARMv8.22020年
A510 A710 X2ARMv9.02021年

3. ARM处理器基本结构

可以分为两部分:ARM内核,外设

ARM内核: 包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等。 内核是由ARM公司设计并以销售方式授权给个芯片厂商使用的(ARM公司本身不做芯片)。 比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。

下面是Cortex-A76的微架构图

外设部分: 包括计时器、A/D转换器、存储器、i2c、UART、SPI、ROM…等等,则完全由各芯片厂商自己设计并与ARM内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数量和规格庞大的ARM芯片产业。