Generic Address Generator

The Generic Address Generator (GAG) is a generalization of the direct memory access (DMA) method for the transfer of blocks of data or of data streams between memory and processing resource without the need to individually address each data item by a CPU instruction. The GAG is a reconfigurable address generator. The GAG is also a highly efficient implementation of the data sequencer for Auto-sequencing memory (ASM) blocks. At run time after having been configured for a particular addressing pattern, the GAG does not need any memory cycles (except for fetching or storing the data item), even for highly complex address computations. Depending on the application, using a GAG instead of the addressing features of a classical CPU can yield speed-up factors of one order of magnitude or more. Without needing any memory cycles for address computation, the GAG methodology supports, for instance with a 2-dimensional address space, a wide variety of generic address sequences like video scans, slanted, sheared, triangular, or rotated video scans, shuffle of butterfly addressing patterns, spiral- or zigzag-shaped address sequences and much more, and, can be used to optimize storage schemes for image processing and massively parallel computing.

The GAG is also an important ingredient of the Anti machine methodology, being the counterpart of the traditional von Neumann computing methodology. Note, that using Auto-sequencing memory is a fundamental issue distinguishing the data-stream-based Anti machine paradigm of Reconfigurable Computing from the instruction-stream-based von Neumann machine paradigm.

Further reading

  • 2002 M. Herz et al.: Memory Organization for Data-Stream-based Reconfigurable Computing; Proc. IEEE ICECS 2002, Dubrovnik, Croatia, 2002