![Infineon Technologies XC2200 Скачать руководство пользователя страница 154](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439154.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Central Processing Unit (CPU)
User’s Manual
4-16
V2.1, 2008-08
CPUSV2_X, V2.2
Conflict_GPRs_Pointer_WrongHistory:
I
n
ADD R3,[R0] ;R0 points to DPRAM (e.g.)
I
n+1
MOV R0,R4
...
I
i
MOV DPPX, ... ;change DPPx
...
I
m
ADD R6,[R0] ;R0 now points to SRAM (e.g.)
I
m+1
MOV R6,R1
I
m+2
...
Table 4-7
Pipeline Dependencies with Pointers (Valid Speculation)
Stage
T
n
T
n+1
T
n+2
T
n+3
T
n+4
T
n+5
DECODE
I
n
= ADD
R3, [R0]
I
n+1
= MOV
R0, R4
I
n+2
I
n+3
I
n+4
I
n+5
ADDRESS
I
n-1
I
n
= ADD
R3, [R0]
I
n+1
= MOV
R0, R4
I
n+2
I
n+3
I
n+4
MEMORY
I
n-2
I
n-1
I
n
= ADD
R3, [R0]
I
n+1
= MOV
R0, R4
I
n+2
I
n+3
EXECUTE
I
n-3
I
n-2
I
n-1
I
n
= ADD
R3, [R0]
I
n+1
= MOV
R0, R4
I
n+2
WR.BACK
I
n-4
I
n-3
I
n-2
I
n-1
I
n
= ADD
R3, [R0]
I
n+1
= MOV
R0, R4
Table 4-8
Pipeline Dependencies with Pointers (Invalid Speculation)
Stage
T
m
T
m+1
T
m+2
1)
1) Access to location [R0] must be repeated due to wrong history (target area was changed).
T
m+3
T
m+4
T
m+5
DECODE
I
m
= ADD
R6, [R0]
I
m+1
= MOV
R6, R1
I
m+1
= MOV
R6, R1
I
m+2
I
m+3
I
m+4
ADDRESS
I
m-1
I
m
= ADD
R6, [R0]
I
m
= ADD
R6, [R0]
I
m+1
= MOV
R6, R1
I
m+2
I
m+3
MEMORY
I
m-2
I
m-1
–
I
m
= ADD
R6, [R0]
I
m+1
= MOV
R6, R1
I
m+2
EXECUTE
I
m-3
I
m-2
I
m-1
–
I
m
= ADD
R6, [R0]
I
m+1
= MOV
R6, R1
WR.BACK
I
m-4
I
m-3
I
m-2
I
m-1
–
I
m
= ADD
R6, [R0]