Visualizing Pipeline Activity
4-8
Example 4
−
2. Diagramming Pipeline Activity
Address
Opcode
Instruction
Initial Values
00
0040
F345
I1:
MOV
DP,#VarA
; DP = page that has VarA.
VarA address = 00
0203
00
0041
F346
I2:
MOV AL,@VarA
; Move content of VarA to AL.
VarA = 1230
00
0042
F347
I3:
MOVB AR0,#VarB ; AR0 points to VarB.
VarB address = 00
0066
00
0043
F348
I4:
ADD
AL,*XAR0++ ; Add content of VarB to
VarB = 0001
; AL, and add 1 to XAR0.
(VarB + 1) = 0003
00
0044
F349
I5:
MOV
@VarC,AL
; Replace content of VarC
(VarB + 2) = 0005
; with content of AL.
VarC address = 00
0204
00
0045
F34A
I6:
ADD
AL,*XAR0++ ; Add content of (VarB + 1)
VarD address = 00
0205
; to AL, and add 1 to XAR0.
00
0046
F34B
I7:
MOV
@VarD,AL
; Replace content of VarD
; with content of AL.
00
0047
F34C
I8:
ADD
AL,*XAR0
; Add content of (VarB + 2)
; to AL.
F1
F2
D1
Instruction
D2
R1
R2
E
W
00
0040
F346:F345
00
0042
F345
F348:F347
F346
I1: MOV
DP,#VarA
DP = 8
00
0044
F347
I2: MOV
AL,@VarA
Generate
VarA address
−
F34A:F349
F348
I3: MOVB XAR0,#Var
B
XAR0 = 66
00
0203
−
00
0046
F349
I4: ADD
AL,*XAR0+
+
XAR0 = 67
−
1230
−
F34C:F34B
F34A
I5: MOV
@VarC,AL
Generate
VarC address
00
0066
−
AL = 1230
−
F34B
I6: ADD
AL,*XAR0+
+
XAR0 = 68
−
0001
−
−
F34C
I7: MOV
@VarD,AL
Generate
VarD address
00
0067
−
AL = 1231
−
I8: ADD
AL,*XAR0
XAR0 = 68
−
0003
−
−
00
0068
−
AL = 1234
00
0204
1231
0005
−
−
AL = 1239
00
0205
1234
Summary of Contents for TMS320C28x
Page 30: ...1 12...
Page 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Page 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Page 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Page 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Page 585: ...This page intentionally left blank 7 32 This page intentionally left blank...