Posts

Direct Access Media (DMA) Controller in Computer Architecture

2 min read

 

Direct Access Media (DMA) Controller in Computer Architecture


Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations.

The process is managed by a chip known as a DMA controller (DMAC).


DMA Controller is a hardware device that allows I/O devices to directly access memory with less participation of the processor. DMA controller needs the same old circuits of an interface to communicate with the CPU and Input/Output devices. 

Fig-1 below shows the block diagram of the DMA controller. The unit communicates with the CPU through data bus and control lines. Through the use of the address bus and allowing the DMA and RS register to select inputs, the register within the DMA is chosen by the CPU. RD and WR are two-way inputs. When BG (bus grant) input is 0, the CPU can communicate with DMA registers. When BG (bus grant) input is 1, the CPU has relinquished the buses and DMA can communicate directly with the memory.

DMA controller registers :\

The DMA controller has three registers as follows.

  • Address register – It contains the address to specify the desired location in memory.
  • Word count register – It contains the number of words to be transferred.
  • Control register – It specifies the transfer mode.

Note – 

All registers in the DMA appear to the CPU as I/O interface registers. Therefore, the CPU can both read and write into the DMA registers under program control via the data bus.

Fig 1- Block Diagram

Explanation :

The CPU initializes the DMA by sending the given information through the data bus.

  • The starting address of the memory block where the data is available (to read) or where data are to be stored (to write).
  • It also sends word count which is the number of words in the memory block to be read or write.
  • Control to define the mode of transfer such as read or write.
  • A control to begin the DMA transfer.

You may like these posts

  •  It is one of the simplest forms of I/O where the CPU has to do all the work. This technique is called programmed I/O.Consider a user process that wants to print the Nine-char…
  •  What is Pipelining?Pipelining is the process of accumulating instruction from the processor through a pipeline. It allows storing and executing instructions in an orderly pro…
  •  What is Interrupt I/O ProcessAn interrupt I/O is a process of data transfer in which an external device or a peripheral informs the CPU that it is ready for communication and…
  •  Instruction PipelinePipeline processing can occur not only in the data stream but in the instruction stream as well.Most of the digital computers with complex instructions re…
  •  Arithmetic PipelineArithmetic Pipelines are mostly used in high-speed computers. They are used to implement floating-point operations, multiplication of fixed-point numbers, …
  •  Difference between Programmed and Interrupt Initiated I/OData transfer between the CPU and I/O devices can be done in variety of modes. These are three possible modes: &…

Post a Comment

© 2025CSA. The Best Codder All rights reserved. Distributed by