(^306) PC Hardware: A Beginner’s Guide
DMA mode moves one word (2 bytes or 16 bits) of data in each transfer. There have
been three single-word DMA modes, differing in their transfer speeds that range from
asmuchas960nanosecondstoasfastas240nanosecondstomove2.1MBpsto8.3MBps
of data, respectively.
Single-word DMA transfers require the entire DMA transfer process to be repeated
for each two bytes of data being transferred. This is why single-word DMA modes have
largely been replaced by multiword DMA modes. A multiword DMA transfer does basically
what its name implies—it transfers data in burst or a string of multiple words. This elimi-
nates the overhead involved with transferring only two bytes at a time. Multiword DMA
modes range from 480 nanosecond cycle times and 4.2 MBps (Mode 0) to a 120 nanosec-
ond cycle time that transfers 16.7 MBps of data (Mode 3). All DMA modes used on to-
day’s PCs are multiword.
DMA Parties
Normal DMA is also called third-party DMA because the DMA controller on the mother-
board controls the transfer of data between the DMA device and RAM (the first two par-
ties in the transfer). Third-party DMA is also called conventional DMA and is considered
old and slow in comparison to what is called first-party DMA. ISA devices use conven-
tional DMA.
In first-party DMA, the DMA controller is located on the DMA device itself, which al-
lows the device to control the DMA data transfer directly. First-party DMA does not re-
quire assistance from the motherboard’s DMA controller and uses what is called bus
mastering to control the data transfer.
Bus mastering means that the DMA device takes over the bus, becoming the bus mas-
ter, which allows the device and memory to transfer data without either of the CPU or the
DMA controller. For an IDE/ATA device to implement bus mastering, its adapter must
be installed in a PCI bus slot. The main benefit of bus mastering DMA is that it frees the
CPU to work on other tasks. Bus mastering is an integral feature of what is now called Ul-
tra DMA or UDMA (see below).
Programmed I/O
In the past, IDE/ATA devices transferred data using programmed I/O (PIO), which uses
the CPU to directly control data transfers between the system and the hard disk. Five PIO
modes have been used over the years for disk drive data transfers, with the fastest sup-
porting 16.7 MBps data transfers. PIO works great for slow devices like keyboards and
modems, but for faster devices like the hard disk it is much too slow for advancing tech-
nology. PIO transfers depend on the IRQ process, which adds processing overhead and
wastes valuable CPU cycles.