DMA Operation
Without DMA, data is transferred from a peripheral device, such as a modem, through
the IRQ process using two separate data transfers. The modem issues an IRQ to the CPU,
and the CPU stops what it is doing to process the transfer of data first to the CPU’s inter-
nal registers and then to RAM.
A DMA data transfer does not involve the CPU. When a DMA peripheral, such as the
floppy disk drive, needs to transfer data, it requests assistance from the DMA controller
that takes control of the system bus and acts as a pass-through between the DMA device
and RAM, as illustrated in Figure 13-15. While the DMA controller controls the system
bus, it transfers data from the DMA peripheral directly to memory. When the data trans-
fer is complete, control of the bus is transferred back to the CPU and the DMA controller
waits for the next DMA data transfer request.
DMA data transfers are more efficient, involving fewer steps than are required to
have the CPU move the data. In addition, the overhead of the interrupt processing is
eliminated. Whenever the CPU is interrupted, it must save its current state (what it was
doing), process the interrupt, restore its state, and then resume what it was doing. Saving
and restoring its state requires quite a few CPU cycles and, on some operating systems,
interrupt processing requires that the state of the operating system must also be saved
and restored. Eliminating the interrupt through a DMA transfer makes the entire PC
more efficient.
Chapter 13: System Resources^303
Figure 13-14. The Computer Properties window showing memory address assignments