晶片層 開放閱讀

L1 快取

L1 Cache

概念 ID
l1-cache
更新時間
2026-05-29
來源數量
待補

L1 快取

3 秒看懂

L1 Cache 是離 CPU 核心最近、訪問速度最快、但容量最小的片上快取記憶體。 它是處理器執行流水線的第一級儲存屏障——指令取指和資料讀寫若命中 L1,可在 1~5 個時鐘週期內完成;若未命中,代價是數十到數百週期的逐級回退。L1 的容量、延遲與命中率,直接決定了單核 IPC(每週期指令數)的上界。

3 分鐘產業解釋

為什麼 L1 快取是”晶片上的黃金地產”

現代處理器的主頻已達 4-6 GHz(桌面/伺服器),而 DRAM 訪問延遲約 50-80 ns,相當於 200-400+ 個時鐘週期。如果沒有快取層級(Memory Hierarchy),處理器大部分時間都在”空轉等待資料”。

L1 快取位於這個層級的最頂端:

┌──────────┐   ~0.5-1.5 ns (3-5 cycles)
│  L1 Cache │  ← 32~80 KB/core
├──────────┤   ~1-5 ns (10-20 cycles)
│  L2 Cache │  ← 256 KB~2 MB/core
├──────────┤   ~5-15 ns (30-70 cycles)
│  L3 Cache │  ← 數 MB~數百 MB (共享)
├──────────┤   ~50-100 ns (200-400+ cycles)
│   DRAM    │  ← GB 級
└──────────┘

在半導體產業中,L1 快取的設計是CPU 微架構最核心的競爭維度之一。它的面積雖小,但處於關鍵時序路徑上——L1 命中延遲直接疊加到流水線級數中,影響頻率上限和 IPC。Intel、AMD、Arm 各家在 L1 的容量、關聯度、延遲上的取捨,體現了截然不同的架構哲學。

對投資者而言,理解 L1 快取的意義在於:它是評估一顆處理器”單核效能基線”的最底層技術指標,也是理解為什麼製程縮微(更小的 SRAM cell → 更大的 L1 或更短的線延遲)能直接轉化為效能收益的關鍵一環。

15 分鐘專家深入

一、L1 在 CPU 微架構中的位置

L1 快取不是一個”獨立的儲存模組”,而是深度嵌入處理器流水線的功能單元:

  • L1-I(指令快取, L1 Instruction Cache):服務於取指階段(Fetch Stage),與分支預測器(Branch Predictor)緊密耦合。取指單元每個週期向 L1-I 發起請求,獲取 16-32 位元組的指令行(Fetch Line)。
  • L1-D(資料快取, L1 Data Cache):服務於執行階段的 Load/Store 單元。現代超標量處理器每週期可發出 2-4 個 Load 和 1-2 個 Store 請求,要求 L1-D 具有多埠(multi-ported)或 Bank 交叉(bank-interleaved) 的訪問能力。

這種指令/資料分離的 L1 設計(Modified Harvard Architecture) 自 1980 年代末的 RISC 處理器以來已成標準範式,原因是指令流和資料流有不同的空間區域性性特徵和頻寬需求,分離後可獨立最佳化。

二、L1 的微觀結構

SRAM Cell

L1 由 SRAM(Static Random-Access Memory) 構成,每個 bit 需要 6 個電晶體(6T cell)。SRAM 的特點是:

  • 無需重新整理,訪問延遲極低(可在一個週期內完成讀/寫)
  • 面積大:相比 DRAM 的 1T1C 結構,每 bit 面積大 5-10 倍
  • 與邏輯工藝相容:L1 與 CPU 邏輯共享同一製程,無需特殊工藝步驟

關鍵約束:L1 容量的上限,本質上由 SRAM 面積預算和訪問延遲共同決定。面積越大 → 譯碼/位線更長 → 延遲越高 → 可能需要增加流水線級。

組織方式

典型 L1-D 採用 N-way 組相聯(Set-Associative) 結構:

L1-D 組織示意(以 32KB, 8-way, 64B line 為例):

         Set 0    Set 1    Set 2   ...   Set 63
