Datorteknik Pipeline1 bild 1 No Assembly line
Datorteknik Pipeline1 bild 2 Assembly line - start up ChassisAxelsMotorSeatsBody Start up waste t
Datorteknik Pipeline1 bild 3 Assembly line - stop ChassisAxelsMotorSeatsBody Nothing to do
Datorteknik Pipeline1 bild 4 Assembly line At start: final stations idle At stop: start stations idle 5 “stages” for each car Each car still takes 5 stages but we produce one car each step
Datorteknik Pipeline1 bild 5 Assembly line Time-set car Cycles instruction = 5 5 cycles 1 instr. = 1 5 cycles 5 instr. Without pipelining: With pipelining
Datorteknik Pipeline1 bild 6 Pipelining T = Nq * CPI * Tc We can bring thisBut what down to 1 determines this? The slowest pipeline stage “Rate determining step”
Datorteknik Pipeline1 bild 7 Pipeline is most efficient......when the work is equally shared “critical path” delay same for each stage or as close as possible
Datorteknik Pipeline1 bild 8 How do we break up a long critical path? Insert flip - flops!
Datorteknik Pipeline1 bild 9 But - “no free lunch” Delay: 30 ns 10 ns Latency:1 cycle3 cycles Also: The flip-flops have a cost! 30 ns 10 ns
Datorteknik Pipeline1 bild 10 Pipeline problem: Start-up waste Unexpected problem in a stage (stall) No more orders (flush)
Datorteknik Pipeline1 bild 11 Branch logic Sgn/Ze extend Zero ext. ALU A B = = = =