Terminologies

advertisement
Chapter One
Introduction to Pipelined
Processors
Principle of Designing Pipeline
Processors
(Design Problems of Pipeline
Processors)
Job Sequencing and Collision
Prevention
Job Sequencing and Collision
Prevention
• Consider reservation table given below at t=0
0
Sa
Sb
Sc
1
2
3
4
A
5
A
A
A
A
A
Job Sequencing and Collision
Prevention
• Consider next initiation made at t=1
0
Sa A1
Sb
Sc
1
A2
A1
2
3
4
A2
A1
A1
A2
A2
A1
5
A1
6
A2
7
A2
• The second initiation easily fits in the
reservation table
Job Sequencing and Collision
Prevention
• Now consider the case when first initiation is
made at t = 0 and second at t = 2.
0 1 2
3
4
5 6 7
Sa A1
A2
A1
A2
Sb
A 1 A 2 A 1A 2
A2
Sc
A 1 A 2 A 1A 2
A2
• Here both markings A1 and A2 falls in the
same stage time units and is called collision
and it must be avoided
Terminologies
Terminologies
• Latency: Time difference between two
initiations in units of clock period
• Forbidden Latency: Latencies resulting in
collision
• Forbidden Latency Set: Set of all forbidden
latencies
General Method of finding Latency
Considering all initiations:
0 1 2
3
4
5
6
7
Sa A1 A2 A3 A4
A 5 A 6A 1 A 2
A3
Sb
A 1 A 2 A 1A 3 A 2A 4 A 3A 5 A 4A 6 A 5
Sc
A 1 A 2 A 1A 3 A 2A 4 A 3A 5 A 4A 6
• Forbidden Latencies are 2 and 5
8 9 10
A4 A5 A6
A6
A5 A6
Shortcut Method of finding Latency
• Forbidden Latency Set = {0,5} U {0,2} U {0,2}
= { 0, 2, 5 }
Terminologies
• Initiation Sequence : Sequence of time units
at which initiation can be made without
causing collision
• Example : { 0,1,3,4 ….}
• Latency Sequence : Sequence of latencies
between successive initiations
• Example : { 1,2,1….}
• For a RT, number of valid initiations and
latencies are infinite
Terminologies
• Initiation Rate :
– The average number of initiations done per unit
time
– It is a positive fraction and maximum value of IR is 1
• Average Latency : The average of latency of a
given latency sequence
AL = 1/IR
Terminologies
• Latency Cycle:
• Among the infinite possible latency sequence,
the periodic ones are significant.
E.g. { 1, 3, 3, 1, 3, 3,… }
• The subsequence that repeats itself is called
latency cycle.
E.g. {1, 3, 3}
Terminologies
• Period of cycle: The sum of latencies in a
latency cycle (1+3+3=7)
• Average Latency: The average taken over its
latency cycle (AL=7/3=2.33)
• To design a pipeline, we need a control
strategy that maximize the throughput (no. of
results per unit time)
• Maximizing throughput is minimizing AL
Terminologies
• Control Strategy
– Initiate pipeline as specified by latency sequence.
– Latency sequence which is aperiodic in nature is
impossible to design
• Thus design problem is arriving at a latency
cycle having minimal average latency.
Terminologies
• Stage Utilization Factor (SUF):
• SUF of a particular stage is the fraction of time units
the stage used while following a latency sequence.
• Example: Consider 5 initiations of function A
as below
Sa
Sb
Sc
0
A1
1 2 3 4 5 6 7
A2
A3 A1 A2 A4
A1 A2 A1 A2 A3
A3
A1 A2 A1 A2 A3
8
A5
A4
A3
9 10 11 12 13
A3
A4 A5
A5 A4 A5
A4 A5 A4 A5
Terminologies
• SUF of stage Sa is number of markings present
along Sa divided by the time interval over
which marking is counted.
• SUF(Sa) = SUF(Sb) = SUF(Sc) = 10/14
Terminologies
• Let SU(i) be the stage utilization factor of stage i
• Let N(i) be no. of markings against stage i in the
reservation table
• Suppose we initiate pipeline with initiation rate
(IR), then SU(i) is given by
SU(i) 
No.of initiations made overa given period x N(i)
Durationof period
SUF
Sa
Sb
Sc
0
A1
1
A2
2
3
4 5 6 7 8 9 10 11 12 13
A3 A1 A2 A4 A5 A3
A4 A5
A1 A2 A1 A2 A3
A3 A4 A5 A 4
A1 A2 A1 A2 A3
A3 A4 A 5
SU(i) 
A5
A4
No.of initiations made overa given period x N(i)
Durationof period
5x2
SU(a) 
14
A5
Terminologies
• Minimum Average Latency (MAL)
• Thus SU(i) = IR x N(i)
• SU(i) ≤ 1  IR x N(i) ≤ 1
N(i) ≤ 1/IR  N(i) ≤ AL
• Therefore
MAL  maxN (i)
k
i1
State Diagram
• Suppose a pipeline is initially empty and make
an initiation at t = 0.
• Now we need to check whether an initiation
possible at t = i for i > 0.
• bi is used to note possibility of initiation
• bi = 1  initiation not possible
• bi = 0  initiation possible
State Diagram
bi
1
0
1
0
0
1
State Diagram
• The above binary representation (binary vector)
is called collision vector(CV)
• The collision vector obtained after making first
initiation is called initial collision vector(ICV)
ICVA = (101001)
• The graphical representation of states (CVs) that
a pipeline can reach and the relation is given by
state diagram
State Diagram
• States (CVs) are denoted by nodes
• The node representing CVt-1 is connected to
CVt by a directed graph from CVt-1 to CVt and
similarly for CVt* with a * on arc
Procedure to draw state diagram
1. Start with ICV
2. For each unprocessed state, say CVt-1, do as
follows:
a) Find CVt from CVt-1 by the following steps
1. Left shift CVt-1 by 1 bit
2. Drop the leftmost bit
3. Append the bit 0 at the right-hand end
Procedure to draw state diagram
b) If the 0th bit of CVt is 0, then obtain CV* by
logically ORing CVt with ICV.
c) Make a new node for CVt and join with CVt-1
with an arc if the state CVt does not already
exist.
d) If CV* exists, repeat step (c), but mark the arc
with a *.
Download