Direct Reads - Analog Devices ADSP-2106x SHARC User Manual

Table of Contents

Advertisement

The DWPD (Direct Write Pending) bit of the SYSTAT register indicates
when a direct write to internal memory is pending in the I/O
processor's direct write FIFO or data is pending in the slave write FIFO
(at the external port I/O pins). Direct writes and IOP register accesses
may be completed in different sequences. If, for example, the
ADSP-2106x master performs a direct memory write and then writes to
an IOP register on a slave, the IOP register write may complete before
the direct write.
7.4.2

Direct Reads

When a direct read of a slave ADSP-2106x occurs, the address is
latched on-chip by the I/O processor and ACK is deasserted. When the
corresponding location in memory is read internally, the ADSP-2106x
drives the data off-chip and asserts its ACK line. Direct reads cannot be
pipelined like direct writes—they only occur one at a time.
Note that while direct writes have a maximum pipelined throughput
of one per cycle, direct reads have a maximum throughput of one per
every two cycles (for synchronous IOP register reads) or one per every
four cycles (for synchronous internal memory reads). See Table 11.5,
"Data Delays & Throughputs", in Chapter 11. Because of this low
bandwidth, direct reads are not the most efficient method of
transferring data out of a slave ADSP-2106x—setting up a master
mode DMA channel on the slave to perform writes is more efficient,
although it requires additional programming. The advantage of direct
reads is that no programming of the DMA controller is required.
7.4.3
Broadcast Writes
Broadcast writes allow simultaneous transmission of data to all of the
ADSP-2106xs in a multiprocessing system. The master ADSP-2106x
can perform broadcast writes to the same memory location or IOP
register on all of the slaves. During broadcast writes, the master also
writes to itself unless the broadcast is a DMA write. Broadcast writes
can be used to implement reflective semaphores in a multiprocessing
system (see "Bus Lock & Semaphores" later in this chapter). Broadcast
writes can also be used to simultaneously download code or data to
multiple processors.
The highest region of multiprocessor memory space, addresses
0x0038 0000 to 0x003F FFFF, is used for broadcast writes. When a write
address falls within this region, each ADSP-2106x slave responds by
accepting the access; the master ADSP-2106x also accepts its own
broadcast write. A read cycle generated in the broadcast write region
reads the corresponding location in that processor's internal memory
and does not assert the processor's
www.BDTIC.com/ADI
Multiprocessing
BR
.
x
7
7 – 23

Advertisement

Table of Contents
loading

Table of Contents