<超標量處理器概覽> 第 2 章 - Cache

2.1 - Cache 的一般設計 L1 Cache 通常分為 I-Cache 和 D-Cache,為 private cache I-Cache 需要能夠在一個 cycle 內,讀取多條的指令 D-Cache 需要能在一個 cycle 內,處理多條 load/store 指令的訪問,因此需要使用 multi-port 的設計 Instruction fetch 的時候,會向 L1 Cache 嘗試讀取指令,因此 L1 Cache 也是 pipeline 的一部分 L1 Cache 必須保持跟 CPU 相近的速度,因此通常是透過 SRAM 實現的 L2 Cache 通常都是指令和資料一起 share 整個 cache,容量通常以 MB 為單位 現在大部份的 multi-core 都是 shared 同一個 L3 Cache L2 Cache 被訪問的頻率通常不是很高 (L1 Cache miss 才會訪問 L2 Cache),因此不需要使用 multi-port 的設計 需要盡可能的提昇 L2 Cache 的命中率,因為如果 L2 Cache miss,且沒 L3 Cache 的話,就需要去訪問 DRAM 了,訪問時間會很長 2.1.1 - Cache 的組成方式 Set-associative cache: ...

2025/02/13 · 11 分鐘 · 2185 字 · Frank Chang

<超標量處理器概覽> 第 11 章 - 真實世界的例子:Alpha 21264 處理器

11.1 - 概述 DEC 的 Alpha 21264 是 superscalar CPU 的一個典範,其為 4-way out-of-order superscalar CPU,工作頻率是 466 ~ 667 MHz,benchmark:SPECint95 - 40、SPECfp95 - 86;與同時期其他的處理器 benchmark 對比: Alpha 21264 的 pipeline 最多同時支持 80 條指令,以及 80 個 checkpoints,因此對於 branch mis-prediction、exception、interrupt,Alpha 21264 都可以快速地恢復 CPU 狀態 Alpha 21264 的分支預測器實現了基於局部歷史 (Local prediction) 和基於全局歷史 (Global prediction) 兩種預測方式,並根據程式的執行情況,動態選擇預測率最高的方法,這就像是兩種分支預測方式在進行競爭一樣 對於 load/store 指令,Alpha 21264 採用了 Speculative Memory Disambiguation 和 Load hit/miss Prediction Alpha 21264 採用 7-stage pipeline,比較短的 pipeline 使 branch mis-prediction 發生時的 mis-penalty 比較低,從而提高處理器的效率: ...

2025/05/10 · 15 分鐘 · 3101 字 · Frank Chang