Data Hazards
Consider the sequence:
ADD(r1, r2, r3)
CMPLEC(r3, 5, r0)
MULC(r1, r2, r4)
SUB(r1, r2, r5)
…
ADD
CMP
MUL
ADD
CMP
MUL
ADD
CMP
MUL
ADD
CMP
MUL
i
i + 1
i + 2
i + 3
i + 4
i + 5
i + 6
IF
RF
ALU
WB
ADD writes new value in r3 during i + 3 cycle,
which is available beginning of i + 4 cycle.
Value of r3 read by CMP during i + 2 cycle.
CMP reads old value of r3.
SUB
SUB
SUB
SUB
Previous slide
Next slide
Back to first slide
View graphic version