Direct Memory Access - GeeksforGeeks
Direct Memory Access - GeeksforGeeks
Open In App
Working of DMA System
addresses.
6. Registers:
Address Register: This stores the memory address where data will
be written or read from.
Word Count Register: This keeps track of the number of words or
units of data that need to be transferred.
Control Register: This contains control information, including the
direction of data transfer (read or write), and any other control
Open In App
signals necessary to manage the DMA operation.
7. Internal Bus: The Internal Bus connects all the components inside the
DMA controller, allowing them to communicate and pass data
efficiently.
8. Interrupt: The Interrupt signal is used to inform the CPU once the
DMA operation is completed. After the data has been transferred, the
DMA controller sends an interrupt to notify the CPU, so the CPU can
resume processing or handle other tasks.
Working:
The DMA Select and DMA Request initiate the process when a
peripheral wants to transfer data, similar to how DMA allows
peripherals to operate independently of the CPU.
Address Bus and Data Bus handle the flow of data and memory
addresses during the transfer, improving system efficiency by
bypassing the CPU.
Types of DMA
There are several types of DMA, each with its own way of transferring
data:
Open In App
1. Burst Mode DMA:
In this mode, the DMA controller takes control of the memory bus
and transfers a block of data in one go.
The CPU is temporarily locked out of memory access while the
DMA controller completes the data transfer.
2. Cycle Stealing DMA:
In this mode, the DMA controller transfers one data item at a time
but allows the CPU to access memory between each transfer.
This allows the CPU and DMA controller to share the memory bus
and work more collaboratively.
Similar Reads
Open In App