4
Data Transfer
4 – 1
4.1
OVERVIEW
This chapter describes the processor units that control the movement of
data to and from the processor, and from one data bus to the other within
the processor. These are the data address generators (DAGs) and the unit
for exchanging data between the program memory data bus and the data
memory data bus––the PMD-DMD bus exchange unit.
4.2
DATA ADDRESS GENERATORS (DAGS)
Every device in the ADSP-2100 family contains two independent data
address generators so that both program and data memories can be
accessed simultaneously. The DAGs provide indirect addressing
capabilities. Both perform automatic address modification. For circular
buffers, the DAGs can perform modulo address modification. The two
DAGs differ: DAG1 generates only data memory addresses, but provides
an optional bit-reversal capability, DAG2 can generate both data memory
and program memory addresses, but has no bit-reversal capability.
While the following discussion explains the internal workings of the
DAGs, bear in mind that the ADSP-2100 Family Development Software
(assembler and linker) provides a direct method for declaring data buffers
as circular or linear and for managing the placement of the buffer in
memory. Only the initializing of DAG registers must be explicitly
programmed: see “Indirect Addressing” and “Modulo Addressing
(Circular Buffers)” below.
4.2.1
DAG Registers
Figure 4.1, on the following page, shows a block diagram of a single data
address generator. There are three register files: the modify (M) register
file, the index (I) register file, and the length (L) register file. Each of the
register files contains four 14-bit registers which can be read from and
written to via the DMD bus.