Direct Memory Access

Direct Memory Access (DMA) is a memory access technique that allows certain hardware subsystems within a computer to independently read from and write to system memory without requiring intervention from the central processing unit (CPU). Under the same processing load, DMA provides a fast method of data transfer. Many hardware systems utilize DMA, including hardware controllers, graphics cards, network cards, and sound cards.

DMA is an essential feature of all modern computers, enabling communication between hardware devices operating at different speeds without imposing a heavy interrupt load on the CPU. Without DMA, the CPU would need to copy each segment of data from the source into registers and then write it back to the new location. During this process, the CPU would be unavailable for other tasks.

DMA transfers are commonly used to copy a memory block from one device to another. When the CPU initializes a transfer operation, the DMA controller executes and completes the process independently. A typical example is moving a block of external memory to a faster internal memory within a chip. Such operations do not cause CPU delays, allowing it to be rescheduled for other tasks.

Back to blog