Understanding Feedback
1-12
-
Unpartitioned resource bound across all resources. The best case re-
source bound minimum iteration interval before the compiler has parti-
tioned each instruction to the A or B side. In Example 1–3, the unparti-
tioned resource bound is 4 because the .S units are required for 8 cycles,
and there are 2 .S units.
-
Partitioned resource bound across all resources. The mii after the in-
structions are partitioned to the A and B sides. In Example 1–3, after parti-
tioning, we can see that the A side .L, .S, and .D units are required for a
total of 13 cycles, making the partitioned resource bound
d
13/3
e
+
5. For
more information, see the description of Bound (.L .S .D .LS .LSD) later
in this section.
-
Resource partition table. Summarizes how the instructions have been
assigned to the various machine resources and how they have been parti-
tioned between the A and B side. An asterisk is used to mark those entries
that determine the resource bound value – in other words the maximum
mii. Because the resources on the C6000 architecture are fairly orthogo-
nal, many instructions can execute 2 or more different functional units. For
this reason, the table breaks these functional units down by the possible
resource combinations. The table entries are described below:
J
Individual Functional Units (.L .S .D .M) show the total number of
instructions that specifically require the .L, .S, .D, or .M functional
units. Instructions that can operate on multiple different functional
units are not included in these counts. They are described below in the
Logical Ops (.LS) and Addition Ops (.LSD) rows.
J
.X cross paths represents the total number of AtoB and BtoA. When
this particular row contains an asterisk, it has a resource bottleneck
and partitioning may be a problem.
J
.T address paths represents the total number of address paths re-
quired by the loads and stores in the loop. This is actually different
from the number .D units needed as some other instructions may use
the .D unit. In addition, there can be cases where the number of .T ad-
dress paths on a particular side might be higher than the number of .D
units if .D units are partitioned evenly between A and B and .T address
paths are not.
J
Long read path represents the total number of long read port paths .
All long operations with long sources use this port to do extended
width (40-bit) reads. Store operations share this port so they also
count toward this total. Long write path represents the total number of
long write port paths. All instructions with long (40bit) results will be
counted in this number.