pipeline processors content/mca_304 advanced... · reservation table for first sequence sa, sb, sc,...

41
Pipeline Processors MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Upload: others

Post on 22-Jan-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Pipeline

Processors

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 2: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Reservation Table

• Each functional evaluation can be representedusing a diagram called Reservation Table(RT).

• It is the space-time diagram of a pipelinecorresponding to one functional evaluation.

X axis – time units

Y axis – stages

Columns represent the evaluation time for a given function

Multiple checkmarks in a row, means repeated usage of the same stage in different cycles

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 3: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Reservation Table

For first sequence Sa, Sb, Sc, Sb, Sc, Sa

called function A , we have

0 1 2 3 4 5

Sa A A

Sb A A

Sc A A

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 4: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Reservation Table

For second sequence Sa, Sc, Sb, Sa, Sb, Sc

called function B, we have

0 1 2 3 4 5

Sa B B

Sb B B

Sc B B

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 5: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Non-Linear PipelineOutput A

Output BSa Sb Sc

Input

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa

Sb

ScMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 6: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Function A

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 7: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A

Sb

ScMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 8: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A

Sb A

ScMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 9: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A

Sb A

Sc AMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 10: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A

Sb A A

Sc AMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 11: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A

Sb A A

Sc A AMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 12: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline : Sa, Sb, Sc, Sb, Sc, Sa

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa A A

Sb A A

Sc A AMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 13: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Function B

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 14: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B

Sb

ScMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 15: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B

Sb

Sc BMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 16: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B

Sb B

Sc BMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 17: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B B

Sb B

Sc BMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 18: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B B

Sb B B

Sc BMCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 19: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

3-Stage Pipeline: Sa, Sc, Sb, Sa, Sb, Sc

Sa Sb ScInput Output B

Output A

Reservation TableTime

Stag

e

0 1 2 3 4 5

Sa B B

Sb B B

Sc B B

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 20: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Latency Analysis

Latency: The number of time units (clock cycles) between twoinitiations of a pipeline is the latency between them.

A latency value k means that two initiations are separated by k clock cycles.

Collision: An attempt by two or more initiations to use thesame pipeline stage at the same time. Collision impliesresource conflicts b/w two initiations in the pipeline.

Some latencies cause collision, some not. Latencies that willcause collision are called Forbidden Latencies and thelatencies that will not cause collision are called PermissibleLatencies.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 21: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Latency Cycles

A latency sequence is a sequence of permissible

nonforbidden latencies between successive task

initiations.

A latency cycle is a latency sequence which

repeats the same subsequence indefinitely.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 22: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Latency Cycle

x1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

x1

x1

x1

x1

x1

x1

x2 x1

x2

x2

x2

x2

x2 x3

x2

x2

x3

x3

x3

x3

18

x3

Cycle Cycle

A latency sequence is a sequence of permissible nonforbidden latencies

between successive task initiations.

A latency cycle is a latency sequence which repeats the same subsequence

indefinitely.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 23: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Example

S1 S2 S3

YX

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 24: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Reservation Tables for X & Y

X X X

X X

X X X

Y Y

Y

Y Y Y

S1

S2

S3

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 25: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Forbidden Latencies

To detect the forbidden latencies, check the

distance between two checkmarks in the

same row of the reservation table.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 26: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

X after X

X1 X2 X1 X2 X1

X1 X2 X1 X2

X1 X2 X1 X2 X1

S1

S2

S3

2

X X X

X X

X X X

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 27: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

X after X

X1 X2 X1 X1

X1 X1 X2

X1 X1 X1 X2

S1

S2

S3

5

X X X

X X

X X X

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 28: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

X after X

X1 X2 X1 X1

X1 X1 X2 X2

X1 X1 X2X1

S1

S2

S3

4

X X X

X X

X X X

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 29: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

X after X

X1 X1 X2 X1

X1 X1

X1 X1 X1

S1

S2

S3

7

X X X

X X

X X X

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 30: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Collision Vector

Combined set of permissible and forbidden latencies.

Forbidden Latencies: 2, 4, 5, 7

Collision vectorC = (Cm, Cm-1, …, C2, C1), m <= n-1

n = number of column in reservation table

The value of Ci = 1 if the latency i causes a collision; Ci = 0 if the latency i is permissible.

Collision Vector = 1 0 1 1 0 1 0

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 31: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Y after Y

Y Y Y

Y Y

Y Y Y Y Y

S1

S2

S3

Y Y Y

Y

Y Y Y Y

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 32: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Y after Y

Y Y Y

Y Y

Y Y Y Y Y

S1

S2

S3

Y Y Y

Y

Y Y Y Y

S1

S2

S3

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 33: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Collision Vector

Forbidden Latencies: 2, 4

Collision vector

C = (Cm, Cm-1, …, C2, C1), m <= n-1

n = number of column in reservation table

Ci = 1 if latency i causes collision, 0 otherwise

Collision Vector = 1 0 1 0

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 34: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Collision Vector

x

x

x

x

x

x

Reservation Table

C = (? ? . . . ? ?)

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 35: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Exercise – Find the collision vector

1 2 3 4 5 6 7

A X X X

B X X

C X X

D X

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 36: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

State Diagram

State diagrams can be constructed to specify the

permissible transitions among successive initiations.

The collision vector, corresponding to the initial state of

pipeline at time 1, is called the initial collision vector

(ICV).

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 37: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

State Diagram The next state of the pipeline at time t+p can be obtained by

using a bit-right shift register

• Initial CV is loaded into the register.

• The register is then shifted to the right.

– When a 0 emerges from the right end after p shifts, p is a

permissible latency.

– When a 1 emerges, the corresponding latency should be

forbidden latency.

• Logical 0 enters from the left end of the shift register.

• The next state after p shifts is obtained by bitwise-ORing

the initial CV with the shifted register contents.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 38: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Right Shift Register

The next state can be obtained with the help of an p-bit shift

register

0

0

1 Collision

Safe to allow an

initiation

Each 1-bit shift corresponds to increase in the latency by 1.

latency.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 39: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

The Next State

The next state is obtained by bitwiseORing the initial collision vector with theshifted register

C.V. = 1 0 1 1 0 1 0 (first state)

0 1 0 1 1 0 1 C.V. 1-bit right shifted1 0 1 1 0 1 0 initial C.V.---------------- OR1 1 1 1 1 1 1

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 40: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

State Diagram for X

1 0 1 1 0 1 0

1 1 1 1 1 1 11 0 1 1 0 1 1

3

6 8+

6

8+

8+

3*

1

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal

Page 41: Pipeline Processors content/MCA_304 Advanced... · Reservation Table For first sequence Sa, Sb, Sc, Sb, Sc, Sa called functionA ,we have 0 1 2 3 4 5 Sa A A Sb A A Sc A A MCA-304 :

Group Activity 11 2 3 4

S1 X X

S2 X

S3 X

a. What are the forbidden latency ?

b. Draw the state transition diagram.

c. List all the simple cycles and greedy cycles.

d. Determine the minimal average latency (MAL).

e. Determine the throughput of this pipeline.

MCA-304 : Advanced Computer Architecture by Dr. Sumit Mittal