Data Arithmetic And Logic Unit (Alu); Address Generation Unit (Agu) - Motorola DSP56009 User Manual

24-bit digital signal processor
Table of Contents

Advertisement

1.3.2.1

Data Arithmetic and Logic Unit (ALU)

The Data Arithmetic and Logic Unit (ALU) has been designed to be fast and provide
the capability to process signals having a wide dynamic range. Special circuitry has
been provided to facilitate the processing of data overflows and round-off errors. The
Data ALU performs all of the arithmetic and logical operations on data operands.
The Data ALU consists of four 24-bit input registers, two 48-bit accumulator
registers (also usable as four 24-bit accumulators), two 8-bit accumulator extension
registers, an accumulator shifter, two data shifter/limiters, and a parallel
single-cycle non-pipelined Multiply-Accumulator (MAC). Data ALU operations use
fractional two's-complement arithmetic. Data ALU registers may be read or written
over the X Data Bus (XDB) and Y Data Bus (YDB) as 24- or 48-bit operands. The 24-bit
data words provide 144 dB of dynamic range. This is sufficient for most real-world
applications, including high-quality audio applications, since the majority of
Analog-to-Digital (A/D) and Digital-to-Analog (D/A) converters are 16 bits or less,
and certainly not greater than 24 bits. The 56-bit accumulation internal to the Data
ALU provides 336 dB of internal dynamic range, assuring no loss of precision due to
intermediate processing.
Two data shifter/limiters provide special post-processing on data reads (from the
ALU accumulator registers and directed to the XDB or YDB). The data shifters are
capable of shifting data one bit to the left or to the right as well as passing the data
unshifted. Each data shifter has a 24-bit output with overflow indication. The data
shifters are controlled by scaling-mode bits. These shifters permit no-overhead
dynamic scaling of fixed point data by simply programming the scaling mode bits.
This permits block floating-point algorithms to be implemented efficiently. For
example, Fast Fourier Transform (FFT) routines can use this feature to selectively
scale each butterfly pass. Saturation arithmetic is accommodated to minimize errors
due to overflow. Overflow occurs when a source operand requires more bits for
accurate representation than there are available in the destination. To minimize the
error due to overflow, "limiting" causes the maximum (or minimum, if negative)
value to be written to the destination with an error flag.
1.3.2.2

Address Generation Unit (AGU)

The Address Generation Unit (AGU) performs all address storage and effective
address calculations necessary to access data operands in memory. It implements
three types of arithmetic to update addresses—linear, modulo, and reverse carry.
This unit operates in parallel with other chip resources to minimize address
generation overhead. The AGU contains eight address registers R[7:0] (i.e., Rn), eight
offset registers N[7:0] (i.e., Nn), and eight modifier registers M[7:0] (i.e., Mn). The Rn
are 16-bit registers that may contain an address or data. Each Rn register may
provide addresses to the X memory Address Bus (XAB), Y memory Address Bus
(YAB), and the Program Address Bus (PAB). The Nn and Mn registers are 16-bit
registers that are normally used to update the Rn registers, but may be used for data.
MOTOROLA
DSP56009 User's Manual
DSP56009 Architectural Overview
Overview
1-11

Advertisement

Table of Contents
loading

Table of Contents