After completion of data transfer, it disables the bus request signal and CPU disables the bus grant signal thereby moving control of buses to the CPU. It makes the data transfer according to the control instructions received by the processor.
Transfer Of Data in Computer By DMA ControllerĭMA controller now has the full control of buses and can interact directly with memory and I/O devices independent of CPU. After assigning the data transfer task to the DMA controller, instead of waiting ideally till completion of data transfer, the processor resumes the execution of the program after retrieving instructions from the stack. The processor initiates the DMA controller by sending the memory addresses, number of blocks of data to be transferred and direction of data transfer. Processor grants the bus to the controller by raising the bus grant signal, now DMA controller is the bus master. If the DMA controller is free, it requests the control of bus from the processor by raising the bus request signal. When a transfer from I/O device to the memory or vice verse has to be made, the processor stops the execution of the current program, increments the program counter, moves data over stack then sends a DMA select signal to DMA controller over the address bus. The device that holds the bus at a given time is called bus master.
Typical Block Diagram of DMA Controller Working of DMA ControllerĭMA controller has to share the bus with the processor to make the data transfer. The typical block diagram of the DMA controller is shown in the figure below.
When the transfer is completed, DMA informs the processor by raising an interrupt. It also contains the control unit and data count for keeping counts of the number of blocks transferred and indicating the direction of transfer of data. DMA in Computer ArchitectureĭMA controller contains an address unit, for generating addresses and selecting I/O device for transfer. More than one external device can be connected to the DMA controller.
from I/O devices to the memory or from main memory to I/O devices. The processor initiates the DMA controller by sending the starting address, Number of words in the data block and direction of transfer of data. Although it transfers data without intervention of processor, it is controlled by the processor. DMA Controller Diagram in Computer ArchitectureĭMA controller provides an interface between the bus and the input-output devices. 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. The hardware device used for direct memory access is called the DMA controller. The term DMA stands for direct memory access.