什麼是 CPU 快取?
CPU Cache 位於 CPU 核心與主記憶體 (DRAM) 之間的高速暫存區。容量遠小於記憶體 (KB~MB 級),但存取速度快數十倍 (接近 CPU 時脈)。
存在意義:解決「速度牆」
- CPU 運算速度 (GHz 級) 遠超 DRAM 存取延遲 (百奈秒級)。
- 無快取時,CPU 大量週期等待資料搬運,效能嚴重受限。
- 快取儲存「近期/即將存取」的熱點資料/指令,命中時直接由快取供給,繞過 DRAM,大幅降低平均存取延遲 (AMAT)。
工作原理:空間與時間局部性
- CPU 讀取資料 → 先查 L1 → 命中即回傳;未命中 → 查 L2 → L3 → DRAM。
- 未命中時,以 快取行 為單位 (典型 64 Bytes) 從下一層調入整塊資料,利用空間局部性 (相鄰資料近期大概率被存取)。
- 近期存取過的資料大概率再次被存取 (時間局部性),留在快取中等待複用。
- 現代 CPU 命中率通常 > 90% (L1/L2 更高),有效隱藏記憶體延遲。


三級快取架構演進
| 層級 | 位置 | 容量/核心 | 延遲 (週期) | 特性 |
| L1 Data / Instruction | 核心內 | 32~64 KB | ~4 | 分離指令/資料快取 (哈佛架構),單核私有 |
| L2 | 核心內/核心間 | 256 KB~2 MB | ~12 | 統一快取,單核私有或核心組共享 |
| L3 (Last Level Cache) | 晶粒上/封裝內 | 共享 4~64+ MB | ~30~50 | 全核心共享,包含目錄實現一致性/快速核心間資料共享 |
AMD 鋒龍/霄龍、Intel Core/Xeon 現代處理器普遍採用「私有 L1/L2 + 共享 L3」架構;AMD Zen 3 甚至引入 3D V-Cache 疊加 64MB L3。
快取採用 SRAM (Static RAM)
- 優點:無需重整電路、存取極快 (單週期)、功耗低、支援高頻運作。
- 缺點:電晶體密度低 (6T 儲存單元 vs DRAM 1T1C)、單位面積成本高、晶片面積大 → 限制容量擴展。
- DRAM 需週期性重整充電,密度高、成本低、適合大容量主記憶體。
快取對效能的關鍵影響因素
- 容量: 較大快取容納更多熱點資料,提高命中率,邊際效益遞減。
- 關聯度: N-way set-associative 減少衝突未命中,但增加檢索延遲/功耗。
- 行大小: 64B 標準;過大浪費頻寬/容量,過小增加標記開銷。
- 替換策略: LRU/Pseudo-LRU/RRIP 等影響命中率。
- 一致性協定: MESI/MOESI 多核心快取一致性開銷。
- 預取器: 硬體/軟體預取提前將資料載入快取,掩蓋延遲。
快取是 CPU 微架構中效能杠桿最大的單元之一;開發者可透過資料結構排版 (cache-friendly)、迴圈分塊、預取指示釋放潛能。