01
ARM前世今生:从Acorn到全球霸主
ARM架构的起源、发展历程与授权模式。
历史架构
02
精简指令集RISC
RISC设计哲学,对比CISC,为什么ARM选择了RISC?
RISC设计哲学
03
ARM寄存器详解
通用寄存器、堆栈指针SP、链接寄存器LR、程序计数器PC、CPSR。
寄存器CPSR
04
ARM异常与中断处理
异常向量表、异常优先级、中断响应流程、FIQ与IRQ的区别。
异常中断
05
ARM处理器模式
用户、系统、FIQ、IRQ、SVC、Abort、Undef模式。
模式特权
06
ARM指令集概览
数据处理、加载存储、分支、协处理器、异常产生指令。
指令集分类
07
ARM寻址方式
立即、寄存器、移位、间接、基址变址、多寄存器、堆栈寻址。
寻址模式
08
ARM数据处理指令
MOV、ADD、SUB、MUL、AND、ORR、EOR、BIC、CMP、TST。
运算ALU
09
ARM加载存储指令
LDR、STR、LDM、STM、LDRH、STRH、LDRB、STRB。
内存加载/存储
10
ARM分支指令
B、BL、BX、BLX,以及条件执行。
分支跳转
11
ARM条件执行
条件码后缀EQ、NE、GT、LT、GE、LE等,减少分支预测开销。
条件预测
12
ARM堆栈操作
满递增/递减、空递增/递减,PUSH/POP与STMDB/LDMIA的关系。
堆栈LDM/STM
13
ARM伪指令与伪操作
ADR、ADRL、LDR伪指令,AREA、ENTRY、END、EQU、DCD等。
伪指令汇编
14
ARM汇编程序结构
段的概念(代码段、数据段)、子程序调用、ATPCS参数传递规则。
汇编ATPCS
15
ARM Thumb指令集
Thumb的由来,16位指令的优势与局限,Thumb与ARM指令切换。
Thumb16位
16
ARM Thumb-2技术
打破16/32位界限,Cortex-M为何只支持Thumb-2。
Thumb-2Cortex-M
17
ARM NEON技术
SIMD架构,寄存器视图,数据类型,多媒体与信号处理。
NEONSIMD
18
ARM DSP扩展
饱和运算、SIMD、乘累加MAC,适用于数字信号处理。
DSPMAC
19
ARM TrustZone技术
安全世界与非安全世界,Monitor模式,系统安全架构。
安全TrustZone
20
ARM Cache机制
组织方式(直接映射、组相联、全相联)、写策略、Cache一致性。
Cache一致性
21
ARM MMU与MPU
虚拟地址转换、页表、TLB、MPU保护区设置。
MMUMPU
22
ARM流水线技术
3级流水线(取指、译码、执行),5级流水线,冒险与解决。
流水线冒险
23
ARM分支预测
静态预测、动态预测、BTB、目标地址缓存,提高预测准确率。
分支预测BTB
24
ARM多核架构
SMP与AMP,Cache一致性协议(MESI),内存屏障指令(DMB、DSB、ISB)。
多核MESI
25
ARM AMBA总线
AHB、APB、AXI总线特性对比,总线矩阵与多主设备仲裁。
总线AMBA
26
ARM调试与跟踪
JTAG、SWD接口,CoreSight调试架构,ETM/PTM跟踪。
调试CoreSight
27
ARM Cortex-A系列
应用处理器,高性能,MMU,多级Cache,典型芯片(A76、A78、X1)。
Cortex-A应用
28
ARM Cortex-R系列
实时处理器,MPU,低延迟中断,典型芯片(R52、R82)。
Cortex-R实时
29
ARM Cortex-M系列
微控制器内核,NVIC,MPU可选,低功耗,典型芯片(M0+、M4、M7、M33)。
Cortex-MMCU
30
ARM生态与未来
ARMv9、CHERI安全扩展、SVE2、AI与边缘计算角色。
未来ARMv9