DMA is an acronym for Direct Memory Access. This is a capability of computers that lets peripheral devices send data to the memory of the motherboard without any intervention from the CPU.
To carry out Direct Memory Access, the computer uses certain hardware known as DMA controllers. These controllers are built in to the chip of integrated processors. DMA controllers manage data transfer and regulate access to the system bus. Furthermore, these controllers can determine where to read and/or write data, monitor the amount of transferred bytes, and ensure proper CPU cycles.
DMA involves a set of processes. First, an event from the user, either a keystroke or a mouse click, would tell the DMA controller that data needs to be moved to the memory. The controller then sends a DMA request signal to the computer’s CPU. In this request, the DMA controller asks the CPU if the controller can use the system bus. The CPU then grants the request, gives a DMA acknowledge signal, and allows the DMA controller to use the system bus.
Afterwards, the DMA controller reads and writes data, as if it were the CPU. At this point, the CPU is in an idle state. Once the controller has finished the transfer, it will withdraw the request. The CPU will in turn remove the DMA acknowledge signal and reclaim its control of the system bus.
DMA helps computers perform faster. Since DMA does not need the CPU’s resources to read and write data in the peripherals as well as in the internal and external memory, the processor is then available for other tasks. This results to better multi-tasking and streamlined operations.