<超標量處理器概覽> 第 7 章 - 暫存器重命名

7.1 - 概述 程式中不同指令的相關性 (dependency) 可以分類為: 數據相關性 (data dependency),包含以下幾種類型: WAW (Write After Write) dependency,i.e. output dependence: 兩條指令都將結果寫到同一個 destination register 中 WAR (Write After Read) dependency,i.e. anti-dependence: 一條指令的 destination register 和它前面某條指令的 source register 相同 RAW (Read After Write) dependency,i.e. true dependence: 一條指令的 source register 和它前面某條指令的 destination register 相同 只有 RAW 是真的相關性, WAR 和 RAW 可以透過 register renaming 來解決 記憶體數據相關性 (memory data dependency): Load 和 store 指令之間的相關性,代表 load 和 store 指令都存取到同一個位址 同樣也分為 WAW、WAR、RAW dependencies 控制相關性 (control dependency): ...

2025/03/27 · 21 分鐘 · 4289 字 · 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