# Direct memory access (DMA)

Last edited: 2026-02-05

Direct memory access (DMA)

Direct memory access instead of Programmed IO (PIO) uses a DMA controller to write data to and from devices. The CPU still directly accesses the status and command registers. Dma Device To utilise the DMA controller, the CPU needs to configure it—which is not a small operation. Therefore, for small data transfers, it is not worth the overhead. Another restriction is that the data to be used by the DMA controller needs to be kept in physical memory while the transfer happens.