Next: OBSERVE Up: Pipelining With Multicycle Operations Previous: Structural hazards

Example:

Suppose we have separate, non-pipelined FP Add, Multiply and Divide units. Consider:

ADDF	R3, R1, R2         
SUBF	R6, R4, R5		
MULF	R8, R6, R7
DIVF	R10, R3, R9
Timing:
 
Figure: Structural and data stalls with non-pipelined FPUs


+  IF ID EX EX \fbox{EX} MEM WB            
-    IF ID stall stall \fbox{EX} EX \fbox{EX} MEM WB      
$\times$      IF stall stall ID stall stall \fbox{EX}...EX MEM WB  
$\div$        stall stall IF stall stall ID EX...EX MEM WB
                            
l|@ @*13p0.9em + & IF & ID & EX & EX &\fbox{EX}& MEM& WB
- & & IF & ID & stall& stall&\fbox{EX}& EX &\fbox{EX}& MEM& WB
$\times$ & & & IF & stall& stall& ID & stall& stall& \fbox{EX}...EX


6in
+  IF ID EX EX \fbox{EX} MEM WB            
-    IF ID stall stall \fbox{EX} EX \fbox{EX} MEM WB      
$\times$      IF stall stall ID stall stall \fbox{EX}...EX MEM WB  
$\div$        stall stall IF stall stall ID EX...EX MEM WB
                            
l|@ @*13p0.9em + & IF & ID & EX & EX &\fbox{EX}& MEM& WB
- & & IF & ID & stall& stall&\fbox{EX}& EX &\fbox{EX}& MEM& WB
$\times$ & & & IF & stall& stall& ID & stall& stall& \fbox{EX}...EX


next up previous
Next: OBSERVE Up: Pipelining With Multicycle Operations Previous: Structural hazards