ADDRESSING

4.4.2.4Address-Modifier-Type Encoding Summary There are three address modifier types:

Linear Addressing

Reverse-Carry Addressing

Modulo Addressing

Bit-reverse addressing is useful for 2k-point FFT addressing. Modulo addressing is useful for creating circular buffers for FIFOs (queues), delay lines, and sample buffers up to 32,768 words long. The linear addressing is useful for general-purpose addressing. There is a reserved set of modifier values (from 32,768 to 65,534) that should not be used.

Figure 4-15gives examples of the three addressing modifiers using 8-bit registers for sim- plification (all AGU registers are 16 bit). The addressing mode used in the example, postincrement by offset Nn, adds the contents of the offset register to the contents of the address register after the address register is accessed. The results of the three examples are as follows:

The linear address modifier addresses every fifth location since the offset register contains $5.

Using the bit-reverse address modifier causes the postincrement by offset Nn addressing mode to use the address register, bit reverse the four LSBs, increment by 1, and bit reverse the four LSBs again.

The modulo address modifier has a lower boundary at a predetermined location, and the modulo number plus the lower boundary establishes the upper boundary. This boundary creates a circular buffer so that, if the address register is pointing within the boundaries, addressing past a boundary causes a circular wraparound to the other boundary.

MOTOROLA

ADDRESS GENERATION UNIT

4 - 25

Page 78
Image 78
Motorola DSP56000, 24-Bit Digital Signal Processor manual Addressing