L2 缓存 (L2 Cache)
3 秒看懂
L2 Cache = 芯片上的”中转仓库”
CPU/GPU 的 L2 缓存位于计算核心与主存之间,容量比 L1 大、速度比主存快一个数量级,是决定处理器”喂数据”效率的关键瓶颈层。
一句话定位:L2 是片上 SRAM 层次结构中承上启下的核心节点,其容量与带宽直接制约算力利用率。
3 分钟产业解释
为什么 L2 Cache 在 AI 时代变得更重要?
| 变化趋势 | 对 L2 的影响 |
|---|---|
| 模型参数量指数增长 | 计算强度提高,缓存命中率成为瓶颈 |
| 访存带宽墙(Memory Wall) | 更大 L2 可减少访问 HBM 次数 |
| 制程演进(密度提升) | 同面积可容纳更多 SRAM bit |
| 芯片面积成本上升 | L2 容量成为芯片差异化卖点 |
产业逻辑链:
AI 训练/推理算力需求暴涨
→ 计算单元利用率受数据供给制约
→ 片上缓存容量成为关键差异化
→ L2 Cache(或等效片上 SRAM)规模持续扩大
典型现象:
- NVIDIA 从 A100 到 H100,L2 Cache 容量有显著提升
- Google TPU 系列采用大容量片上 SRAM 设计
- 部分 AI 芯片将等效 L2 的 Scratchpad Memory 做到数十 MB 级别
注意:具体各代产品的 L2 容量、带宽数据因厂商披露口径不同,需以官方 datasheet 为准,本文不编造具体数字。
15 分钟专家深入
一、L2 在存储层次中的位置
┌─────────────────────────────────────────────────────┐
│ 主存 (DRAM/HBM) │
│ 容量:GB 级 | 延迟:~100ns │
└────────────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ L2 Cache (本页主题) │
│ 容量:数百 KB ~ 数十 MB | 延迟:~5-20ns │
└────────────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ L1 Cache / SRAM │
│ 容量:数十 KB | 延迟:~1ns │
└────────────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────┐
│ 寄存器 (Register File) │
│ 容量:KB 级 | 延迟:0-1 周期 │
└─────────────────────────────────────────────────────┘
二、L2 的核心特征
| 维度 | L2 Cache 特点 |
|---|---|
| 材质 | SRAM(静态随机存取存储器) |
| 访问粒度 | Cache Line,通常 64B 或 128B |
| 映射方式 | 多路组相联(常见 8-way ~ 16-way) |
| 一致性 | 需维护多核缓存一致性协议(如 MESI/MOESI) |
| 包含性 | 现代设计多采用 Non-Inclusive(可含可不含)或 Exclusive(互斥),以减少缓存浪费 |
| 共享范围 | 通常多核共享(现代设计趋势:每 Cluster 共享) |
三、L2 与 AI 工作负载的关系
AI 计算访存特征:
- 矩阵乘法(GEMM)具有高数据复用性
- 算术强度(Arithmetic Intensity)通常很高
- 但激活值、中间结果的访存模式不规则
L2 的作用:
算术强度 (FLOPs/Byte)
│
低 ◄──────────────┼──────────────► 高
│
┌──────────────────────┼──────────────────────┐
│ │ │
│ 显存带宽瓶颈区 │ 计算瓶颈区 │
│ (访存密集型) │ (计算密集型) │
│ │ │
│ L2 命中率关键 ↑ │ L2 可暂存中间结果 │
│ │ │
└──────────────────────┴──────────────────────┘
对于 Transformer 类模型,Attention 层的访存模式相对不规则,L2 Cache 命中率对这部分性能影响显著。
四、设计权衡
| 权衡维度 | 选择倾向 | 影响 |
|---|---|---|
| 容量 vs 面积 | 更大 L2 → 更多 SRAM bit → 更多芯片面积 | 成本上升 |
| 延迟 vs 容量 | 更大容量 → 更深的解码层次 → 更高延迟 | 频率下降 |
| 带宽 vs 功耗 | 更宽端口 → 更高动态功耗 | 散热挑战 |
| 一致性 vs 性能 | 严格一致性 → 更多 snooping 开销 | 扩展性受限 |
技术原理
一、SRAM 单元结构
L2 Cache 由 SRAM 阵列构成,每个 bit 需要 6 个晶体管(6T cell):
VDD VDD
│ │
┌────┴────┐ ┌────┴────┐
│ PMOS │ │ PMOS │
│ M3 │ │ M4 │
└────┬────┘ └────┬────┘
│ │
┌────┴────┐ ┌────┴────┐
│ NMOS │ │ NMOS │
│ M1 │ │ M2 │
└────┬────┘ └────┬────┘
│ │
├──────────────────────┤
│ Q Q' │
┌────┴────┐ ┌────┴────┐
│ NMOS │ │ NMOS │
│ Access │ │ Access │
│ M5 │ │ M6 │
└────┬────┘ └────┬────┘
│ │
▼ ▼
BL BL'
(Bit Line) (Bit Line Bar)
← 6T SRAM Cell →
关键特性:
- 双稳态锁存器存储数据
- 无需刷新(vs DRAM 的电容刷新)
- 读写速度极快(亚纳秒级)
- 面积大、功耗高(vs DRAM 的 1T1C)
二、Cache 组织结构
┌────────────────────────────────────────────────────────────────────┐
│ L2 Cache 全貌 │
├────────────────────────────────────────────────────────────────────┤
│ │
│ Tag Array Data Array │
│ ┌──────────┐ ┌──────────────────────────────────┐ │
│ │ 标记位 │ │ Cache Line 数据 │ │
│ │ (Tag) │ │ (64B/128B) │ │
│ ├──────────┤ ├──────────────────────────────────┤ │
│ │ 有效位 │ │ │ │
│ │ (Valid) │ │ │ │
│ ├──────────┤ │ │ │
│ │ 脏位 │ │ │ │
│ │ (Dirty) │ │ │ │
│ ├──────────┤ │ │ │
│ │ 替换信息 │ │ │ │
│ │ (LRU等) │ │ │ │
│ └──────────┘ └──────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────────────────┘
三、地址解码
一个物理地址被划分为三个字段:
┌─────────────┬─────────────┬─────────────────┐
│ Tag │ Set Index │ Block Offset │
│ (比较位) │ (组索引) │ (块内偏移) │
└─────────────┴─────────────┴─────────────────┘
│ │ │
│ ▼ │
│ 选择哪一组 │
│ (Set) │
▼ ▼
与该组内所有路 选择 Cache Line
(Way) 的 Tag 比较 内具体哪个字节
组相联度 (Associativity) 影响:
- 直接映射 (1-way):冲突 miss 多,速度快
- 全相联:无冲突 miss,但比较电路复杂
- N-way 组相联:平衡方案(L2 常见 8-way ~ 16-way)
四、替换策略
| 策略 | 原理 | 适用场景 |
|---|---|---|
| LRU (Least Recently Used) | 淘汰最久未访问的行 | 通用,访存局部性强 |
| Pseudo-LRU | 近似 LRU,硬件开销低 | 高相联度场景 |
| Random | 随机选择淘汰行 | 简单,无偏置 |
| RRIP (Re-Reference Interval Prediction) | 预测再次访问间隔 | 现代处理器常用 |
五、写策略
写命中 (Write Hit)
│
├── Write-Through:同时写 Cache 和下级
│ └── 优点:一致性简单
│ └── 缺点:写带宽开销大
│
└── Write-Back:只写 Cache,标记 Dirty
└── 优点:减少写带宽
└── 缺点:一致性维护复杂
写未命中 (Write Miss)
│
├── Write-Allocate:先加载到 Cache 再写
│ └── 通常与 Write-Back 配对
│
└── No-Write-Allocate:直接写下级
└── 通常与 Write-Through 配对
现代 L2 Cache 通常采用 Write-Back + Write-Allocate 策略。
六、缓存一致性 (多核场景)
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Core 0 │ │ Core 1 │ │ Core 2 │
│ L1 │ │ L1 │ │ L1 │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────┐
│ 共享 L2 Cache │
│ (一致性状态在此层级维护) │
└────────────────────┬────────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ 主存 (DRAM) │
└─────────────────────────────────────────┘
一致性状态 (MESI 示例):
├── M (Modified):仅本核有,已修改
├── E (Exclusive):仅本核有,未修改
├── S (Shared):多核共享,未修改
└── I (Invalid):无效
技术演进史
| 时期 | 演进特征 | 关键驱动力 |
|---|---|---|
| 1980s | L2 Cache 首次出现于高端处理器 | 弥补 CPU-主存速度差距 |
| 1990s | L2 从主板集成到芯片封装(On-Package) | 频率提升,板级延迟不可接受 |
| 2000s | L2 集成到芯片内部(On-Die);多核共享 L2 | 多核架构兴起 |
| 2010s | L3 Cache 普及,L2 成为核心私有缓存 | 核心数增加,层次更细分 |
| 2017+ | GPU L2 大幅扩容;AI 芯片片上 SRAM 概念兴起 | 深度学习访存瓶颈 |
| 2020s | L2 Cache 与片上 SRAM 界限模糊化 | AI 训练/推理对访存带宽极端敏感 |
重要趋势:
- CPU:L2 趋向每核心私有,容量数百 KB ~ 数 MB
- GPU:L2 趋向全局共享,容量数十 MB 级别
- AI 芯片:部分设计将”等效 L2”的 Scratchpad SRAM 做到数十 MB
技术路线对比
L2 Cache vs 相关存储概念
| 维度 | L2 Cache | L1 Cache | L3 Cache | 片上 SRAM (Scratchpad) | HBM/DRAM |
|---|---|---|---|---|---|
| 层次 | Level 2 | Level 1 | Level 3 | 等效 L2/L3 | 主存 |
| 管理方式 | 硬件自动 | 硬件自动 | 硬件自动 | 软件显式管理 | OS/驱动 |
| 典型容量 | 数百 KB ~ 数十 MB | 数十 KB | 数 MB ~ 数十 MB | 数 MB ~ 数十 MB | GB 级 |
| 典型延迟 | 5-20 ns | 1-3 ns | 15-40 ns | 类似 L2 | 50-100 ns |
| 材质 | SRAM | SRAM | SRAM | SRAM | DRAM (HBM: 3D堆叠) |
| 面积效率 | 低 | 最低 | 中 | 中 | 高 |
| 一致性维护 | 需要 | 需要 | 需要 | 不需要 (软件管理) | N/A |
不同架构 L2 设计哲学对比
| 架构类型 | L2 设计倾向 | 代表 |
|---|---|---|
| 传统 CPU | 私有 L2,容量中等 | Intel Core, AMD Zen |
| 传统 GPU | 全局共享 L2,容量较大 | NVIDIA CUDA Core |
| AI 训练芯片 | 大容量片上 SRAM 或扩展 L2 | Google TPU, Cerebras |
| 移动 SoC | 共享 L2 + 系统级 Cache | Apple M 系列, Qualcomm |
注意:具体各架构的 L2 容量、延迟、带宽数字因代际和产品线差异较大,需查阅各厂商官方文档。本文不编造具体规格。
上下游
上游(L2 Cache 依赖什么)
| 环节 | 说明 | 关键玩家 |
|---|---|---|
| SRAM IP | 编译器生成 SRAM 阵列 | ARM, Synopsys, Cadence |
| 先进制程 | 制程越先进,SRAM bit 密度越高 | TSMC, Samsung, Intel |
| EDA 工具 | 物理设计、时序收敛 | Synopsys, Cadence, Siemens EDA |
| 封装技术 | Chiplet 场景下缓存 Die 集成 | TSMC (CoWoS), Intel (EMIB) |
下游(L2 Cache 服务什么)
| 场景 | L2 的角色 | 瓶颈程度 |
|---|---|---|
| 通用计算 | 减少主存访问,提高 IPC | 中 |
| AI 训练 | 暂存激活值、梯度中间结果 | 高(访存密集层) |
| AI 推理 | 缓存 KV-Cache、权重分片 | 高(长序列场景) |
| 图形渲染 | 纹理/帧缓冲数据缓存 | 中 |
| HPC | 科学计算的网格数据 | 中高 |
产业链位置图
EDA 工具 → SRAM IP → 芯片设计公司 → 晶圆代工 → 封装测试 → 终端产品
(上游) (下游)
┌──────────────────────────────────┐
│ L2 Cache 是芯片 │
│ 内部的组成部分, │
│ 不是独立产品 │
└──────────────────────────────────┘
关键指标
L2 Cache 性能评估维度
| 指标 | 定义 | 趋势 |
|---|---|---|
| 容量 (Capacity) | L2 总存储大小 (KB/MB) | 持续增大 |
| 延迟 (Latency) | 访问 L2 所需时钟周期数 | 缓慢下降 |
| 带宽 (Bandwidth) | L2 读写吞吐量 (GB/s) | 持续提升 |
| 命中率 (Hit Rate) | 访问 L2 命中比例 | 依赖工作负载 |
| 功耗 (Power) | L2 静态+动态功耗 | 关注度上升 |
| 面积效率 (Density) | 每 mm² 可容纳的 SRAM bit | 随制程改善 |
| 相联度 (Associativity) | 每组路数 | 8-way ~ 16-way 常见 |
Cache 命中率对性能的影响(阿姆达尔定律视角)
有效访问时间 = Hit Rate × L2 Latency + (1 - Hit Rate) × 主存 Latency
示例(假设性数字):
L2 延迟 = 10ns, 主存延迟 = 80ns
命中率 90% → 有效延迟 = 0.9×10 + 0.1×80 = 17ns
命中率 99% → 有效延迟 = 0.99×10 + 0.01×80 = 10.7ns
─────────────────────────────────────────────────────
命中率从 90% → 99%,有效延迟降低 ~37%
以上为假设性数字演示,实际延迟因架构而异。
供需与市场数据
间接市场影响
L2 Cache 不是独立商品,无法直接统计其市场规模。但可从以下角度观察其产业影响:
| 维度 | 说明 |
|---|---|
| 芯片面积占比 | 在先进制程 SoC 中,SRAM(含 L2)可占芯片面积 20%-40% [估算] |
| 晶圆成本影响 | L2 越大 → 芯片面积越大 → 单颗成本上升 |
| 良率影响 | SRAM 密集区域对缺陷敏感,影响良率 |
| 竞争差异化 | 大容量 L2 成为芯片厂商宣传卖点 |
SRAM 位密度趋势(定性)
制程节点: 28nm → 14nm → 7nm → 5nm → 3nm → 2nm (GAA)
SRAM 位密度: ████ → ██████ → ████████ → ██████████ → [趋缓]
注:
- 7nm 以下 SRAM 密度缩放趋缓(与逻辑密度缩放不同步)
- SRAM 成为先进制程的"面积瓶颈"
具体各节点的 SRAM bit density 数据因厂商而异,需参考 IEDM/VLSI 论文。
相关市场数据参考
| 指标 | 数据 | 来源口径 |
|---|---|---|
| 全球 SRAM 市场规模 | 数十亿美元级 | [行业报告估算] |
| AI 芯片片上 SRAM 容量趋势 | 持续增长 | [公开产品规格] |
| TSMC 先进制程 SRAM IP 收入 | 未单独披露 | [厂商财报] |
代表公司与资本映射
芯片设计公司(L2 设计决策方)
| 公司 | L2 设计特点 | 资本市场映射 |
|---|---|---|
| NVIDIA | GPU 全局共享 L2,容量持续扩大 | NVDA |
| AMD | Zen 架构 L2/L3 层次分明 | AMD |
| Intel | 大 L2 + 大 L3 设计(如 Sapphire Rapids) | INTC |
| Apple | M 系列系统级 Cache,高效 | AAPL |
| TPU 大容量片上 SRAM 设计 | GOOGL | |
| Broadcom | 定制 AI 芯片,关注片上缓存 | AVGO |
IP/EDA 供应商
| 公司 | 角色 | 资本市场映射 |
|---|---|---|
| Synopsys | SRAM IP, EDA 工具 | SNPS |
| Cadence | SRAM IP, EDA 工具 | CDNS |
| ARM | 处理器 IP(含缓存控制器设计) | ARM |
晶圆代工
| 公司 | 角色 | 资本市场映射 |
|---|---|---|
| TSMC | SRAM 单元工艺优化,密度演进 | TSM |
| Samsung | 同上 | 005930.KS |
| Intel Foundry | 同上 | INTC |
投资逻辑
核心投资逻辑
| 逻辑 | 说明 | 相关标的方向 |
|---|---|---|
| AI 算力需求 → 片上缓存重要性提升 | 访存瓶颈推动 L2/SRAM 容量扩大 | 芯片设计公司 |
| SRAM 密度缩放趋缓 → 面积成本上升 | 大 L2 芯片成本更高,利好先进制程 | 代工厂、EDA/IP |
| Chiplet 趋势 → 缓存 Die 独立化 | 如 AMD 3D V-Cache,缓存可独立堆叠 | 封装技术、代工厂 |
| 边缘 AI → 低功耗大缓存需求 | 端侧推理需要更大片上 SRAM | 移动 SoC、IoT 芯片 |
关注指标
- 各芯片厂商新品的 L2/SRAM 容量规格
- TSMC 等代工厂 SRAM bit density 演进
- 3D 封装对缓存容量的扩展能力
- AI 工作负载的 L2 命中率 benchmark
常见误读纠偏
❌ 误读一:“L2 Cache 是独立的芯片产品”
纠偏: L2 Cache 是处理器(CPU/GPU/AI 芯片)内部的组成部分,不是一个独立售卖的芯片。它由 SRAM 阵列构成,与计算核心、控制器等集成在同一 Die 上(或在先进封装中同一 Package 内)。不存在”买一个 L2 Cache”这种说法。
❌ 误读二:“L2 越大性能一定越好”
纠偏:
- L2 增大伴随面积、功耗、延迟的 trade-off
- 超大 L2 可能导致访问延迟增加(更深的解码层次)
- 对于 L1 命中率已经很高的工作负载,L2 扩大的收益递减
- 设计需要在容量、延迟、功耗、面积之间平衡
- “最优 L2 大小”取决于目标工作负载的访存特征
❌ 误读三:“L2 Cache 和 GPU Shared Memory 是同一回事”
纠偏:
- L2 Cache:硬件自动管理,对程序员透明,遵循缓存一致性协议
- Shared Memory (如 CUDA):软件显式管理的片上 SRAM,程序员手动控制数据搬入搬出
- 两者虽然都是片上 SRAM,但管理方式、访问语义完全不同
- 在 GPU 存储层次中,Shared Memory 通常更接近 L1 层级
❌ 误读三(补充):“L2 和 L3 没区别,只是名字不同”
纠偏:
- L2:通常核心私有或小范围共享,延迟更低,容量较小
- L3:通常全局共享(如 AMD 的 V-Cache、Intel 的 LLC),延迟更高,容量更大
- 设计目标不同:L2 减少 L1 miss 代价,L3 减少主存访问
- 在某些 AI 芯片中,层次可能简化或合并,但传统 CPU/GPU 中区别明确
学习路径
入门(1-2 周)
- 理解存储层次(Memory Hierarchy)基本概念
- 学习 Cache 的基本术语:Tag、Set、Way、Line、Hit/Miss
- 推荐:Computer Organization and Design (Patterson & Hennessy) 相关章节
进阶(2-4 周)
- 深入 Cache 替换策略、写策略、一致性协议
- 学习 Cache 性能分析方法(Miss Rate、AMAT)
- 推荐:Computer Architecture: A Quantitative Approach (Hennessy & Patterson)
专业(持续)
- 阅读 NVIDIA/AMD/Intel 架构白皮书中的缓存设计章节
- 学习 AI 工作负载的访存特征(Roofline 模型)
- 关注 ISSCC/VLSI/Hot Chips 会议的缓存相关论文
- 实验:使用 perf/cachegrind 等工具分析真实程序的 Cache 行为
一句话总结
L2 Cache 是芯片内部用 SRAM 实现的二级缓存,容量介于 L1 与主存之间,由硬件自动管理,在 AI 时代因访存瓶颈加剧而重要性持续提升,其容量与效率正成为芯片设计的核