A DMA module includes an address generator to perform a write or read
access to a location of an addressable memory, and an address counter to
advance a stored address to an adjacent memory location. The address
counter does not act on an internal register of the DMA module but
instead is configured so that between reading an address value from the
memory and writing the address value to the memory, the address counter
is advanced once. The memory location at which the address value is read
or written takes on the function of a register conventionally integrated
in the DMA module. This approach reduces the space requirement of the DMA
module, and the DMA module may be employed to control a large number of
DMA processes that may mutually interrupt each other by providing a
plurality of memory locations to store specifications of the DMA blocks.