Professional Documents
Culture Documents
CSE 431 Computer Architecture Fall 2005 Lecture 07: Overcoming Data Hazards
CSE 431 Computer Architecture Fall 2005 Lecture 07: Overcoming Data Hazards
Computer Architecture
Fall 2005
Add
Branch MEM/WB
RegWrite Add
4 Shift
left 2
Read Addr 1
Instruction Data
Register Read
Memory Read Addr 2Data 1 Memory MemtoReg
Read ALUSrc
PC
File Address
Read
Address Write Addr ALU
Read Data
Data 2 Write Data
Write Data
ALU
cntrl
MemWrite MemRead
Sign
16 Extend 32 ALUOp
RegDst
ALU
I add $1, IM Reg DM Reg
n stall – but
s impacts CPI
t stall
r.
O stall
r
d
ALU
e sub $4,$1,$5 IM Reg DM Reg
r
ALU
and $6,$7,$1 IM Reg DM Reg
ALU
I add $1, IM Reg DM Reg
results as soon as
n
they are available
s
to where they are
ALU
t sub $4,$1,$5 IM Reg DM Reg
r. needed
ALU
IM Reg DM Reg
r and $6,$7,$1
d
e
r
ALU
or $8,$1,$1 IM Reg DM Reg
ALU
sw $4,4($1) IM Reg DM Reg
2. MEM/WB hazard:
if (MEM/WB.RegWrite Forwards the
and (MEM/WB.RegisterRd != 0)
result from the
and (MEM/WB.RegisterRd = ID/EX.RegisterRs))
ForwardA = 01 second
if (MEM/WB.RegWrite previous instr.
and (MEM/WB.RegisterRd != 0) to either input
and (MEM/WB.RegisterRd = ID/EX.RegisterRt)) of the ALU
ForwardB = 01
CSE431 L07 Overcoming Data Hazards.7 Irwin, PSU, 2005
Forwarding Illustration
ALU
I add $1, IM Reg DM Reg
n
s
ALU
t sub $4,$1,$5 IM Reg DM Reg
r.
ALU
IM Reg DM Reg
r and $6,$7,$1
d
e
r
ALU
n
add $1,$1,$2 IM Reg DM Reg
s
t
r. add $1,$1,$3
ALU
IM Reg DM Reg
O
r
ALU
d add $1,$1,$4 IM Reg DM Reg
e
r
if (MEM/WB.RegWrite
and (MEM/WB.RegisterRd != 0)
and (EX/MEM.RegisterRd != ID/EX.RegisterRt)
and (MEM/WB.RegisterRd = ID/EX.RegisterRt))
ForwardB = 01
ID/EX
EX/MEM
Control
IF/ID
Add
Branch MEM/WB
Add
4 Shift
left 2
Read Addr 1
Instruction Data
Register Read
Memory Read Addr 2Data 1 Memory
Read
PC
File Address
Read
Address Write Addr ALU
Read Data
Data 2 Write Data
Write Data
ALU
16 Sign 32 cntrl
Extend
EX/MEM.RegisterRd
ID/EX.RegisterRt
Forward MEM/WB.RegisterRd
ID/EX.RegisterRs Unit
I
n
ALU
s lw $1,4($2) IM Reg DM Reg
t
r.
ALU
O sw $1,4($3) IM Reg DM Reg
r
d
e
r
ALU
IM Reg DM Reg
I lw $1,4($2)
n
s
ALU
IM Reg DM Reg
t stall $4,$1,$5
sub
r.
ALU
and $4,$1,$5
sub $6,$1,$7 IM Reg DM Reg
O
r
ALU
d
or $6,$1,$7
and $8,$1,$9 IM Reg DM Reg
e
r
ALU
or
xor $8,$1,$9
$4,$1,$5 IM Reg DM Reg
xor $4,$1,$5
ALU
IM Reg DM
ID/EX.MemRead
Hazard ID/EX
Unit EX/MEM
0
IF/ID 1
Control 0
Add
Branch MEM/WB
Add
4 Shift
left 2
Read Addr 1
Instruction Data
Register Read
Memory Read Addr 2Data 1 Memory
Read
PC
File Address
Read
Address Write Addr ALU
Read Data
Data 2 Write Data
Write Data
ALU
16 Sign 32 cntrl
Extend
Forward
Unit
ID/EX.RegisterRt
Reminders
Tuesday, October 4
HW2 due September 29th
SimpleScalar tutorials scheduled
- Thursday, Sept 22, 5:30 to 6:30 pm in 218 IST