Functional Units

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

Arithmetic operations

 

32-bit logical operations

DP SP, INT DP, INT SP

 

Leftmost 1 or 0 counting for 32 bits

conversion operations

 

 

 

Normalization count for 32 and 40 bits

 

 

 

 

.S unit (.S1, .S2)

32-bit arithmetic operations

Compare

 

32/40-bit shifts and 32-bit bit-field operations

Reciprocal and reciprocal square-root

 

32-bit logical operations

operations

 

 

 

Branches

Absolute value operations

 

SP DP conversion operations

 

Constant generation

 

 

 

Register transfers to/from control register

SPand DP adds and subtracts

 

 

 

file (.S2 only)

SP and DP reverse subtracts (src2 − src1)

 

 

 

.M unit (.M1, .M2)

16 16-bit multiply operations

Floating-point multiply operations

 

32 32-bit multiply operations

Mixed-precision multiply operations

 

 

 

.D unit (.D1, .D2)

32-bit add, subtract, linear and circular

Load doubleword with 5-bit constant

 

address calculation

offset

 

Loads and stores with 5-bit constant offset

 

 

Loads and stores with 15-bit constant

 

 

offset (.D2 only)

 

 

 

 

SPRU733

CPU Data Paths and Control

2-5

Page 31
Image 31
Texas Instruments TMS320C67X/C67X+ DSP manual 2. Functional Units and Operations Performed