How it works:


Evolution of DMA

  1. Early DMA

    • An external DMA engine managed transfers for devices.
    • PCI peripherals stayed simple and low-cost.
  2. Bus Mastering (improved DMA)

    • Later, DMA capability was integrated inside the peripheral device itself.
    • These self-sufficient devices are called Bus Masters.
    • A Bus Master can directly control the PCI bus to read/write system memory without an external DMA controller.

Example (Bus Master Transaction on PCI)

  1. A PCI peripheral (Bus Master) initiates a transfer.
  2. The North Bridge (chipset) decodes the address and recognizes that it’s the target.
  3. During the data phase:
    • Data moves directly between the Bus Master and the North Bridge (target).
    • The North Bridge generates the necessary DRAM bus cycles to move the data into system memory.
  4. Once finished, the PCI device may trigger an interrupt to notify the CPU.

Why DMA is more efficient