Professional Documents
Culture Documents
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Asynchronous Model
Data flow controlled by handshaking protocol
When a stage Si is ready to transmit, it sends a ready signal to stage Si+1 This is followed by the actual data transfer After stage Si+1 receives the data, it returns an acknowledge signal to Si
Synchronous Model
Clocked latches are used to interface between stages
Latches are flip flops that isolate inputs from outputs. Upon arrival of a clock pulse, all latches transfer data to next stage at same time.
Reservation Table
It specifies the utilization pattern of successive stages in a synchronous pipeline Space time graph depicting precedence relationship in using the pipeline stages
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Clock skewing:
Ideally clock pulses should arrive at all stages at same time, but due to clock skewing, same clock pulse may arrive at different stages with an offset of s Further, let tmax be time delay of longest logic path in a stage and tmin be that of shortest logic path in a stage, then d + tmax + s <= t <= tm + tmin - s
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Speedup
Case 1: Pipelined processor
Ideally, number of clock cycles required by a k stage pipeline to process n tasks is:Np = k + (n-1) (k clock cycles for first task & 1 clock cycle for each of n-1 tasks) Total time required is Tp = (k+(n-1))t
Speedup Factor:
Sk = Tp / Tnp = nkt / (k+ (n-1))t = nk / (k + n-1))
Throughput: It is defined as number of tasks per unit time as below:Hk = n / (k + (n-1))t = nf / (k + (n-1))
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Reservation Tables
Each table evaluates a function Number of columns in a reservation table represent the evaluation time Pipeline initiation happens when input for a function is fed into the pipeline Note: There is only a single reservation table of linear pipeline
Latency Analysis
Number of time units between two initiations of pipeline is called latency Any attempt by two or more initiations to use the same pipeline stage at same time causes collision Latencies that cause collisions are called forbidden latencies
Pipelining Techniques
Linear Pipeline Processors
Asynchronous and Synchronous Models Clocking and Timing control Speedup, Efficiency and Throughput
Collision Vector
Combined set of permissible and forbidden latencies can be displayed by a collision vector It is a binary representation of size 1 . n-1, where n is evaluation time
C = (Cn-1 Cn-2 .. C2 C1)
Ci = 1, if latency i causes a collision Ci = 0, if latency i is permissible
State Diagrams
From the collision vector, one can construct a state diagram, specifying the permissible state transitions among successive initiations Next state is obtained with the help of a shift register and at time t+p where p refers to a permissible latency
Cycles
There are many latency cycles that can be traced from state diagram
Eg. (1,8), (1,8,6,8), (3), (6), (3,8), etc.