![Infineon Technologies XC2200 User Manual Download Page 151](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439151.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Central Processing Unit (CPU)
User’s Manual
4-13
V2.1, 2008-08
CPUSV2_X, V2.2
4.3.1
Pipeline Conflicts Using General Purpose Registers
The GPRs are the working registers of the CPU and there are a lot of possible
dependencies between instructions using GPRs. A high-speed five-port register file
prevents bandwidth conflicts. Dedicated hardware is implemented to detect and resolve
the data dependencies. Special forwarding busses are used to forward GPR values from
one pipeline stage to another. In most cases, this allows the execution of instructions
without any delay despite of data dependencies.
Conflict_GPRs_Resolved:
I
n
ADD R0,R1 ;Compute new value for R0
I
n+1
ADD R3,R0 ;Use R0 again
I
n+2
ADD R6,R0 ;Use R0 again
I
n+3
ADD R6,R1 ;Use R6 again
I
n+4
...
Table 4-4
Resolved Pipeline Dependencies Using GPRs
Stage
T
n
T
n+1
T
n+2
T
n+3
1)
1) R0 forwarded from EXECUTE to MEMORY.
T
n+4
2)
2) R0 forwarded from WRITE BACK to MEMORY.
T
n+5
3)
3) R6 forwarded from EXECUTE to MEMORY.
DECODE
I
n
= ADD
R0, R1
I
n+1
= ADD
R3, R0
I
n+2
= ADD
R6, R0
I
n+3
= ADD
R6, R1
I
n+4
I
n+5
ADDRESS
I
n-1
I
n
= ADD
R0, R1
I
n+1
= ADD
R3, R0
I
n+2
= ADD
R6, R0
I
n+3
= ADD
R6, R1
I
n+4
MEMORY
I
n-2
I
n-1
I
n
= ADD
R0, R1
I
n+1
= ADD
R3,
R0
I
n+2
= ADD
R6,
R0
I
n+3
= ADD
R6
, R1
EXECUTE
I
n-3
I
n-2
I
n-1
I
n
= ADD
R0
, R1
I
n+1
= ADD
R3, R0
I
n+2
= ADD
R6
, R0
WR.BACK
I
n-4
I
n-3
I
n-2
I
n-1
I
n
= ADD
R0
, R1
I
n+1
= ADD
R3, R0