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架构(指令集)
版本 | 时间 |
---|---|
ARMv7 | 2007年 |
ARMv8 | 2013年 |
ARMv8.0 | 2013年 |
ARMv8.1~ARMv8.3 | 2017年 |
ARMv8.4 | 2018年 |
ARMv8.5 | 2019年 |
ARMv8.6 | 2020年 |
ARMv8.7 | 2021年 |
ARMv8.8 | 2022年 |
ARMv9 | 2021年 |
2.2 ARM core(处理器)
ARM core型号 | 指令集版本 | 时间 |
---|---|---|
A57 | ARMv8.0 | 2013年 |
A53 | ARMv8.0 | 2014年 |
A72 | ARMv8.0 | 2015年 |
A73 | ARMv8.0 | 2016年 |
A32(only32) A35 | ARMv8.0 | 2017年 |
A55 A75 | ARMv8.2 | 2017年 |
A76 A76E | ARMv8.2 | 2018年 |
A34(only 64) | ARMv8.0 | 2019年 |
A65 A65E A77 | ARMv8.2 | 2019年 |
A78 X1 | ARMv8.2 | 2020年 |
A510 A710 X2 | ARMv9.0 | 2021年 |
3. ARM处理器基本结构
可以分为两部分:ARM内核,外设
ARM内核: 包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等。 内核是由ARM公司设计并以销售方式授权给个芯片厂商使用的(ARM公司本身不做芯片)。 比如为高速度设计的Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(就是内核),后者是指令集的架构(也简称架构)。
下面是Cortex-A76的微架构图
外设部分: 包括计时器、A/D转换器、存储器、i2c、UART、SPI、ROM…等等,则完全由各芯片厂商自己设计并与ARM内核衔接配套。不同的芯片厂商就有不同的外设,因此构成了数量和规格庞大的ARM芯片产业。