DMA (Direct Memory Access)

Instead of involving the CPU when reading and writing memory, computer designers put in DMA (Direct Memory Access) channels. DMA channels are capable of reading and writing memory without the CPU, which usually permits it to carry on with other tasks.

For the Commodore Amiga, almost all of the workings of the hardware are based around using DMA channels to perform various tasks. However DMA channels may use the same bus to address memory areas as the CPU would (on the Amiga this is the so called “chip” RAM). In this case, some systems simply halt the CPU while performing DMA transfers on the same bus as the CPU, while others like the Amiga use bus arbitration to grant access to the shared bus if there is some contention, i.e. two devices trying to access the memory at the same time. Whichever device has the highest priority is granted use of the bus.

Note that the limiting factor here is not using the same memory address, but using the bus to address and access the memory itself. In the case of the Amiga, devices causing contention might be the CPU and a DMA channel, or two or more DMA channels.