Texas Instruments TMS320C3x Manuale Utente

Pagina di 757
Fetch held
until data
access
completes
Data 
accessed
Pipeline Conflicts
 
8-10
Example 8–5. Program Wait Until CPU Data Access Completes
ADDF3 *AR0,*AR1,R0
FIX
MPYF
ADDF3
NEGB
Pipeline Operation
PC
Fetch
Decode
Read
Execute
n
ADDF3
n+1
FIX
ADDF3
n+2
(wait)
FIX
ADDF3
n+2
MPYF
(nop)
FIX
ADDF3
n+3
ADDF3
MPYF
(nop)
FIX
n+4
NEGB
ADDF3
MPYF
(nop)
Example 8–6 shows a program wait due to a multicycle data-data access or
a multicycle DMA access. The ADDF, MPYF, and SUBF are fetched from some
portion in memory other than the external port the DMA requires. The DMA
begins a multicycle access. The program fetch corresponding to the CALL is
made to the same external port that the DMA is using.
Either of two cases may produce this situation:
-
One of the following two memory boundaries is crossed:
J
From internal memory to external memory
J
From one external port to another
-
Code that has been cached is executed, and the instruction prior to the
ADDF is one of the following (conditional or unconditional):
J
A delayed branch instruction
J
A delayed decrement and branch instruction
Even though the DMA has the lowest priority on ’C30 and ’C31 or when configured
as such in the ’C32, multicycle access cannot be aborted. The program fetch must
wait until the DMA access completes.