Texas Instruments TMS320C67X/C67X+ DSP Car Speaker User Manual

Functional Units
2-5CPU Data Paths and ControlSPRU733
2.3 Functional Units
The eight functional units in the C6000 data paths can be divided into two
groups of four; each functional unit in one data path is almost identical to the
corresponding unit in the other data path. The functional units are described
in Table 22.
Most data lines in the CPU support 32-bit operands, and some support long
(40-bit) and double word (64-bit) operands. Each functional unit has its own
32-bit write port into a general-purpose register file (Refer to Figure 21). All
units ending in 1 (for example, .L1) write to register file A, and all units ending
in 2 write to register file B. Each functional unit has two 32-bit read ports for
source operands src1 and src2. Four units (.L1, .L2, .S1, and .S2) have an
extra 8-bit-wide port for 40-bit long writes, as well as an 8-bit input for 40-bit
long reads. Because each unit has its own 32-bit write port, when performing
32-bit operations all eight units can be used in parallel every cycle.
See Appendix B for a list of the instructions that execute on each functional
Table 22. Functional Units and Operations Performed
Functional Unit Fixed-Point Operations Floating-Point Operations
.L unit (.L1, .L2) 32/40-bit arithmetic and compare operations
32-bit logical operations
Leftmost 1 or 0 counting for 32 bits
Normalization count for 32 and 40 bits
Arithmetic operations
conversion operations
.S unit (.S1, .S2) 32-bit arithmetic operations
32/40-bit shifts and 32-bit bit-field operations
32-bit logical operations
Constant generation
Register transfers to/from control register
file (.S2 only)
Reciprocal and reciprocal square-root
Absolute value operations
DP conversion operations
SPand DP adds and subtracts
SP and DP reverse subtracts (src2 src1)
.M unit (.M1, .M2) 16 × 16-bit multiply operations
32 × 32-bit multiply operations
Floating-point multiply operations
Mixed-precision multiply operations
.D unit (.D1, .D2) 32-bit add, subtract, linear and circular
address calculation
Loads and stores with 5-bit constant offset
Loads and stores with 15-bit constant
offset (.D2 only)
Load doubleword with 5-bit constant