This is an old revision of the document!
Direct memory access (DMA) is the mechanism for fast data transfer between peripherals and memory. In some implementations, it is also possible to transfer data between two peripherals or from memory to memory. DMA operates without Peripheral device reads/writes directly from/to memory. No program execution is needed to transfer data. Faster data transfer. Buses are controlled with DMA controller. No processor RD or WR cycles.
Single One transfer at the time Block (burst) Block of data at the time On-demand As long as I/O device accepts transfer Cycle stealing One cycle DMA, one CPU Transparent DMA works when CPU is executing instructions
Memory-to-memory Memory-to-peripheral Peripheral-to-memory Peripheral-to-peripheral