Modulo Scheduling of Multicycle Loops
6-70
6.6.6.4
Scheduling the Remaining Instructions
Figure 6–14 shows the dependency graph with additional scheduling
changes. The final version of the loop, with all instructions scheduled correctly,
is shown in Table 6–15.
Figure 6–14. Dependency Graph of Weighted Vector Sum (Scheduling ci +1)
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_i+1
bi+1
bi
ci+1
pi+1_scaled
pi_scaled
LDW
pi+1
pi
ai_i+1
.D1
.M1
.S1
.L1X
.D1
.L1
.M2
.S2
.L2
.D2
.L2
.D2
.S2
0
5
8
7
11
6
5
9
6
9
8
7
2
10
Note:
Shaded numbers indicate the cycle in which the instruction is first scheduled.