萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 電腦入門

CPU 快取 (Cache) 深度解析:原理、SRAM 特性、三級架構與效能影響

什麼是 CPU 快取?

CPU Cache 位於 CPU 核心與主記憶體 (DRAM) 之間的高速暫存區。容量遠小於記憶體 (KB~MB 級),但存取速度快數十倍 (接近 CPU 時脈)。

存在意義:解決「速度牆」

  • CPU 運算速度 (GHz 級) 遠超 DRAM 存取延遲 (百奈秒級)。
  • 無快取時,CPU 大量週期等待資料搬運,效能嚴重受限。
  • 快取儲存「近期/即將存取」的熱點資料/指令,命中時直接由快取供給,繞過 DRAM,大幅降低平均存取延遲 (AMAT)。

工作原理:空間與時間局部性

  1. CPU 讀取資料 → 先查 L1 → 命中即回傳;未命中 → 查 L2 → L3 → DRAM。
  2. 未命中時,以 快取行 為單位 (典型 64 Bytes) 從下一層調入整塊資料,利用空間局部性 (相鄰資料近期大概率被存取)。
  3. 近期存取過的資料大概率再次被存取 (時間局部性),留在快取中等待複用。
  4. 現代 CPU 命中率通常 > 90% (L1/L2 更高),有效隱藏記憶體延遲。

CPU 快取層級
快取存取流程

三級快取架構演進

層級位置容量/核心延遲 (週期)特性
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)、迴圈分塊、預取指示釋放潛能。
copyright © 萬盛學電腦網 all rights reserved