Professional Documents
Culture Documents
L12 Pipelining 1
L12 Pipelining 1
L12 Pipelining 1
Lecture – 12
Pipelining :
Pipelining is a way of organizing concurrent activity
in a computer system.
The basic idea is to do some tasks previously that
will be needed in future, but will be done previously
not to keep any task performing part of a
computer idle.
To achieve high performance is the main objective
of pipelining in modern computer.
F1 E1 F2 E2 F3 E3
Interstage buffer
B1
Instruction Ex ecution
fetch unit
unit
T ime
Clock cycle 1 2 3 4
Instruction
I1 F1 E1
I2 F2 E2
I3 F3 E3
Instruction
I1 F1 D1 E 1 W 1
I2 F2 D2 E 2 W 2
I3 F3 D3 E 3 W 3
I4 F4 D4 E 4 W 4
Interstage b uf fers
D : Decode
F : Fetch instruction E: Ex ecute W : Write
instruction and fetch operation results
operands
B1 B2 B3
Instruction
I1 F1 D1 E1 W1
I2 F2 D2 E2 W2
I3 F3 D3 E3 W3
I4 F4 D4 E4 W4
I5 F5 D5 E5
Figure 8.3. Ef fect of an xe ecution operation taking more than one clock
ycle.
c
Instruction
I 1 F 1 D 1 E1 W 1
I 2 F 2 D 2 E2 W 2
I 3 F 3 D 3 E3 W 3
T ime
Clock c ycle 1 2 3 4 5 6 7 8 9
Stage
F: Fetch F 1 F 2 F 2 F 2 F 2 F 3
D: Decode D 1
idle idle idle D 2
D 3
W: Write W 1
idle idle idle W 2
W 3
Instruction
I1 F1 D1 E1 W1
I2 (Load) F2 D2 E2 M2 W2
I3 F3 D3 E3 W3
I4 F4 D4 E4
I5 F5 D5