![Infineon Technologies XC2200 User Manual Download Page 156](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439156.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Central Processing Unit (CPU)
User’s Manual
4-18
V2.1, 2008-08
CPUSV2_X, V2.2
The CoXXX instructions are the only instructions able to read two memory operands per
cycle. A conflict between the two read and one pending write access can occur if all three
operands are located in the DPRAM area. This is especially important for performance
in the case of executing a filter routine. One of the operands should be located in the
DSRAM to guarantee a single-cycle execution of the CoXXX instructions.
Conflict_DPRAM_Bandwidth:
I
n
ADD op1,R1
I
n+1
ADD R6,R0
I
n+2
CoMAC [IDX0],[R0]
I
n+3
MOV R3,[R0]
I
n+4
...
Table 4-9
Pipeline Dependencies in Case of Memory Conflicts (DPRAM)
Stage
T
n
T
n+1
T
n+2
T
n+3
T
n+4
1)
1) COMAC instruction stalls due to memory bandwidth conflict.
T
n+5
DECODE
I
n
= ADD
op1, R1
I
n+1
= ADD
R6, R0
I
n+2
=
CoMAC …
I
n+3
= MOV
R3, [R0]
I
n+4
I
n+4
ADDRESS
I
n-1
I
n
= ADD
op1, R1
I
n+1
= ADD
R6, R0
I
n+2
=
CoMAC …
I
n+3
= MOV
R3, [R0]
I
n+3
= MOV
R3, [R0]
MEMORY
I
n-2
I
n-1
I
n
= ADD
op1, R1
I
n+1
= ADD
R6, R0
I
n+2
=
CoMAC …
I
n+2
=
CoMAC …
EXECUTE
I
n-3
I
n-2
I
n-1
I
n
= ADD
op1, R1
I
n+1
= ADD
R6, R0
–
WR.BACK
I
n-4
I
n-3
I
n-2
I
n-1
I
n
= ADD
op1, R1
I
n+1
= ADD
R6, R0