Skip to main content

Configurations of DMA

Short answer

Three configurations: detached DMA on a single bus (two bus uses per transfer), integrated DMA in I/O modules (one bus use), and a separate I/O bus (one system bus use). The detached is simplest but least efficient; integrated and I/O bus offer higher efficiency and lower bus traffic.

Mention the three possible configurations of DMA and compare them.

Three common ways of arranging the DMA controller in a system are:

1. Single bus, detached DMA controller

  CPU    DMA    I/O    I/O    Memory
   |      |      |      |       |
  ======================================  system bus

All modules share one bus, and the DMA controller acts as a substitute CPU for I/O. A transfer from a device to memory uses the bus twice: device to DMA controller, then DMA controller to memory.

2. Single bus, integrated DMA-I/O

  CPU    DMA+I/O    DMA+I/O    Memory
   |        |          |         |
  ======================================  system bus

The DMA logic is part of one or more I/O modules (or the DMA controller controls several I/O modules through an I/O bus). A transfer needs the system bus once.

3. I/O bus

  CPU     DMA      Memory
   |       |          |
  ====================================  system bus
           |
  =========================  I/O bus
     |        |        |
    I/O      I/O      I/O

The I/O modules are connected to the DMA controller by a separate I/O bus. The system bus is used once per transfer, and the number of interfaces on the DMA controller is reduced to one.

Comparison

PointDetachedIntegratedI/O bus
System bus uses per wordTwoOneOne
CostLow, simpleHigher, DMA in each moduleModerate
EfficiencyLowestHighestHigh
FlexibilityEasy to add devicesLess flexibleEasy to add I/O modules
Bus trafficHighestLowLow (I/O traffic on separate bus)

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Organization and Architecture chapter 7 questions →