Skip to main content

Implementing DMA

To implement the direct transfer of data between memory and I/O a hardware DMA controller is added to the system. This hardware works like a bypass for a town, allowing large blocks of data to bypass the CPU without snarling it up.

In this scenario large blocks of data are transferred using the DMA hardware. The CPU, on receiving an interrupt, initiates the DMA hardware with

  • A memory start address
  • The amount of data to be transferred
  • The device to be used (hard disk, CD, DVD, etc.)
  • The direction of transfer (input or output)

The DMA controller then transfers the data. Upon completion the controller notifies the CPU that the transfer has been completed.

Next: DMA Conflicts