Way 0: [  Line  ] [  Line  ] [  Line  ] ... [  Line  ]
Way 1: [  Line  ] [  Line  ] [  Line  ] ... [  Line  ]
  ...
Way 7: [  Line  ] [  Line  ] [  Line  ] ... [  Line  ]

- 總 Sets = 32KB / (8 ways × 64B/line) = 64 Sets
- 地址劃分: [ Tag | Set Index (6 bits) | Block Offset (6 bits) ]
  • 關聯度(Associativity):現代 L1-D 典型為 4-way 到 12-way。關聯度越高 → 衝突未命中越少 → 但比較電路更復雜、延遲更高。
  • 快取行大小(Cache Line Size):絕大多數現代處理器為 64 位元組,部分架構(如早期某些 Arm 設計)曾用 32 位元組。

三、延遲與時序——為什麼 L1 延遲是硬約束

L1 延遲是處理器最關鍵的時序路徑之一。它直接疊加到 Load-to-Use 延遲中:

架構L1-D 延遲(週期)關聯度容量備註
Intel Golden Cove (Alder Lake P-core)5 cycles12-way48 KB[Intel 官方最佳化手冊]
Intel Raptor Cove (Raptor Lake P-core)5 cycles12-way48 KB[同上]
AMD Zen 4 (Genoa/Raphael)4 cycles [估算]8-way32 KB[Agner Fog 指令表/社群測試]
Arm Cortex-X44 cycles [Arm TRM]可配置64 KB[Arm 官方 TRM]
Apple M 系列 (Firestorm/Avalanche 等)3 cycles [估算]~12-way~128 KB[社群反向工程/估算]

⚠️ 來源說明:上表中 Intel 資料引自其公開最佳化參考手冊和微架構白皮書;AMD 延遲資料參考 Agner Fog 指令時序表及社群實測;Arm 資料參考 Cortex-X4 TRM;Apple 資料為社群逆向工程估算值,未經官方確認。具體數字可能因實現和測量方法略有差異。

關鍵洞察

  • Apple 通過堆大面積 L1(128 KB)換取極高的單核 IPC,配合其高頻率設計,是”以面積換效能”的典型。
  • Intel 自 Ice Lake (Sunny Cove) 起將 L1-D 增至 48 KB(12-way),但延遲從 4 週期增到 5 週期——容量與延遲的權衡。
  • AMD Zen 系列長期保持 32 KB L1-D,將更多面積預算給 L2(Zen 4 為 1 MB),走”小 L1 + 大 L2”路線。

四、L1 一致性與多核挑戰

在多核系統中,每個核心有獨立的 L1。當多個核心訪問同一記憶體地址時,必須維護 快取一致性(Cache Coherence)

主流一致性協議:

  • MESI/MOESI 協議:每個快取行有 Modified/Exclusive/Shared/Invalid 等狀態位。L1 中的每條快取行都需要維護這些狀態。
  • Snoop-based(監聽式):核心通過匯流排/環形互連廣播失效請求。Intel 傳統上用 Ring Bus + Snoop。
  • Directory-based(目錄式):維護集中式目錄追蹤哪些 L1 持有某行的副本,減少廣播開銷。更適合大規模多核(如 AMD Zen 的 Infinity Fabric + 目錄)。

L1 一致性流量對功耗和效能的影響:L1 越大,需要維護一致性的行越多,一致性協議的探查(snoop)開銷也越大。這是 L1 不能無限增大的原因之一。

五、L1 預取(Prefetching)

現代 L1 配備硬體預取器,在檢測到連續或步進式的訪問模式時,提前將後續快取行拉入 L1:

  • Stride Prefetcher:檢測固定步長的訪問模式
  • Stream Prefetcher:檢測連續流式訪問
  • L1 預取與 L2 預取協同:L1 預取器通常將預取請求發給 L2,由 L2 決定是否從更下層獲取

預取的挑戰:過度預取(Aggressive Prefetching) 會汙染 L1 有用資料,降低有效命中率。預取精度 vs 覆蓋率的權衡是微架構設計的核心問題。


