Direct Memory Access in Computer Architecture

Direct Memory Access:

Direct Memory Access is a process where the data transforms between the microprocessor (CPU), memory and peripheral devices. It is directly without the involvement of the microprocessor (CPU).

DMA in Computer Architecture:

The CPU first initializes the DMA. The CPU should send some useful information to the DMA controller. 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 over the memory buses. A DMA controller takes over the buses to manage the transfer directly between the I/O device and memory.

Direct Memory Access in Computer Architecture

Operation of Direct Memory Access:

1. The starting address of the memory block where the data is available for reading or where the data stored (for writing).
2. The word count is the number of words in the block.
3. Specify the mode of transfer such as read or write.
4. A control to start the DMA transfer.

DMA Controller in Computer Architecture:

DMA Controller is a control unit. It’s a part of the I/O device’s interface circuit. It can transfer blocks of data between I/O devices and the main memory. DMA controller acts as station master. It transfers the data with minimal intervention from the processor. When the DMA controller receives the above information, the DMA starts and continues to transfer data between memory and  I/O devices until an entire block transfer. When the assigned job of the DMA is done, it informs the CPU about the termination of the job.

DMA can use 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. It includes disk drive controllers, Graphics Cards, network cards, sound cards, etc.