Modulo Scheduling of Multicycle Loops
6-61
Optimizing Assembly Code via Linear Assembly
6.6.4
Drawing a Dependency Graph
To achieve a minimum iteration interval of 2, you must put an equal number
of operations per unit on each side of the dependency graph. Three operations
in one unit on a side would result in an minimum iteration interval of 3.
Figure 6–11 shows the dependency graph divided evenly with a minimum it-
eration interval of 2.
Figure 6–11. Dependency Graph of Weighted Vector Sum
B side
A side
2
STH
1
1
1
1
1
1
1
ADD
1
5
5
SHR
AND
LDW
B
SUB
STH
ADD
SHR
2
SHR
MPYHL
5
5
MPY
LOOP
cntr
mem
mem
ci
bi_bi+1
bi +1
bi
ci +1
pi + 1_scaled
pi_scaled
LDW
pi+1
pi
ai_ai+1
.D1
.D2
.M1X
.M2X
.L1X
.S1
.S2
.L2
.L2
.S2
.D2
.S1
.L1
.D1