Next: UNAVOIDABLE STALLS
Up: Pipelining: avoiding stalls
Previous: ...
ADD R1, R2, R3 R1:=R2 + R3
SW 25(R1), R1 Store[25+R1]:=R1
ADD R1,R2,R3
|
| IF |
ID |
EX |
MEM |
WB |
|
|
|
|
|
|
|
|
SW 25(R1),R1
|
| |
IF |
ID |
 |
 |
WB |
|
|
|
|
|
|
|
|
| |
|
|
R2+R3 used for address |
|
|
|
|
|
| |
|
|
|
R2+R3 sent to memory |
|
|
|
- Notice here we have to bypass the register file to route a value direct from the
ALU to the ALU as before - but also, we need to use bypassing to route data to
the memory address register.
- In general, bypassing may be applied to any pair of functional units.
Next: UNAVOIDABLE STALLS
Up: Pipelining: avoiding stalls
Previous: ...