Motorola DSP96002 User Manual
Page 129
MOTOROLA
DSP96002 USER’S MANUAL
7 - 43
The minimal memory read procedure is 6 program words and 16 clock cycles. The first move triggers the X
Memory Read interrupt request in the slave. The interrupt service routine in the slave takes 8-12 clock cy-
cles to execute. If there are other interrupts with higher priority the response to this interrupt may be delayed.
Only then can the master continue with the second move to read the data.
7.4.21.11
DSP96002 to DSP96002 Transfers Using On-Chip DMA Controllers
Data transfers done by the on-chip DMA Controllers do not require intervention by the core. Since the DMA
has dedicated internal data paths and internal memory slots, no penalty is imposed on execution time of the
core processing. However, there is overhead associated with the initialization procedure for the on-chip
DMA channels. The following initialization steps have to be done:
1.
The master verifies that the slave DMA channel is free by reading the DMA channel Control/
Status register. This can be done using the X Memory Read procedure. If the DMA channel is
dedicated to this transfer, this step may be bypassed.
2.
The master initializes the slave DMA channel. This can done by X Memory Write procedures
or more efficiently using a predefined Host Command. If repetitive DMA transfers of data
blocks to a predefined address region will be done, the Host Command routine will contain just
two instructions: enable DMA channel and load the DMA Counter register.
3.
The master initializes its own DMA channel.
4.
The master initializes the slave HI.
The entire initialization process may take from less than 12 cycles up to more than a hundred cycles.
For example, in block DMA transfers in a linear array of 96Ks (transferring data only in one direction to fixed
predefined addresses), the initialization procedure may be executed only once. Each DMA block transfer
will demand just a DMA enable (bit set) and DMA Counter load for both master and slave processors. This
may be done in 8-12 cycles using fast interrupts.
The initialization process for system configuration with one master and N slaves is not much longer. If the
master makes "constant" DMA transfers then it may have N predefined interrupts while each slave DMA
has fixed control register setup. In this case, initialization may be done in less than 20 cycles.
7.5
DMA CONTROLLER
7.5.1 Introduction
The Direct Memory Access (DMA) Controller is an on-chip device that permits data transfers between any
two locations in any combination of memory spaces, without intervention of the DSP96002 core. Due to ded-
icated DMA buses and dual-access internal memories, a high level of isolation is achieved where the DMA
operation does not interfere or slow down the core operation. The DMA Controller has two channels, each
with its own register set. The DMA Controller registers are read/write registers memory-mapped in the in-
ternal I/O memory space (the highest 128 locations in X memory).