Data Alu Registers; Multiplier-Accumulator (Mac); Address Generation Unit (Agu) - Freescale Semiconductor DSP56311 User Manual

24-bit digital signal processor (dsp)
Hide thumbs Also See for DSP56311:
Table of Contents

Advertisement

Conditional ALU instructions
Software-controllable 24-bit, 48-bit, or 56-bit arithmetic support
Four 24-bit or 48-bit input general-purpose registers: X1, X0, Y1, and Y0
Six data ALU registers (A2, A1, A0, B2, B1, and B0) that are concatenated into two
general-purpose, 56-bit accumulators, A and B, accumulator shifters
Two data bus shifter/limiter circuits

1.6.1.1 Data ALU Registers

The data ALU registers are read or written over the X data bus and the Y data bus as 16- or 32-bit
operands. The source operands for the data ALU can be 16, 32, or 40 bits and always originate
from data ALU registers. The results of all data ALU operations are stored in an accumulator.
Data ALU operations are performed in two clock cycles in a pipeline so that a new instruction
can be initiated in every clock cycle, yielding an effective execution rate of one instruction per
clock cycle. The destination of every arithmetic operation can be a source operand for the
immediately following operation without penalty.

1.6.1.2 Multiplier-Accumulator (MAC)

The MAC unit comprises the main arithmetic processing unit of the DSP56300 core and
performs all of the calculations on data operands. For arithmetic instructions, the unit accepts as
many as three input operands and outputs one 56-bit result of the following form: extension:most
significant product:least significant product (EXT:MSP:LSP).
The multiplier executes 24-bit
signed, unsigned, or mixed operands. The 48-bit product is right-justified and added to the 56-bit
contents of either the A or B accumulator. A 56-bit result can be stored as a 24-bit operand. The
LSP is either truncated or rounded into the MSP. Rounding is performed if specified.

1.6.2 Address Generation Unit (AGU)

The AGU performs the effective address calculations using integer arithmetic necessary to
address data operands in memory and contains the registers that generate the addresses. It
implements four types of arithmetic: linear, modulo, multiple wrap-around modulo, and
reverse-carry. The AGU operates in parallel with other chip resources to minimize
address-generation overhead.
The AGU is divided into halves, each with its own identical address ALU. Each address ALU has
four sets of register triplets, and each register triplet includes an address register, offset register,
and modifier register. Each contains a 24-bit full adder (called an offset adder). A second full
adder (called a modulo adder) adds the summed result of the first full adder to a modulo value
that is stored in its respective modifier register. A third full adder (called a reverse-carry adder) is
also provided. The offset adder and the reverse-carry adder work in parallel and share common
Freescale Semiconductor
24-bit parallel, fractional multiplies between twos-complement
×
DSP56311 User's Manual, Rev. 2
DSP56300 Core Functional Blocks
1-7

Advertisement

Table of Contents
loading

Table of Contents