beautypg.com

Motorola DSP96002 User Manual

Page 28

background image

MOTOROLA

DSP96002 USER’S MANUAL

3 - 5

A program loop begins execution after the DO instruction and continues until the program address fetched

equals the loop address register contents (last address of program loop). The contents of the loop counter

are then tested for one. If the loop counter is not one, the loop counter is decremented and the top location

in the stack RAM is read (but not pulled) into the PC to return to the start of the loop. If the loop counter is

one, the program loop is terminated by incrementing the PC, reading the previous loop flag bit from the top

location in the stack into the status register, purging the stack (pulling the top location and discarding the

contents) and pulling the LA and LC registers off the stack and restoring the respective registers. When

terminating a loop the loop flag, LA and LC registers as well as the system stack pointer are restored.

3.2.8 Program Memory

The Program Memory consists of a 1,024 location by 32-bit RAM. Addresses are received from the pro-

gram control logic (usually the PC). The Program Memory may contain instructions, constants, and data

tables which are fixed at assembly time. The Program Memory is a dual-access memory in the sense that

it may be accessed twice during a cycle: once by the core and once by the DMA. Program Memory may

be expanded off-chip. Program RAM may be written to download instructions. The bootstrap ROM also ap-

pears in Program Memory space during the bootstrap mode. See Section 9.

3.2.9 External Bus Interfaces

The DSP96002 has two identical external bus interfaces. Each bus interface has a 32-bit wide address bus

and a 32-bit wide data bus, and may be used to access external Data Memory, Program Memory or I/O

devices. Separate select lines control access to the memory spaces. A Port Select control register permits

assigning sections of each memory space to each external bus interface port. Refer to Section 2 and Sec-

tion 9 for a detailed description of the external bus interface.

3.2.10

Internal Bus Switch and Bit Manipulation Unit

The Internal Bus Switch performs data transfers from one internal bus to another.

The Bit Manipulation Unit performs bit manipulation operations on memory and register operands on the

XDB, YDB, and GDB.

3.2.11

I/O Interfaces

The on-chip I/O interfaces are intended to minimize system chip count and "glue" logic in many DSP96002

applications. Each I/O interface has its own control, status and data registers and is treated as memory-

mapped I/O by the DSP96002. Each interface has several dedicated interrupt vector addresses and control

bits to enable/disable interrupts. This minimizes the overhead associated with servicing the device since

each interrupt source has its own service routine.

The DSP96002 provides the following I/O interfaces: two identical 32-bit parallel Host MPU/DMA Interface

peripherals are provided on the DSP96002, one connected to External Bus Interface A and the other to

External Bus Interface B; a two-channel DMA Controller.

3.2.11.1

Host Interfaces

The DSP96002 provides a Host MPU/DMA Interface for each of its external bus interface ports. Each Host

Interface (HI) is a 8-, 16-, 24- or 32-bit wide parallel port which may be connected directly to the data bus

of a host processor. The host processor may be any of a number of popular microcomputers or micropro-