技術原理

L1 讀操作的完整資料通路

CPU Pipeline:  Decode/Issue → AGU → L1-D 查詢 → 資料返回 → Execute

L1-D 內部流程(簡化):
┌─────────────────────────────────────────────────────────┐
│  地址輸入: [Tag (高位) | Index (選 Set) | Offset (選位元組)]│
│                        │                                 │
│                   ┌────▼────┐                            │
│                   │ Set 譯碼 │  → 選定一個 Set (行集合)    │
│                   └────┬────┘                            │
│            ┌───────────┼───────────┐ ... ┌───────┐      │
│            ▼           ▼           ▼     ▼       │      │
│       ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐│      │
│       │ Way 0  │ │ Way 1  │ │ Way 2  │ │Way N-1 ││      │
│       │ Tag+   │ │ Tag+   │ │ Tag+   │ │ Tag+   ││      │
│       │ Data   │ │ Data   │ │ Data   │ │ Data   ││      │
│       └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘│      │
│           │          │          │          │      │      │
│           ▼          ▼          ▼          ▼      │      │
│       ┌──────────────────────────────────────────┐│      │
│       │      Tag 比較 + Valid 位檢查 (並行)        ││      │
│       └──────────────────┬───────────────────────┘│      │
│                          │                         │      │
│                    ┌─────▼─────┐                   │      │
│                    │ Hit/Miss? │                   │      │
│                    └─────┬─────┘                   │      │
│                   Hit    │    Miss                  │      │
│              ┌───────┐   │   ┌──────────────┐      │      │
│              │MUX 選中│   │   │ 發請求給 L2  │      │      │
│              │對應 Way│   │   │ (Miss Handler)│      │      │
│              └───┬────┘   │   └──────────────┘      │      │
│                  ▼        │                          │      │
│           資料 → 流水線    │                          │      │
└─────────────────────────────────────────────────────────┘

關鍵引數解釋

引數典型值含義
容量32~192 KB/core越大 → 命中率越高,延遲越高
關聯度4-way ~ 12-way越高 → 衝突 miss 越少,比較器越多
快取行64 Bytes與記憶體頁對齊,利用空間區域性性
訪問延遲3~5 cycles從地址輸入到資料可用
頻寬32~64 Bytes/cycle/core每週期可讀出的資料量
2-Read + 1-Write (典型)支援每週期多 Load + Store
寫策略Write-Back(典型)寫操作僅修改 L1,髒行在被替換時寫回 L2
替換策略Pseudo-LRU / Adaptive近似 LRU,硬體實現成本低

寫操作與寫緩衝

  • Write-Back 策略:寫命中時僅修改 L1 中的資料並標記為 Dirty,不立即寫回 L2。被替換時才寫回 → 減少 L2 寫頻寬。
  • Write Buffer(寫緩衝區):當 Store 執行時,資料先寫入 Store Buffer(在流水線中),隨後非同步寫入 L1-D。Store Buffer 還用於支援 Store-to-Load Forwarding(後續 Load 可直接從 Store Buffer 獲取資料,無需等待寫入 L1)。
  • Write Combining:對某些 Non-Temporal Store 或 MMIO 區域,可將多個小寫合併為一個快取行寫入,減少匯流排事務。

虛擬索引物理標籤(VIPT)與快取一致性

  • PIPT(Physically Indexed, Physically Tagged):地址在 TLB 翻譯後才查快取 → 無歧義,但 TLB 查詢疊加到延遲中。
  • VIPT(Virtually Indexed, Physically Tagged):用虛擬地址低位(page offset 內的部分)作為索引,可與 TLB 查詢並行 → 延遲更低,但需處理同義(synonym)問題。
  • 關鍵約束:VIPT 要保證 Index 位完全落在 page offset 之內,即 L1 容量 / 關聯度 ≤ Page Size。對於 4KB 頁,每路容量不超過 4 KB。Intel 的 48 KB L1-D 採用 12-way 關聯度,每路大小恰好為 4 KB,因此索引位完全在頁內偏移範圍內,與標準的 VIPT 無別名條件一致,無需額外的同義檢測機制。

