Computer Hardware User's Guide
Read must wait
until the writes are
completed
Writes
performed
Pipeline Conflicts
8-14
Example 8–9 shows a parallel store followed by a single load or read. Since
two parallel stores are required, the next CPU data-memory read must wait
one cycle before beginning. One program-memory refetch can occur.
Example 8–9. Parallel Store Followed by Single Read
STF R0,*AR0 ; R0 → *AR0 in parallel with
STF R2,*AR1 ; R2 → *AR1
ADDF @SUM,R1 ; R1 + @SUM → R1
IACK
ASH
Pipeline Operation
PC Fetch
Decode Read Execute
n STFSTF — — —
n+1 ADDF STFSTF — —
n+2 IACK ADDF STFSTF —
n+3 ASH IACK ADDF STFSTF
n+4 ASH IACK ADDF (nop)
n+4 — ASH IACK ADDF
The final case involves an interlocked load (LDII or LDFI) instruction and XF1 = 1.
Since the interlocked loads use the XF1 pin as an acknowledge that the read
can complete, the loads might need to extend the read cycle, as shown in
Example 8–10. A program refetch can occur.