beautypg.com

Motorola DSP96002 User Manual

Page 29

background image

3 - 6

DSP96002 USER’S MANUAL

MOTOROLA

cessors, another DSP96002 or DMA hardware. The HI appears as a memory mapped peripheral occupy-

ing 16 words in the host processor address space. Separate transmit and receive data registers are double-

buffered to allow the DSP96002 and host processor to efficiently transfer data at high speed. Host proces-

sor communication with the HI is accomplished using standard Host processor data move instructions and

addressing modes. Handshake flags are provided for polled or interrupt-driven data transfers.

3.2.11.2

DMA Controller

The DMA Controller performs all the address storage and effective address calculations necessary to ad-

dress the DMA source and destination operands. The DMA controller operates in parallel with other chip

resources to minimize data or program transfers overhead. The DMA controller contains one Source Ad-

dress Register, one Source Offset Register, one Source Modifier Register, one Destination Address Reg-

ister, one Destination Offset Register and one Destination Modifier Register for each channel.

In addition there are two control registers per channel. The Transfer Count down counter, decremented af-

ter each transfer, contains the number of DMA transfers remaining to be done. The DMA Control/Status

Register controls the DMA activities and contains the DMA status. All DMA registers are mapped into the

X memory space. The AGU is shared by the DMA for the source and destination address calculations. The

DMA addressing modes are: linear, bit reversed and modulo. For more details see Section 7.5.

3.3

DATA ALU BLOCK DIAGRAM

The major components of the Data ALU are

Data ALU Register File

Multiply Unit

Adder Unit

Logic Unit

Format Converter

Divide and Square Root Unit

Controller and Arbitrator

A block diagram of the Data ALU architecture is shown in Figure 3-2.

D0, D1, D2, D3, D4, D5, D6, D7, D8 and D9 are 96-bit registers which serve as the Data ALU general pur-

pose register file. Every register is divided into three portions: high, middle, and low, each 32-bits wide. The

registers may be treated as ten 96-bit registers Dn (Dn.H:Dn.M:Dn.L), n=0,1,..,9 for floating-point source

and/or destination operands. These floating point registers receive inputs from the Multiplier, the Adder,

and the Subtracter and supply a source data register of the same form. Most Data ALU floating-point op-

erations specify the 96-bit registers as source and/or destination operands. However, D8 and D9 are never

destinations of a Data ALU operation.

The data is stored in the registers in double precision floating-point format. Each register may be read or

written over the XDB or YDB as a floating-point operand. A format conversion is automatically performed

when a Dn register is written with an operand of a different floating-point format. This can occur when writ-

ing Dn from the XDB or YDB as a result of a single precision floating-point MOVE. If a single precision op-

erand is written to a floating point data register, the middle portion of the data register is written with the

mantissa portion of the word operand, the low portion is zeroed and the high portion is written with the ex-

ponent portion of the word operand.