Sun Microelectronics
289
17. Grouping Rules and Stalls
the W
1
Stage
1
. If the branch in the previous example was predicted not taken but
actually was taken:
If an annulling branch is predicted not taken, the delay slot is still dispatched.
Multicycle instructions (except load instructions) run to completion, even if the
delay slot instruction is annulled. For example:
The imul unit is busy for the duration of the multiply.
An annulled delay slot other than a load affects subsequent dependency checking
until the delay slot reaches the W
1
Stage. For example:
In the example above, the
FADD
instruction is stalled in issue until the
FDIV
in-
struction completes.
A predicted annulled load does not affect dependency checking after it is dis-
patched. For example:
1. The W
1
Stage is a virtual stage that is normally not visible to the programmer.
setcc
G
E
C
N
1
N
2
N
3
W
BPcc
(mispredicted)
G
E
C
N
1
N
2
N
3
W
FADD
(delay slot)
G
E
C
N
1
N
2
N
3
W
FMUL
→
f0 (sequential)
G
E
C
N
1
N
2
N
3
W
W
1
FMUL
f0,f0,f0 (branch target)
G
E
BPcc, a
(not taken)
G
E
C
N
1
N
2
N
3
W
imul
(delay slot)
G
E
E
E
E
E
E
. . .
BPcc, a
(not taken)
G
E
C
N
1
N
2
N
3
W
FDIV
→
f0 (delay slot)
G
E
C
N
1
N
2
N
3
W
W
1
FADD
f0,f0,f1 (sequential)
G
BPcc, a
(predicted not taken)
G
E
C
N
1
N
2
N
3
W
fld
→
f0 (delay slot)
G
E
C
N
1
N
2
N
3
W
FADD
f0,f0,f1 (sequential)
G
E
C
N
1
N
2
N
3
W
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com