Chapter Six
1
2004 Morgan Kaufmann Publishers
Chapter Six 1 2004 Morgan Kaufmann Publishers Pipelining The - - PowerPoint PPT Presentation
Chapter Six 1 2004 Morgan Kaufmann Publishers Pipelining The laundry analogy for pipelining: 2 2004 Morgan Kaufmann Publishers Pipelining Improve performance by increasing instruction throughput Single cycle 2400 ps
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
Time 2 4 6 8 10 add $s0, $t0, $t1
ID WB EX MEM
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
add $s0, $t0, $t1 sub $t2, $s0, $t3 Program execution
(in instructions) IF ID WB EX IF ID MEM EX Time 2 4 6 8 10 MEM WB MEM
2004 Morgan Kaufmann Publishers
Time 2 4 6 8 10 12 14 lw $s0, 20($t1) sub $t2, $s0, $t3 Program execution
(in instructions) IF ID WB MEM EX IF ID WB MEM EX
bubble bubble bubble bubble bubble
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
Instruction fetch Reg ALU Data access Reg
Instruction fetch Reg ALU Data access Reg
Instruction fetch Reg ALU Data access Reg
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
Program execution
(in instructions) lw $1, 100($0) lw $2, 200($0) Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC7 IM DM Reg Reg ALU IM DM Reg Reg ALU
2004 Morgan Kaufmann Publishers
lw $3, 300($0) IM DM Reg Reg ALU
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
Instruction Execution/address calculation stage control lines Memory access stage control lines Write-back stage control lines RegDst ALUOp1 ALUOp0 ALUSrc Branch MemRead MemWrite RegWrite MemtoReg R-format 1 1 1 lw 1 1 1 1 sw X 1 1 X beq X 1 1 x
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
1a.EX/MEM.RegRd = ID/EX.RegRs
2004 Morgan Kaufmann Publishers
1a.EX/MEM.RegRd = ID/EX.RegRs 1b.EX/MEM.RegRd = ID/EX.RegRt 2a.MEM/WB.RegRd = ID/EX.RegRs 2b.MEM/WB.RegRd = ID/EX.RegRt
ID/EX MEM/WB EX/MEM M u x ALU ID/EX MEM/WB Data memory EX/MEM
Registers
2004 Morgan Kaufmann Publishers
Registers M u x M u x ALU Data memory M u x Forwarding unit
ForwardB Rd EX/MEM.RegisterRd MEM/WB.RegisterRd Rt Rt Rs ForwardA M u x
2a.MEM/WB.RegRd = ID/EX.RegRs 2b.MEM/WB.RegRd = ID/EX.RegRt 1a.EX/MEM.RegRd = ID/EX.RegRs 1b.EX/MEM.RegRd = ID/EX.RegRt
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers RegWrite RegWrite
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers
2004 Morgan Kaufmann Publishers