DALU

2.2 DALU

This section describes the architecture and operation of the DALU, the block where most of the arithmetic and logical operations are performed on data operands. In addition, this section details the arithmetic and rounding operations performed by the DALU as well as its programming model.

2.2.1 DALU Architecture

The DALU performs most of the arithmetic and logical operations on data operands in the SC140 core.

The data registers can be read from or written to memory over the XDBA and the XDBB as 8-bit, 16-bit, or 32-bit operands. The 64-bit wide data buses, XDBA and XDBB, support the transfer of several operands in a single access. The source operands for the DALU, which may be 16, 32, or 40 bits, originate either from data registers or from immediate data. The results of all DALU operations are stored in the data registers.

All DALU operations are performed in one clock cycle. Up to parallel arithmetic operations can be performed in each cycle. The destination of every arithmetic operation can be used as a source operand for the operation immediately following without any time penalty.

The components of the DALU are as follows:

A register file of sixteen 40-bit registers

Four parallel ALUs, each containing a MAC unit and a BFU with a 40-bit barrel shifter

Eight data bus shifter/limiters that allow scaling and limiting of up to four 32-bit operands transferred over each of the XDBA and XDBB buses in a single cycle

Figure 2-2 shows the architecture of the DALU.

Memory Data Bus 1 (XDBA)

Memory Data Bus 2 (XDBB)

64

64

64

64

 

 

 

 

(8) Shifter/Limiters

40 40 40 40 40 40 40 40

Data Registers D0–D15

40

40

40

40

40

40

40

40

40

40

40

40

ALU

ALU

ALU

ALU

Figure 2-2. DALU Architecture

2-6

SC140 DSP Core Reference Manual

Page 38
Image 38
Freescale Semiconductor SC140 specifications Dalu Architecture