計算機組織與結構›Ch5 管線化(Pipeline)第 11 題/共 58 題
11. RISC-V Pipeline、Forwarding、Hazard Detection、Datapath Latency
#CC-05-011中RISC-V PipelineForwardingHazard DetectionDatapath Latency
考慮一個5-stage(IF, ID, EX, MEM, WB)RISC-V管線化處理器(Figure 1),由具有下列latency的邏輯區塊組成(未指定的區塊latency視為0):
| I-Mem / D-Mem R/W | Register File R/W | Mux | ALU | Adder / Shifter/Comparator | PC R/W | Single gate | Imm Gen | Control/ALU Control | Pipeline Register R/W | Forwarding Unit/Hazard Detection Unit |
|---|---|---|---|---|---|---|---|---|---|---|
| 280 ps | 180 ps | 25 ps | 200 ps | 50 ps | 30 ps | 5 ps | 50 ps | 80 ps | 30 ps | 50 ps |
R-type指令格式(add/sub rd, rs1, rs2):
| funct7 (7 bits) | rs2 (5 bits) | rs1 (5 bits) | funct3 (3 bits) | rd (5 bits) | opcode (7 bits) |
|---|
給定下列程式碼片段:
#1 lw x10, 100(x5)
#2 add x2, x10, x2
#3 add x2, x2, x4
#4 sub x6, x2, x6
(a) (10 pts) 哪一個pipeline stage決定了clock cycle time? (b) (5 pts) 當第一個指令(lw)在MEM stage時,哪些指令正在ID(b1)與EX(b2)stage執行?(請填寫instruction number,不要寫instruction本身) (c) (5 pts) 當sub指令(#4)在EX stage時,control signal ForwardA(c1)與ForwardB(c2)應該分別設為什麼值? (d) (5 pts) sub指令的control signal RegWrite(d1)、MemtoReg(d2)、MemRead(d3)、MemWrite(d4)分別是什麼?

📄 台大110
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch5 管線化(Pipeline)