Direct Memory Access in Computer Architecture
Direct Memory Access (DMA) is a process where the data is transformed between the microprocessor (CPU), memory and peripheral devices directly without the involvement of the microprocessor (CPU).
Direct Memory Access (DMA) is first initialized by CPU and the CPU should send some useful information to DMA controller and letting the DMA controller is to manage the memory buses directly, it would improve the speed of data transfer. This process is managed by a chip known as a DMA controller (DMAC). The CPU is idle and it has no control of the memory buses. A DMA controller takes over the buses to manage the transfer directly between the I/O device and memory.
Some DMA information includes below:
When the DMA controller received the above information, the DMA starts and continues to transfer data between memory and I/O devices until an entire block is transferred. When the assigned job of the DMA is done, it informs the CPU about the termination from the job.
DMA can be used for “memory to memory” copying or moving of data within memory. DMA is also used in the network-on-chip and in-memory computing architectures. Many hardware systems are uses DMA, including disk drive controllers, Graphics Cards, network cards and sound cards.