First page Back Continue Last page Overview Graphics
Direct memory access (DMA)
DMA copies data from one memory (or I/O) component to another memory (or I/O) component without going through CPU.
DMA can achieve much faster data transfer rates.
DMA is controlled by a special processor called DMA controller, which controls address, data and read/write lines.
The CPU and DMA cannot use the buses simultaneously, hence,
DMA and the CPU must negotiate to determine who owns the buses.
When copying a set of data from one memory (or I/O) location to another memory (or I/O) location, the microprocessor needs to read the data from the source location into the CPU and then write the data to the destination location. Since executing each read or write instruction may take several clock cycles, the data transfer is slow.
A DMA chip is a special processor that just does read and write operations. Each read or write takes only one clock cycle.
There are some clock cycles that the CPU does not need the buses. DMA can use these bus cycles to transfer data.