You are on page 1of 2

Direct Memory Access

Introduction
Transferring data processes involves processors, memory, and input-
output devices. It is the processor which initiates the transfer process and
it ends when the data gets stored. Because of this, the processor's load
increases, and it has to stay ideal, resulting in decreasing efficiency.
The Direct Memory Access (DMA) controller performs the role of the
station master and helps in speeding up the process of transferring data
between input-output devices and memory. The Direct Memory Access
(DMA) controller tries to decrease the processor's involvement in the
entire process. In this blog, we will learn about the concept of Direct
Memory Access. 
Alternative methods for data transfer
Following are the methods used for data transfer:-
Programmed I/O
In this method, the processor's work is to keep scanning and searching
for devices if anyone is ready for data transfer or not. If it finds any, it
wholly involves itself in transferring data between input-output device
and memory and cannot get involved in any other purpose while doing
this. Because of this drawback, people tried to go for some other
method.
Interrupt driven I/O
In this method, when a device is ready to transfer data, it starts with
raising interrupts to the processor. Then, the processor firstly finishes the
execution of the currently ongoing instruction and keeps the current state
by saving it. After this, it goes for transferring data that causes a delay.
Although the processor does not keep scanning and searching for
devices that are ready for data transfer, it is also wholly involved in
transferring data. This drawback was also considered, and another
method is Direct Memory Access introduced.
What is DMA Controller
The hardware device used for this purpose (Direct Memory Access) is
known as a DMA controller. This controller is present in input-output
devices as part of its interface circuit. It performs the role of the station
master and helps speed up the process of transferring data between
Input-output devices and memory. And it tries to decrease the
processor's involvement in the entire process.
Types of Direct Memory Access (DMA)
There are four popular types of DMA.
 Single-Ended DMA
 Dual-Ended DMA
 Arbitrated-Ended DMA
 Interleaved DMA
Single-Ended DMA: Single-Ended DMA Controllers operate by
reading and writing from a single memory address. They are the
simplest DMA.
Dual-Ended DMA: Dual-Ended DMA controllers can read and
write from two memory addresses. Dual-ended DMA is more
advanced than single-ended DMA.
Arbitrated-Ended DMA: Arbitrated-Ended DMA works by
reading and writing to several memory addresses. It is more
advanced than Dual-Ended DMA.
Interleaved DMA: Interleaved DMA are those DMA that read
from one memory address and write from another memory
address.
Working of DMA Controller
The DMA controller registers have three registers as follows.
 Address register – It contains the address to specify the
desired location in memory.
 Word count register – It contains the number of words to be
transferred.
 Control register – It specifies the transfer mode.

You might also like