Chapter One Introduction to Pipelined Processors
Linear pipeline (Static & Unifunctional) In a linear pipeline data flows from one stage to another and all stages are used once in a computation and it is for one functional evaluation.
Nonlinear Pipeline
Non-linear pipeline In floating point adder, stage (2) and (4) needs a shift register. We can use the same shift register and then there will be only 3 stages. Then we should have a feedback from third stage to second stage. Further the same pipeline can be used to perform fixed point addition. A pipeline with feed-forward and/or feedback connections is called non-linear
Example: 3-stage nonlinear pipeline
3 stage non-linear pipeline Output A Input Output B Sa Sb Sc It has 3 stages Sa, Sb and Sc and latches. Multiplexers(cross circles) can take more than one input and pass one of the inputs to output Output of stages has been tapped and used for feedback and feed-forward.
3 stage non-linear pipeline The above pipeline can perform a variety of functions. Each functional evaluation can be represented by a particular sequence of usage of stages. Some examples are: Sa, Sb, Sc Sa, Sb, Sc, Sb, Sc, Sa Sa, Sc, Sb, Sa, Sb, Sc
Reservation Table Each functional evaluation can be represented using a diagram called Reservation Table(rt). It is the space-time diagram of a pipeline corresponding to one functional evaluation. X axis – time units Y axis – stages
Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called function A , we have 1 2 3 4 5 Sa A Sb Sc
Reservation Table For second sequence Sa, Sc, Sb, Sa, Sb, Sc called function B, we have 1 2 3 4 5 Sa B Sb Sc
3 stage non-linear pipeline Output A Output B Sa Sb Sc Input Reservation Table Time 1 2 3 4 5 Sa Sb Sc Stage
Function A
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
3 stage pipeline : Sa, Sb, Sc, Sb, Sc, Sa Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa A Sb Sc Stage
Function B
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
3 stage pipeline: Sa, Sc, Sb, Sa, Sb, Sc Output A Input Output B Sa Sb Sc Reservation Table Time 1 2 3 4 5 Sa B Sb Sc Stage
Reservation Table After starting a function, the stages need to be reserved in corresponding time units. Each function supported by multifunction pipeline is represented by different RTs Time taken for function evaluation in units of clock period is compute time.(For A & B, it is 6)
Reservation Table Marking in same row => usage of stage more than once Marking in same column => more than one stage at a time
Multifunction pipelines Hardware of multifunction pipeline should be reconfigurable. Multifunction pipeline can be static or dynamic
Multifunction pipelines Static: Initially configured for one functional evaluation. For another function, pipeline need to be drained and reconfigured. You cannot have two inputs of different function at the same time
Multifunction pipelines Dynamic: Can do different functional evaluation at a time. It is difficult to control as we need to be sure that there is no conflict in usage of stages.