210 likes | 218 Views
Discover the principles of pipelining and how they can improve task completion time. Explore two laundry room designs and their impact on utilization and speed. Apply these principles to processor design, specifically for a MIPS processor.
E N D
Prof. Sirer CS 316 Cornell University Pipelining Principles
Meet the Cast • Alice
Meet the Cast • Alice • Bob
Meet the Cast • Alice • Bob • They don’t like each other!
The Laundry • Four sequential tasks
Laundry Room Design #1 • A large room with a one entry-door and one exit-door
Laundry Room Design #1 • First Alice owns the room
Laundry Room Design #1 • First Alice owns the room • Bob can enter as soon as she is done • No possibility for Alice and Bob to fight
Laundry Room Design #1 • Elapsed Time for Alice: 4 • Elapsed Time for Bob: 4 • Elapsed Time for both: 8 • A better laundry room can improve utilization and speed up task completion Time
Laundry Room Design #2 • Elapsed Time for Alice: 4 • Elapsed Time for Bob: 4 • Elapsed Time for both: 5!!! Time
Laundry Room Design #2 • The room is partitioned into stages • One person owns a stage at a time, the room can hold up to four people simultaneously
Laundry Room Design #2 Alice
Laundry Room Design #2 Bob Alice
Laundry Room Design #2 Charlie Bob Alice
Laundry Room Design #2 Dave Charlie Bob Alice
Implications • Principle: Latencies can be masked by running isolated operations in parallel • Need mechanisms for isolation • Need mechanisms for handling dependencies between tasks • Let’s apply this principle to processor design…
MIPS Processor • Functional decomposition of our processor
A MIPS Pipeline • Pipeline stages for a MIPS processor
Pipeline Isolation • Latches between pipeline stages hold the values for the stage to operate on • Latches and register file are triggered on opposite edges of the clock
Pipeline Logic • Additional latches required to store the instruction for each pipeline stage • Copy the instruction forward, generate local control signals separately in each pipeline stage
Pipelining for Other Circuits • Pipelining can be applied to any combinational logic circuit • What’s the circuit latency at 2ns. per gate? • What’s the throughput? • What is the stage breakdown? Where would you place latches? • What’s the throughput after pipelining? • Pipelining vs. superpipelining