Sie sind auf Seite 1von 18

Reservation Table

•The utilization pattern of successful


stages in a synchronous pipeline is
specified by a reservation table.
•For a linear pipeline, the utilization
follows a diagonal streamline pattern
•Reservation table can be considered
as space time diagram showing the
precedence relationship in using the
pipeline stages
•For a K stage pipeline, k clock
cycles are required for data to flow
through the pipeline
•Number of columns in a Reservation
table is called “Evaluation Time” of a
given function
Reservation Table for Dynamic Pipeline

• The Reservation table for static pipeline is trivial in the sense that dataflow
follows a linear streamline
• A static pipeline has only one reservation table
• Dynamic pipeline can have more than one table or a generalised table
Example: Reservation Tables for X & Y
S1 X X X
S2 X X
S3 X X X

S1 Y Y
S2
Y
S3
Y Y Y
Evaluation Time
• The number of columns of a Reservation table specifies the
‘Evaluation Time’ of given function

Evaluation Time: 8 Cycles Evaluation Time: 6 Cycles


Analysis of Reservation Table

• In a Dynamic pipeline’s Reservation Table, the check marks in a row


correspond to the tie instants (cycles) that a particular stage will be used
• There may be multiple check marks in a row, which means repeated usage of
a stage more than one cycle
• Multiple checks in a column means that multiple stages to be used in parallel
during a particular clock cycle
Latency Analysis
•The number of time units (clock cycles)
between two initiations of a pipeline is the
Latency between them
•Latency value must be a non-negative integars
•A latency of ‘k’ means that two initiations are
separated by ‘k’ clock cycles
•Any attempt by two or more initiations to use
the same pipeline stage at the same time will
cause a collision
•A collision implies resource conflicts between
two initiations
•Latencies that cause collision are called
Forbidden Latencies
•Latencies that do not cause collision are called
Permissible Latencies
Collisions with Different Latencies
Collision Free Scheduling

• In a non-linear pipeline, the main objective is to obtain shortest average


latency between initiations without causing collisions
• In this regard, a theory has been developed by Davidson and his students in
1971
Theory of Method
• For a reservation table with n columns, the maximum forbidden latency is m ≤ n-1
• The permissible latency p should be as small as possible
• The choice of permissible latency is made in range
1≤ p ≤ m-1
• A permissible latency 1 is considered ideal (always possible in static pipeline)
• The combination of forbidden and permissible latencies is represented by a collision vector which is m-
bit binary vector C= (CmCm-1….C2C1)
• The value of Ci=1 if latency i causes a collision and Ci=0 if latency is permissible
• The shortest possible latency is achieved by MAL (Minimum Average Latency)
Method

• Find forbidden latencies from Reservation Table


• Find Collision vector from forbidden latencies
• Create state transition diagram
• Find simple and greedy cycles
• Find MAL
Example:
1 2
Reservation
3 4 5 6
Tables
7 8
for X & Y
S1 X X X
S2 X X
S3 X X X
1 2 3 4 5 6
S1 Y Y
S2
Y
S3
Y Y Y
Collision Vector for X

• Forbidden Latencies: 2, 4, 5, 7
• Collision Vector =
1011010
Collision Vector for Y

• Forbidden Latencies: 2, 4
• Collision Vector =
1010
State Diagram for X
8+

1011010

3 8+

6 8+ 1*

1011011 1111111

3* 6
Cycles

• Simple cycles  each state appears only once


(3), (6), (8), (1, 8), (3, 8), and (6,8)
• Greedy Cycles  simple cycles whose edges are all made with minimum
latencies from their respective starting states
(1,8), (3)  one of them is MAL
Practice,Practice
Practice,Practice

Das könnte Ihnen auch gefallen