Académique Documents
Professionnel Documents
Culture Documents
IF ID EXE MEM WB
IF ID EX WB IF ID EX WB IF ID EX WB
IF ID EX Mem WB
FP ADD
IF ID Mem WB
FP Multiply
Register
Divide File
(Integer/FP)
FP Pipeline Stages
IF ID A A A A Mem WB
1 2 3 4
M M . M
1 2 . 7
Function Unit Latency Initiation
Divide With
forwarding
/Re-Issue
Interval
Integer ALU 0 1
Note:
1.Both FP ADD and SUB use the same A1, A2,-- Pipeline. Load/Store 1 (LUD) 1 (LUD)
2.FP Load/Store go through Integer Pipeline.
FP Add 3 1
FP/Int Multiply 6 1
FP/Int Divide 24 25
Forwarding
ALU/FP
Instructions
EX
IF ID A A A A Mem WB
1 2 3 4
M M . M
1 2 . 7
Divide
Example 1
1a, FP ALU to ALU
Without Forwarding
ADD.D F10, F11, F12 IF iD A1 A2 A3 A4 ME W
M B
ADD.D F0,F1,F10 IF ID ID ID ID ID ID A A2
1
L.D F10,0(R2) IF ID E M W
X E B
E M
ADD.D F0,F1,F10 IF ID ID A1 A2 A3 A4 M
E
M
EXAMPLE 2, Concurrent use of
different stages
ADD.D F0,F1,F2 IF ID A1 A2 A3 A4 ME WB
ADD.D F5,F6,F7 IF ID A1 A2 A3 A4 ME WB
With Dependency
W
ADD.D F0,F1,F2 IF ID A1 A2 A3 A4 ME
B
M W
ADD.D F5,F6,F0 IF ID ID ID ID A1 A2 A3 A4
E B
EXAMPLE 3 Cannot be pipelined
1 2 3 4 5 6 7 26 27 28
D D D D
DI DI o
I I I I M
DIV.D F0,F1,F2 IF ID V V o WB
V V V V E
1 2 o
3 4 5 24
o D
I I I I
DIV.D F5,F6,F7 IF ID ID o ID
D D D V
o 1
L.D F10,0(R2) IF ID EX ME WB
E M
ADD.D F0,F1,F2 IF ID A1 A2 A3 A4 ME WB
M
Mul.D F9,F6,F7 IF ID M1 M2 M3 M4 M4 M5 M6 M7 ME WB
M
Add R3,R9,R10 IF ID EX EX ME WB
E E M
Sub R7,R8,R10 IF ID ID EX ME WB
E M
L.D IF ID E M W
X E B
F10,0(R2) E M
ADD.D IF ID A1 A2 A3 A4 M W
E B
F0,F1,F2 M
ADDI IF ID E M W
X E B
R5, R5, 10 E M
Mul.D IF ID M M M M M M M M W
1 2 3 4 5 6 7 E B
F9,F6,F7 M
Add IF ID E E M W
X X E B
R3,R9,R10 E E M
Sub IF ID ID E M W
X E B
R7,R8,R10 E M
Mul.D F0,
F1, F2
Add R1, R2,
R3
SUB R5,
R6,R7
Add.D F4,
F5, F6
OR R10,
R11, R12
AND R20,
R21, R22
L.D F0,
0(R5)
Example 5
Mul.D F0, IF ID M1 M2 M3 M4 M5 M6 M7 ME WB
F1, F2 M
Add R1, R2, R3 IF ID EX ME WB
M
SUB R5, R6,R7 IF ID EX ME WB
E M
Add.D F4, IF ID A1 A2 A3 A4 A4 MEM WB
F5, F6
OR R10, IF ID EXE MEM WB
R11, R12
AND R20, IF ID EXE ME WB
R21, R22 M
L.D F0, IF ID EX EX EXE ME WB
0(R5) E E M
MUL.D F3,F1,F2
ADD.D F1,F5,F4
ADD.D F3,F9,F12
Example 6 - WAW
1 2 3 4 5 6 7 8 9 10 11 12 13
MUL.D F3,F1,F2 IF I M M M M M M M M W
D 1 2 3 4 5 6 7 E B
M
ADD.D F1,F5,F4 IF I A A A A M W
D 1 2 3 4 E B
M
ADD.D F3,F9,F12 IF I I I I I I I I A A
D D D D D D D D 1 2
DIV.D F0,F1,F2
ADD.D F10,F10,F8
SUB.D F12,F12,F14
Data Hazards
RAW Hazard
ADD.D F3, F1, F2
SUB.D F5, F6, F3
WAW Hazard
DIV.D F3, F1, F2
SUB.D F3, F6, F5
WAR Hazard
DIV.D F3, F1, F2
SUB.D F5, F6, F3 #(F3 may read value from ADD)
ADD.D F3, F6, F7
Problem A-2 Done on Handouts in the
class
In doing this or similar problems:
All stalls including WB structural hazards are
in ID/Last stage.
WAW stalls are also in ID stage.
Notice a lot of ID stage stalls?
TOO MANY ID
STAGE STALLS
– SOLUTION?