2-cycle external bus
read access
Pipeline Conflicts
8-17
Pipeline Operation
Example 8–12. Multicycle Data Reads
LDF
@DMA,R0
Pipeline Operation
PC
Fetch
Decode
Read
Execute
n
LDF
—
—
—
n+1
I
LDF
—
—
n+2
J
I
LDF
—
n+3
K(dummy)
I
LDF
—
n+3
K
2
J
I
LDF
Note:
I, J, K = Instruction representations
The final type of hold-everything conflict deals with conditional calls (CALL
cond)
and traps (TRAP
cond), which are different from other branch instructions.
Whereas other branch instructions are conditional loads, the conditional calls
and traps are conditional stores, which take one more cycle to complete than
conditional branches (see Example 8–13). The added cycle pushes the return
address after the call condition is evaluated.