0% found this document useful (0 votes)
247 views

Nonlinear Pipelining: Nonlinear Pipeline: Which Allows

This document discusses nonlinear pipelining. Key points include: - Nonlinear pipelines allow feedback and feedforward connections in addition to streamlined connections between stages. - Reservation tables are used to show how successive pipeline stages are utilized for function evaluations over multiple cycles. - Latency is the time between initiations of a pipeline. Collisions occur when two initiations attempt to use the same stage simultaneously. - Permissible latencies do not cause collisions, while forbidden latencies do. Collision-free scheduling finds the minimal average latency to maximize efficiency without collisions.

Uploaded by

chrish3003
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
247 views

Nonlinear Pipelining: Nonlinear Pipeline: Which Allows

This document discusses nonlinear pipelining. Key points include: - Nonlinear pipelines allow feedback and feedforward connections in addition to streamlined connections between stages. - Reservation tables are used to show how successive pipeline stages are utilized for function evaluations over multiple cycles. - Latency is the time between initiations of a pipeline. Collisions occur when two initiations attempt to use the same stage simultaneously. - Permissible latencies do not cause collisions, while forbidden latencies do. Collision-free scheduling finds the minimal average latency to maximize efficiency without collisions.

Uploaded by

chrish3003
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

Nonlinear Pipelining

 Nonlinear pipeline: Which allows


feedback and feed forward connections
in addition to streamline connections.

A three stage nonlinear pipeline.


Nonlinear Pipelining
Reservation tables are two-
dimensional charts used to show how
successive pipeline stages are utilized
(or reserved) for a specific function
evaluation in successive pipeline cycles.
Let X & Y be two functions evaluating in the above
pipeline.
1 2 3 4 5 6 7 8 1 2 3 4 5 6

S1 S1

S2 S2

S3 S3

Reservation table for function X Reservation table for function


Nonlinear Pipelining
Latency Analysis
 Latency: number of time units (clock
cycles) between two initiations of a
pipeline is the latency between them.
 Latency of k means that two initiations
are separated by k clock cycles
 Collision:an attempt by two or more
initiations to use the same pipeline
stage at the same time.
Nonlinear Pipelining
Latency Analysis
 Consider the same pipeline, lets see
initiations in the pipeline for function X,
with latency=2 =X1
=X2
1 2 3 4 5 6 7 8 9 10 11
=X3

=X4
S1

S2

S3

Indicates collisions
Nonlinear Pipelining
Latency Analysis
 Consider the same pipeline again, lets
see initiations in the pipeline for
function X, with latency=5
1 2 3 4 5 6 7 8 9 10 11

S1

S2

S3
Nonlinear Pipelining
Latency Analysis
 Forbidden latency: that causes collision.
 Permissible latency: that doesn’t.
 In the previous example 2 and 5 were
forbidden latencies.
 With the help of these latencies we will find
out the minimal average latency (MAL) that
will give maximum efficiency of pipeline
without collisions.
 The method is called “Collision-free
scheduling”.
Nonlinear Pipelining
Latency Analysis
Formal Methods to find out Permissible &
Forbidden Latencies:
To detect a forbidden latency, find out the distance
between any two check marks in the same row of the
reservation table and the rest are permissible
latencies.
Q. Find out permissible and forbidden latencies of the
reservation table for function x.
F.Lx = 2,4,5,7
P.Lx = 1,3,6,8
Nonlinear Pipelining
Latency Analysis
Collision-free Scheduling:
Let us first look at some basic terms:
Latency sequence: a latency sequence
is a sequence of permissible latencies
between successive tasks initiations.
Latency cycle:is a latency sequence
which repeats itself.
Nonlinear Pipelining
Latency Analysis
Constant cycle: which contains a
single latency value.
State diagram: will be used here to
specify the permissible state transitions among
successive tasks initiations.
Collision vector: (collision array) is a
combined set of permissible and forbidden
latencies.
C = ( Cm Cm-1 …… C2 C1 )
Nonlinear Pipelining
Latency Analysis
Collision vector: C = ( Cm Cm-1 …… C2 C1 )

m: maximum forbidden latency


Ci : 0  permissible
Ci : 1  forbidden

Q. Find out collision vector for F.L y = 4,2 & P.Ly = 1,3,5,6.

Cy = 1010
Nonlinear Pipelining
Latency Analysis

Construction of the state diagram:

Collision vector is the initial position vector


or the starting state of the sate diagram.
Cx = 1011010

Next state is obtained by right shifting the


zeros of current state and then OR-ing the
result with collision vector.
Nonlinear Pipelining
Latency Analysis First bit (zero bit) to be right shifted

1011010
Starting state

1111111

Current state.
Nonlinear Pipelining
Latency Analysis

1011010

1011011

1111111
Nonlinear Pipelining
Latency Analysis
1011010

1011011 1111111

Now, right shift the sixth bit and see what you get after
ORing it with the start state..
Nonlinear Pipelining
Latency Analysis
1011010

1011011 1111111

 Since there are no more zeros left in this state


to be right, lets move on to the next state.

 Now this state is our current state.


Nonlinear Pipelining
Latency Analysis

So we get,

 In this state we don’t have any zeros, so we


move on to the next state. As our current
state.
 Right shifting and ORing of the third and sixth
bit gives the same state again.
Nonlinear Pipelining
Latency Analysis
1011010

1011011 1111111

 One last thing, when the number of shifts is m+1 (m:


maximum forbidden latency), all the transitions are
redirected back to initial state.
Nonlinear Pipelining
Latency Analysis
 Our state diagram is
complete now.
 This state diagram is
used to characterize
successive initiations
of tasks in the
pipeline in
order to find the shortest latency sequence to
optimize the control strategy.
 A state on the diagram is representing the contents
of shift register after proper no. of shifts is made,
which is equal to the latency between the current and
next task initiations.
Nonlinear Pipelining
Latency Analysis
 The next step is to write
the simple latency
cycles.

 Some of these are called greedy cycles


Nonlinear Pipelining
Latency Analysis
Greedy Cycles: are
those ones whose edges
are all made with
minimum latencies from
their respective states
(ones with *) .
Nonlinear Pipelining
Efficiency of Nonlinear Pipelining:
We find the efficiency of nonlinear pipeline using greedy
cycle corresponding to MAL.
100% efficiency: when all the stages of pipeline are
always busy.
From the above example, if we do the initializations
with MAL i.e, 3. We get the efficiency as follows:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

S1

S2

S3

setup time
Mark every 3 x 3 array of squares as a frame.

(since greedy cycle is (3) & we have 3 stages)


Keep on initializing new tasks until consecutive frames
begin to match.
The time until there appears no match is called the Setup
Time.
Calculating the efficiency: With in a frame we have,
Total stages=9
Stages busy=8 (take from the matched frames)
efficiency:  = x 100

 = x 100

= 88.89%

Q. Calculate efficiency for the same pipeline with


greedy cycle (1,8).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

S1

S2

S3

matched
Mark every 9 x 3 array of squares as a frame.
(since greedy cycle is (1,8) & 1+8=9 & we have 3 stages)
Enter the next task with latency 1.
Now enter the next task with latency 8.
Now again enter the next task with latency 1 and then 8
and so on.. Until the frames match.
Calculating the efficiency: With in a frame we have,
Total stages=27
Stages busy=16
= 59.23%
Which is less than what we got from greedy cycle (3),
because (3) is the MAL not (1,8).

You might also like