Dependency Graph Of Fixed-Point Dot Product - Texas Instruments TMS320C6000 Programmer's Manual

Hide thumbs Also See for TMS320C6000:
Table of Contents

Advertisement

Writing Parallel Code
6.3.4.1 Fixed-Point Dot Product
Figure 6–1. Dependency Graph of Fixed-Point Dot Product
Instruction
mnemonic
Number of cycles
required to complete
an instruction
6-12
Use the following steps to draw a dependency graph:
1) Define the nodes based on the variables accessed by the instructions.
2) Define the data paths that show the flow of data between nodes.
3) Add the instructions and the latencies.
4) Add the functional units.
Figure 6–1 shows the dependency graph for the fixed-point dot product
assembly instructions shown in Example 6–7 and their corresponding register
allocations.
LDH
ai
Variable
(A2)
being
written
5
.M1
1
The two LDH instructions, which write the values of ai and bi, are parents
of the MPY instruction. It takes five cycles for the parent (LDH) instruction
to complete. Therefore, if LDH is scheduled on cycle i, then its child (MPY)
cannot be scheduled until cycle i + 5.
The MPY instruction, which writes the product pi, is the parent of the ADD
instruction. The MPY instruction takes two cycles to complete.
The ADD instruction adds pi (the result of the MPY) to sum. The output of
the ADD instruction feeds back to become an input on the next iteration
and, thus, creates a loop carry path. (See section 6.7 on page 6-77 for
more information on loop carry paths.)
LDH
bi
.D1
.D1
(A5)
MPY
5
Register
allocation
pi
(A6)
2
ADD
sum
.L1
(A7)
Functional
unit
SUB
1
cntr
.S1
(A1)
1
B
LOOP
.S1

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents