Data Sheet
June 2001
DSP16410B Digital Signal Processor
Agere Systems Inc.
Agere Systems—Proprietary
Use pursuant to Company instructions
89
4 Hardware Architecture
(continued)
4.13 Direct Memory Access Unit
(DMAU)
(continued)
4.13.5 Single-Word Transfer Channels
(SWT)
(continued)
The two 16-bit DMAU master control registers,
DMCON0
and
DMCON1
, also influence the operation
of the SWT channels. The 32-bit DMAU status register,
DSTAT
, reflects the status of any SWT transfer. The bit
field definition of the DMAU control and status registers
is given in
Section 4.13.2
.
4.13.6 Memory-to-Memory Transfer Channels
(MMT)
The DSP16410B DMAU provides two MMT channels
for block transfers called MMT4 and MMT5. Each MMT
channel moves data between a
source block
and a
destination block
. Both the source and destination
blocks must be one-dimensional arrays with the same
size and structure, as defined by the MMT channel’s
control register,
CTL
4—5
(see
Table 36 on
page 75
). The user software initiates an MMT block
transfer request by writing a one to the corresponding
TRIGGER5 or TRIGGER4 field (
DMCON0
[11,10]—see
Table 31 on page 70
). Each transfer can be 16 or
32 bits, as determined by the corresponding XSIZE5 or
XSIZE4 field (
DMCON0
[13,12]). If the transfers are
32 bits, the source and destination addresses as speci-
fied by
SADD
4—5
and
DADD
4—5
must both be
even.
Once initiated, MMT channel block transfers proceed to
completion, and then stop. The DMAU pauses an
MMT block transfer to allow an SWT or bypass channel
transaction to complete, and then automatically
resumes the MMT block transfer. This prevents I/O
latencies and possible data overwrites due to long
MMT blocks. Each MMT channel has a dedicated
interrupt request that can be enabled in either core.
The SIGCON[2:0] field (
CTL
4—5
[3:1]) determines
the exact meaning associated with the interrupt. See
Table 50 on page 91
and
Table 34 on page 73
for more
information.
To optimize throughput, MMT channel read operations
can be pipelined. This allows the DMAU to initiate mul-
tiple fetches from the source block before an associ-
ated write to the destination block is performed. The
DMAU stores the data from the multiple fetches into an
internal source look-ahead buffer. The user enables
multiple fetches into the source look-ahead buffer for
an MMT channel by setting the corresponding SLKA5
or SLKA4 field (
DMCON0
[9,8]).
Assuming that source look-ahead is disabled, the
DMAU performs the following steps during an MMT
block transfer:
1. The user software executing in one of the cores
writes a one to the corresponding TRIGGER5 or
TRIGGER4 field (
DMCON0
[11,10]) to initiate the
block transfer. The DMAU automatically clears the
TRIGGER5 or TRIGGER4 field.
2. The DMAU initiates a read operation from the source
block using the address in the channel’s source
address register,
SADD
4—5
(see
Table 37 on
page 76
). If the corresponding XSIZE5 or XSIZE4
field (
DMCON0
[13,12]) is cleared, the read opera-
tion is 16 bits. If the corresponding XSIZE5 or
XSIZE4 field is set, the read operation is 32 bits.
3. If the read operation is 16 bits, the DMAU incre-
ments
SADD
4—5
by one. If the read operation is
32 bits, the DMAU increments
SADD
4—5
by two.
The DMAU updates the source counter register
(
SCNT
4—5
—
Table 39 on page 77
) by increment-
ing its SROW[12:0] field by one.
4. When the read data from step 2 becomes available,
the DMAU places it into the source look-ahead
buffer.
5. The DMAU writes the data in the source look-ahead
buffer to the destination block using the address in
the channel’s destination address register,
DADD
4—5
. If the corresponding XSIZE5 or
XSIZE4 field (
DMCON0
[13,12]) is cleared, the write
operation is 16 bits. If the corresponding XSIZE5 or
XSIZE4 field is set, the write operation is 32 bits.
6. If the write operation is 16 bits, the DMAU incre-
ments
DADD
4—5
by one. If the write operation is
32 bits, the DMAU increments
DADD
4—5
by
two. The DMAU updates the destination counter
register (
DCNT
4—5
) by incrementing its
DROW[12:0] field by one.
7. Depending on the SIGCON[2:0] field
(
CTL
4—5
[3:1]), the DMAU can generate an inter-
rupt.
8. If this is the last location of the block
(
DCNT
4—5
=
LIM
4—5
), the DMAU stops pro-
cessing for the channel. If this is not the last location
of the block, the DMAU returns to step 2.