- Anti machine
In computer science, anti machine refers to the basic machine paradigm for
reconfigurable computing that is the counterpart of the von Neumann machine. The difference between an anti machine and a von Neumann machine is that the anti machine is data-stream-driven and is therefore sequenced by data counters. The von Neumann machine, in contrast, is is instruction-stream-driven and is therefore controlled by aprogram counter . Another key difference is that the anti machine usually has multiple data counters, whereas the the von Neumann machine can have only a single program counter. The data counters are located within auto-sequencing memory blocks, which are programmed from flowware sources. An anti machine does not have acentral processing unit , but rather one or several data path unit(s), also known as DPU(s).Auto-Sequence Memory
The Auto-sequencing memory (ASM) is an essential part of the anti machine paradigm. It is part of the instruction sequencer and is co-located with the datapath. Traditionally this block, including the datapath unit (for example, an ALU) and the instruction sequencer, is called the
CPU . The ASM is a key component of the paradigm shift from instruction-stream-based computing to theReconfigurable Computing paradigm.ASM use is a fundamental issue because in homogenous
Reconfigurable Computing Systems, there is no instruction fetch at run time, since in a reconfigurable array (rDPU or aFPGA ), the datapath units (DPU s) are connected to form a pipe network, where execution is transport-triggered - for example, upon arrival of data items coming along with thedata stream s driven through the array. For this reason instruction sequencers are not needed here. But a machine paradigm needs a sequencing mechanism -data counter s are used.An Auto-sequencing memory block (ASM block) is a
RAM memory unit that includes a dataaddress generator with thedata counter (a data pointer) used as a data address register for implementation of adata stream . Thedirect memory access (DMA) unit is an example of such an address generator for an ASM. Another example is thegeneric address generator (GAG), a generalization of the DMA. InReconfigurable Computing systems ASMs play an important role for massive speed-up by minimizing or avoiding memory cycle overhead for complex address computations.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 ofdata stream s between memory and processing resource without the need to individually address each data item by aCPU instruction. The GAG is a reconfigurableaddress generator . The GAG is also a highly efficient implementation of the data sequencer forauto-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 forimage processing and massivelyparallel computing .The GAG is also an important ingredient of the
anti machine methodology, Note, that usingAuto-sequencing memory is a fundamental issue distinguishing the anti machine paradigm of reconfigurable Computing from the von Neumann machine paradigm.Data Counters
Data counters in an anti machine are used instead of a program counter by the reconfigurable computing systems. A computing machine paradigm needs a sequencing mechanism. The instruction-stream-driven von Neumann architecture paradigm uses a program counter for sequencing the instructions, according to software programming sources. Because the
Anti machine is, however, data-stream-driven, it uses data counters which are programmed from Flowware sources. According to the Anti machine model the data counters are parts of address generators like DMA or GAG units, located in auto-sequencing memory blocks for data. Instead of a CPU, the anti machine uses DPUs.
Wikimedia Foundation. 2010.