Basics
• 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
Direct Memory Access 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.
• DMA controller is used for decreasing the workload of processors. It is used
in graphic cards, sound cards, network cards, etc.
• The hardware device used for direct memory access is called the DMA
controller. DMA controller is a control unit, part of I/O device’s interface
circuit, which can transfer blocks of data between I/O devices and main
memory with minimal intervention from the processor.
Modes of Data Transfer
The modes in which the Direct Memory Access(DMA) controller transfers the data are:
• Burst Mode
• In this mode, when the DMA controller gets the charge of the system bus, then after that,
only after completion of the data transfer does it get to release the system bus, and till
then, the processor has to wait for those system buses.
• Cycle Stealing Mode
• When the DMA controller is in this mode, it forces the processor to stop the operation
and leave control over the bus for a short time to the DMA controller. After each byte
transfer, the DMA controller releases the bus and re-requests the system bus. In this way,
the DMA controller steals the clock cycle to transfer all bytes.
• Transparent Mode
• Here, the DMA controller only takes over the system bus if the processor does not require
a system bus.
Block Diagram Steps
Whenever a processor is asked to read or write a data block, that is, to transfer a data
block, it instructs the DMA controller by sending the following information:-
1. The first information is that the data should be read or the data should be written in
memory. This information is transferred through reading or writing control lines
between the processor and DMA controls to control the mental unit.
2. The processor also provides the first address/data block in memory, where the
memory block in memory should be read or where the data block should be written in
memory. The DMA controller keeps this in the address register. They are also called
first-time address registers.
3. The processor also provides the starting address of the data block in memory, where
the data in memory should be read or where the data block should be written in
memory. The DMA controller keeps this in the address register. They are also called
starting-time address registers.
4. The processor also sends the number of words or say word count, how many words
to read or write. This information gets stored in a data count or a word count register.
5. Essential is the address of the I / O device that is looking for reading or writing data.
This information gets stored in the data register.
Advantages and Disadvantages
Advantages:
• It transfers the data without involving the processor, so the
read-write task gets speed up.
• It decreases the clock cycle needed to write or read a block of data.
• It reduces the workload of the processor.
Disadvantages:
• It will take money to build this, since it is a hardware unit.
• The problem of cache coherence can occur while using it.