這是 Intel 將 L1-D 擴充套件到 48KB 但仍能使用類 VIPT 方案的實現細節之一,具體工程方案未完全公開 [Intel 未充分揭露]。


技術演進史

時間線

時期代表架構L1-D 規格關鍵變革
1985MIPS R2000無片上快取(外部)RISC 原型,依賴外部快取
1989Intel 4868 KB 統一 L1首次在 x86 中整合片上快取
1993Pentium8KB I + 8KB D (分離)x86 首次採用分離 L1
1995Pentium Pro8KB I + 8KB D引入 Out-of-Order + 多級快取
2000Pentium 4 (Willamette)Trace Cache(約 12K uops)+ 8KB L1-DTrace Cache 實驗
2006Intel Core 2 (Merom)32KB I + 32KB D (8-way)迴歸保守設計,高命中率
2011Intel Sandy Bridge32KB I + 32KB D (8-way)延續穩定設計
2017AMD Zen64KB I + 32KB D (4-way I / 8-way D)AMD 大幅增加 L1-I 容量
2019Arm Cortex-A7764KB I + 64KB DArm 移動核心 L1 逼近桌面級
2021Intel Alder Lake (Golden Cove)32KB I + 48KB D (8-way I / 12-way D)L1-D 48KB(首次於 Ice Lake 引入)
2022Apple Avalanche192KB I + 128KB D [估算]Apple 激進堆面積

趨勢總結

  1. 容量緩慢增長:過去 20 年 L1-D 從 8KB → 32KB → 48KB,增速遠低於 L2/L3
  2. 延遲基本持平或略增:製程進步帶來的線延遲縮短,被容量增長和頻率提升部分抵消
  3. 關聯度持續提高:從 4-way → 8-way → 12-way,減少衝突未命中
  4. L1-I 趨向更大:尤其在 Arm 生態中,64KB L1-I 已成標配

技術路線對比

主流桌面/伺服器處理器 L1 快取規格對比

特性Intel (Golden Cove P-core)AMD (Zen 4)Arm (Cortex-X4)Apple (Avalanche)
L1-I 容量32 KB32 KB64 KB~192 KB [估算]
L1-D 容量48 KB32 KB64 KB~128 KB [估算]
L1-I 關聯度8-way8-way4-way [Arm TRM]~12-way [估算]
L1-D 關聯度12-way8-way4-way [Arm TRM]~12-way [估算]
快取行大小64B64B64B64B
L1-D 延遲5 cycles~4 cycles [估算]~4 cycles [Arm TRM]~3 cycles [估算]
寫策略Write-BackWrite-BackWrite-BackWrite-Back
典型工藝Intel 7TSMC 5nmTSMC 4nmTSMC 5nm [估算]
設計哲學容量適中 + 高關聯度傾斜給 L2 (1MB)高頻寬 + 大容量極致面積換延遲

來源說明:Intel 規格見 Intel Architecture Optimization Reference Manual;AMD 規格參考 AMD Software Optimization Guide 及社群測試資料;Arm 規格見 Cortex-X4 TRM;Apple 規格為社群逆向分析估算,未經官方確認。


上下游

上游:L1 快取的”製造依賴”

┌──────────────────────────────────────────────────┐
│                 L1 快取的上游                       │
├──────────────────────────────────────────────────┤
│                                                  │
│  EDA 工具 ──→ SRAM 編譯器(Cache Compiler)       │
│               ├─ Synopsys Memory Compiler         │
│               ├─ Cadence Memory Compiler          │
│               └─ 自研(大廠如 Intel/Apple)         │
│                                                  │
│  製程工藝 ──→ SRAM bit cell 面積                   │
│               ├─ 5nm → ~0.021 μm²/bit [估算]      │
│               ├─ 3nm → ~0.015 μm²/bit [估算]      │
│               └─ 面積縮小 → 同面積更大 L1           │
│                                                  │
│  IP 授權  ──→ Arm 授權的 CPU 核自帶 L1 設計         │
│               └─ 或自研(Apple/高通 Nuvia)          │
│                                                  │
└──────────────────────────────────────────────────┘

