Block Diagram of DMA

Block Diagram of DMA

The mutual understanding between the device controller and DMA controller is performed via pair of wires called DMA request and DMA acknowledge. Let’s see what is the role of these wires in the DMA transfer,

Direct Memory Access

DMA (Direct memory access) is the special feature within the computer system that transfers the data between memory and peripheral devices(like hard drives) without the intervention of the CPU. In other words, for large data transfer like disk drives, it will be wasteful to use expensive general-purpose processors in which status bits are to be watched and fed the data into the controller register one byte at a time which is termed Programmed I/O. Computers avoid burdening the CPU so, they shift the work to a Direct Memory Access controller. Let’s see the workings of this in detail.

To initiate the DMA transfer the host writes a DMA command block into the memory. This block contains the pointer to the source of the transfer, the pointer to the destination of the transfer, and the count of the number of bytes to be transferred. This command block can be more complex which includes the list of sources and destination addresses that are not contiguous. CPU writes the address of this command block and goes to other work. DMA controller proceeds to operate the memory bus directly, placing the address on it without the intervention of the main CPU. Nowadays simple DMA controller is a standard component in all modern computers.

Similar Reads

Block Diagram of DMA

Block Diagram of DMA...

Working of DMA Transfer

The device controller places a signal on the DMA request wire when a word of data is available for transfer. This cause DMA controller to seize the memory bus of CPU and place the desired address on the DMA acknowledge wire. Up on successful data transfer the device controller receives the DMA acknowledge and then it removes the DMA request signal....

FAQs on DMA(Direct Memory Access) in OS

Q.1: what are the advantages of DMA?...