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 時代因訪存瓶頸加劇而重要性持續提升,其容量與效率正成為晶片設計的核