120 likes | 236 Views
No Assembly line. Assembly line - start up. 1. 2. 3. 4. 5. Chassis Axels Motor Seats Body. Start up waste. t. Assembly line - stop. 1. 2. 3. 4. 5. Chassis Axels Motor Seats Body. Nothing to do. Assembly line. At start: final stations idle At stop: start stations idle
E N D
Assembly line - start up 1. 2. 3. 4. 5. Chassis Axels Motor Seats Body Start up waste t
Assembly line - stop 1. 2. 3. 4. 5. Chassis Axels Motor Seats Body Nothing to do
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
Time-set car Cycles instruction 5 cycles 1 instr. = 5 5 cycles 5 instr. = 1 Assembly line Without pipelining: With pipelining
Pipelining T = Nq * CPI * Tc We can bring this But what down to 1 determines this? The slowest pipeline stage “Rate determining step”
Pipeline is most efficient... ...when the work is equally shared “critical path” delay same for each stage or as close as possible
How do we break up a long critical path? Insert flip - flops!
But - “no free lunch” 30 ns • Delay: 30 ns 10 ns • Latency: 1 cycle 3 cycles • Also: The flip-flops have a cost! 10 ns 10 ns 10 ns
Pipeline problem: • Start-up waste • Unexpected problem in a stage (stall) • No more orders (flush)
Zeroext. = = Branch logic 0 A ALU 4 B + = = 31 + Sgn/Ze extend