下游:L1 如何影響系統表現

  • CPU IPC:L1 命中率直接決定 IPC 上限。L1 miss 導致流水線停頓(stall)。
  • 編譯器/軟體最佳化:資料結構版面配置(Data-Oriented Design)、迴圈分塊(Loop Tiling)等技術的核心目標就是提升 L1 命中率。
  • 虛擬化/Hypervisor:L1 在 VM 遷移時無需特殊處理(它是 per-core 的瞬態狀態),但 cache flush 在上下文切換時有效能開銷。
  • 安全性:Spectre 等側通道攻擊利用 L1 的時序側通道(命中/未命中的時間差異)洩露資料 → 催生了 L1 快取分割槽(Cache Partitioning)和 Flush 等安全機制。

關鍵指標

評估 L1 快取設計的核心指標:

指標定義為何重要
命中率(Hit Rate)L1 訪問命中 / 總 L1 訪問核心效能指標,典型 >95%
AMAT(Average Memory Access Time)Hit Time + Miss Rate × Miss Penalty衡量快取子系統整體效率
Load-to-Use LatencyLoad 指令發射到資料可用的週期數直接影響流水線停頓
頻寬(Bandwidth)每週期可服務的位元組數超標量執行需要高 L1 頻寬
面積效率(Area Efficiency)KB / mm²在給定工藝下能整合多大的 L1
功耗密度(Power Density)mW / KBSRAM 漏電隨工藝縮微惡化
MPKI(Misses Per Kilo-Instruction)每千條指令的 L1 miss 次數用於跨工作負載比較

供需與市場資料

L1 快取不是一個獨立的”市場”——它是 CPU 微架構的內生組成部分

L1 快取沒有獨立的供需市場。其規模和設計決策由以下因素驅動:

  • 製程縮微紅利:工藝從 7nm → 5nm → 3nm,SRAM bit cell 面積每代縮小約 20-30% [行業報告估算]。這意味著在相同面積預算下,可容納更大的 L1 或保持 L1 大小但降低功耗。
  • 工作負載變化:AI 推論、資料庫等隨機訪問密集型工作負載對 L1 容量更敏感;流式計算(如影片編碼)對 L1 頻寬更敏感。
  • 移動 vs 桌面:移動處理器(如 Arm Cortex-X 系列)因功耗約束,L1 容量通常小於桌面處理器,但近年差距在縮小。

行業趨勢資料

  • 全球 CPU 出貨量(含 x86 + Arm)每年數十億顆,每顆包含數個到上百個 L1 快取例項 [行業估算]。
  • SRAM 在先進製程晶片中的面積佔比:典型高效能核心中,L1 + L2 SRAM 可佔核心面積的 30-50% [學術論文估算,ISSCC/Hot Chips 公開資料]。
  • 台積電 3nm 工藝中,SRAM 密度約 30-40 Mbit/mm² [台積電公開技術簡報估算]。

代表公司與資本對映

L1 快取相關公司全景

層面代表公司與 L1 的關係
CPU 設計(L1 定義者)Intel、AMD、Apple、高通(Nuvia)、Arm定義 L1 容量/延遲/關聯度等微架構引數
EDA 工具Synopsys (SNPS)、Cadence (CDNS)提供 SRAM 編譯器,幫助生成 L1 物理設計
晶圓代工TSMC、Samsung、Intel FoundrySRAM bit cell 面積由製程決定
測試裝置Keysight (KEYS)、Advantest快取功能/時序的驗證
安全 IPArm (Arm Confidential Compute)L1 快取隔離和側通道防護方案

資本對映邏輯

  • Synopsys / Cadence:所有先進製程晶片的 L1 設計都依賴其 SRAM 編譯器,是”賣鏟子”的確定性受益者
  • TSMC:製程進步 → SRAM 更密 → L1 可更大或更省電,製程領先直接轉化為 L1 設計優勢
  • Arm:通過 CPU IP 授權(Cortex-X/A 系列)直接影響全球數十億顆 SoC 的 L1 設計

