前言
- 有一個電腦架構需要設計一個新的微處理器管線。按在有一個程式核心有10^6個指令,且每個只性會花10 ps 來完成。
- 如果在傳統處理器 ( single-cycle ) 架構下執行這個程式核心,將會花多久時間 ?
10^6 * 10 = 10ms
- 目前最好的微處理器的發展會有20個管線階級。假設他是完全管線化的,跟非管線的處理器相比,它的加速比 ( speedup ) 為何 ?
20
- 假設 CPU 能夠執行的指令包含lw, sw, add, beq ,CPU datapath 中有幾個元件是執行指令時會使用到的元件,包含記憶體存取元件(存取時間 100ps) 、ALU 算術邏輯運算單元(存取時間 100ps)、暫存器區塊(存取時間 50ps)等元件。
- 請問在single-cycle CPU 中執行三個 lw 指令總共要花多少時間?
lw 取指令→讀記憶體→ALU→數據存取→寫入暫存器
100 50 100 100 50
100+50+100+100+50 = 400
400*3 = 1200
- 請問在 pipline CPU 架構中執行同樣三個lw 指令總共要花多少時間?