Texas Instruments TMS320C3x User Manual

Page 246

Advertising
background image

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.

Advertising