投資邏輯

L1 快取本身不直接構成投資標的,但它是理解以下投資邏輯的關鍵底層知識:

  1. “製程為王”邏輯的技術支撐

    • 製程每前進一代,SRAM 密度提升 → L1 容量可增大或延遲降低 → 直接提升單核效能。這是台積電製程領先能轉化為效能溢價的微觀機制之一。
  2. 處理器效能評估的”透視鏡”

    • 評估 Intel vs AMD vs Arm 處理器競爭時,L1 規格是最底層的硬指標。例如,Apple 通過堆疊超大 L1(~192KB I + ~128KB D [估算])實現單核領先,說明在移動功耗約束下”面積換效能”仍然有效。
  3. SRAM 縮微放緩 → 風險訊號

    • 近代工藝中,SRAM 縮微速度開始慢於邏輯縮微(Logic Scaling)[ISSCC 公開討論]。如果 SRAM 面積不再有效縮小,L1 容量增長將受限,可能成為效能提升的瓶頸,推動行業尋找替代儲存技術(如 MRAM、STT-MRAM 作為 L1 的可能替代,但目前延遲差距巨大)。
  4. 安全側通道 → 新增開銷

    • Spectre/Meltdown 類漏洞迫使處理器引入 L1 快取分割槽、頻繁 flush 等機制,帶來效能損失(可能 5-15% [公開安全評估]),也為安全 IP 提供了新增需求。

常見誤讀糾偏

❌ 誤讀 1:“L1 快取越大,效能一定越好”

糾偏:L1 增大帶來的收益服從遞減規律。從 32KB 增至 64KB,命中率提升可能僅 1-3 個百分點,但延遲可能從 4 週期增到 5-6 週期。當命中率已經很高(>95%)時,額外容量的邊際收益很小,而延遲增加對每次訪問都有影響。最佳 L1 大小是命中率提升收益 ≈ 延遲增加損失的平衡點。Apple 的策略之所以有效,部分原因是其處理器頻率極高(單週期時間極短),即使多一週期延遲,絕對時間仍很短,且其工作負載對 L1 容量敏感。

❌ 誤讀 2:“L1 miss 就是去 DRAM 拿資料”

糾偏:L1 miss 後,資料請求首先發往 L2(通常 ~10-20 週期),L2 miss 再去 L3(~30-70 週期),L3 miss 才去 DRAM(~200+ 週期)。快取層級是逐級回退的,不是跳級。而且 L2/L3 通常採用包含(Inclusive)或非包含(Non-inclusive/Exclusive) 策略,影響一致性維護複雜度和有效容量。

❌ 誤讀 3:“L1 快取設計是標準化的,各家差不多”

糾偏:L1 設計是各 CPU 廠商差異化競爭的核心領域之一。從上文對比表可以看出,Intel(48KB D, 12-way, 5 cycle)、AMD(32KB D, 8-way, ~4 cycle)、Apple(~128KB D [估算])三家的設計哲學截然不同。L1 的選擇映射了對目標工作負載、功耗預算、面積預算的綜合判斷。

❌ 誤讀 4:“SRAM 工藝和邏輯工藝是分開的,L1 用的是特殊 SRAM 工藝”

糾偏:在現代 SoC 中,L1 快取的 SRAM 與 CPU 邏輯共享同一製程節點(如 TSMC 5nm)。SRAM 和邏輯是同一晶片上用同一次光刻流程製造的。雖然部分晶片會在特定區域使用”高密度 SRAM 版本”的 bit cell,但這不是獨立工藝,而是同一製程的 cell library 變體。


學習路徑

入門級(建立直覺)

  1. 《Computer Organization and Design》 (Patterson & Hennessy) — 第 5 章 Memory Hierarchy,入門首選
  2. CS:APP (Computer Systems: A Programmer’s Perspective) 第 6 章 — 從程式設計師視角理解快取層次
  3. 實驗:編寫簡單的 C 程式測量陣列遍歷的快取行為(行優先 vs 列優先)

進階級(理解微架構)

  1. **《Computer Archi
source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型