🚀 ARM性能调优·实战
30章 从入门到专家
🎯 目录导航 · 点击卡片跳转
01
ARM架构概述
ARM发展史
CISC vs RISC
Cortex系列
02
性能度量指标
IPC/CPI
主频&吞吐
Dhrystone
CoreMark
03
流水线基础
5级流水线
冒险分类
分支预测入门
04
Cache原理
层次结构
命中/缺失
映射方式
05
Cache优化策略
预取技术
写策略
伪共享
缓存行对齐
06
内存子系统
MMU/TLB
页表
TLB缺失
内存屏障
07
分支预测深入
静态/动态
2位饱和计数器
BTB/RAS
08
指令级并行
超标量
多发射&乱序
寄存器重命名
09
NEON与SIMD
寄存器&数据类型
向量化编程
性能收益
10
编译器优化
-O0~-O3
LTO
PGO
11
内联汇编 & intrinsics
ARM汇编基础
内联语法
intrinsics优化
12
性能分析工具
perf
PMU
Cycle Counter
13
热点函数定位
gprof/gperftools
火焰图
采样原理
14
内存访问优化
数据对齐
结构体重排
预取pld/pldw
15
循环优化
循环展开
交换/融合/剥离
16
多核与并发
MESI协议
原子操作&锁
无锁编程
17
中断与上下文切换
中断延迟
嵌套
减少切换开销
18
功耗与性能平衡
DVFS
WFI/WFE
大小核调度
19
实时性优化
抢占式调度
优先级反转
中断线程化
20
启动时间优化
Bootloader
内核裁剪
initramfs/设备树
21
网络性能优化
零拷贝
NAPI/中断合并
TCP/IP卸载
22
存储性能优化
文件系统选择
IO调度器
异步IO/io_uring
23
GPU与显示优化
GPU管线
帧率控制
显示刷新同步
24
安全与性能
TrustZone
加密加速器
侧信道防御
25
虚拟化性能
KVM/Xen
virtio
CPU过载/内存膨胀
26
调试与调优方法论
性能模型
瓶颈假设
Amdahl定律
27
案例1:视频编解码优化
30fps→60fps
实战调优
28
案例2:网络数据包处理
DPDK on ARM
移植与调优
29
案例3:数据库引擎优化
SQLite性能提升
ARM调优实战
30
课程总结与展望
ARMv9
RISC-V对比
学习路径