Resource Table For Unrolled If-Then-Else Code; Determining The Minimum Iteration Interval - Texas Instruments TMS320C6000 Programmer's Manual

Hide thumbs Also See for TMS320C6000:
Table of Contents

Advertisement

6.9.4

Determining the Minimum Iteration Interval

Table 6–20. Resource Table for Unrolled If-Then-Else Code
(a) A side
Unit(s)
Instructions
.M1
.S1
MVK and 2 SHLs
.D1
2 LDHs
.L1
CMPEQ
.L1 or .S1
AND
.L1, .S1, or .D1
ADD and SUB
Total non-.M units
6.9.5
Linear Assembly Resource Allocation
With 16 instructions, the minimum iteration interval is at least 3 because a
maximum of six instructions can be in parallel with the following allocation
possibilities:
LDH must be on a .D unit.
SHL, B, and MVK must be on a .S unit.
The ADDs and SUB can be on a .S, .L, or .D unit.
The AND can be on a .S or .L unit, or .D unit ('C64x only)
From Table 6–20, you can see that no one resource is used more than three
times so that the minimum iteration interval is still 3.
Checking the total number of non-.M instructions on each side shows that a
total of nine instructions can be performed with the minimum iteration interval
of 3. because only seven non-.M instructions are on the B side, the minimum
iteration interval is still 3.
Total/Unit
0
3
2
1
1
2
9
Now that the graph is split and you know the minimum iteration interval, you
can allocate functional units and registers to the instructions. You must ensure
no resource is used more than three times.
Example 6–54 shows the linear assembly code with the functional units and
registers.
Optimizing Assembly Code via Linear Assembly
(b) B side
Unit(s)
Instructions
.M2
.S2
MVK and B
.L2
CMPEQ
.L2 pr.S2
AND
.L2 ,.S2, or .D2
SUB and 2 ADDs
Total non-.M units
Loop Unrolling
Total/Unit
0
2
1
1
3
7
6-97

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C6000 and is the answer not in the manual?

Questions and answers

Table of Contents