3 functional units – Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 31

Advertising
background image

Functional Units

2-5

CPU Data Paths and Control

SPRU733

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 2−2.

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 2−1). 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
unit.

Table 2−2. 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
DP

SP, INT

DP, INT

SP

conversion operations

.S unit (.S1, .S2)

32-bit arithmetic operations
32/40-bit shifts and 32-bit bit-field operations
32-bit logical operations
Branches
Constant generation
Register transfers to/from control register
file (.S2 only)

Compare
Reciprocal and reciprocal square-root
operations
Absolute value operations
SP

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
offset

Advertising