DMA represents Direct Memory Access. It is a hardware-controlled data transfer technique. An external device is used to control data transfer. The external device generates address and control signals that are required to control data transfer. External devices also allow peripheral devices to directly access memory. The external device which controls the data transfer is called the DMA controller.
When the system is turned on, the switches are in position A. The processor starts implementing the program until it requires to read a block of information from the disk. The disk processor transfers a sequence of commands to the disk controller to search and read the desired block of information from the disk.
When the disk controller is ready to transmit the information from the disk, it transfers a DMA request (DRQ) signal to the DMA controller. Thus the DMA controller sends a HOLD signal to the processor HOLD input.
The processor reply to this signal by suspending the buses and transferring an HLDA acknowledgment signal. When the DMA controller gets the HLDA signal, it transfers a control signal to modify the switch position from A to B.
When the DMA controller receives control of the buses, it transfers the memory address where the first byte of information from the disk is to be written. It also transfers a DMA to acknowledge (DACK) signal to the disk controller device signaling it to get ready to transfer the output byte.
In this data transfer mode, the device can make only one transfer (byte or word). After each transfer, DMAC gives the control of all buses to the processor. This is a single transfer mode with the process as follows −