Spring 2015 Week 8 Module 45 Digital Circuits and Systems Interleaving + Parallelism Shankar Balachandran* Associate Professor, CSE Department Indian Institute of Technology Madras *Currently a Visiting Professor at IIT Bombay
Acknowledgements  MIT’s Open Course Contents of 6.004 Pipelining Methodology 2
Problem with Pipelining  Slowest component becomes the bottleneck Pipelining Methodology 3
Pipelined Components  Pipeline the slowest component  Here, throughput = 1  Replacing a slow combinational component with a k- pipe version may increase clock frequency  Must account for new pipeline stages in our plan Pipelining Methodology 4
Laundry Example  Find a place with twice as many dryers as washers.  Throughput = 1/30 loads/min.  Latency = 90 mins/load Pipelining Methodology 5
Back to Our Bottleneck  C is the slowest  Either find a pipelined version of C  Or interleave multiple copies of C Pipelining Methodology 6
Circuit Interleaving  Copy the critical element  Alternate between copies to simulate pipelining of the slowest component Pipelining Methodology 7
Interleaving Pipelining Methodology 8
Interleaving Latency = 2 cycles  Clock period 0: X0 presented at input, propagates through upper latch, C0  Clock period 1: X1 presented at input, propagates through lower latch, C1.  C0(X0) propagates to register inputs.  Clock period 2: X2 presented at input, propagates through upper latch, C.  C0(X0) loaded into register, appears at output. Pipelining Methodology 9
N-Way Interleaving Pipelining Methodology 10
Combine Interleaving with Pipelining  Shifts the bottleneck from C to F Pipelining Methodology 11
And a Little Parallelism  Combine Interleaving and pipelining with parallelism  Throughput = 2/30 = 1/15 load/min  Latency = 90 min Pipelining Methodology 12
Summary  Latency (L) = time it takes for given input to arrive at output  Throughput (T) = rate at each new outputs appear  For combinational circuits: L = t PD of circuit, T = 1/L  For K-pipelines (K > 0):  always have register on output(s)  K registers on every path from input to output  Inputs available shortly after clock i, outputs available shortly after clock (i+K)  T = 1/(t PD,REG + t PD of slowest pipeline stage + t SETUP )  more throughput =>split slowest pipeline stage(s)  use replication/interleaving if no further splits possible  L = K / T  pipelined latency >= combinational latency Pipelining Methodology 13
End of Week 8: Module 45 Thank You Pipelining Methodology 14
Recommend
More recommend