Direct Memory Access (DMA)

Direct Memory Access (DMA) is a means by which devices can exchange data with memory or with each other without requiring intervention by the processor. Standard DMA allows a device to exchange data with memory, but not with another device. Bus Mastering DMA allows two devices to communicate directly with each other. The advantage of using DMA is that it reduces the load on the processor, allowing it to perform other tasks. There are even fewer DMA channels than IRQs—eight versus 16—but DMA channels are much less in demand than IRQs, so DMA channel availability is almost never an issue. Table 1-3 lists DMA channels and the uses to which they are typically put.

Table 1-3. Standard 16-bit ISA DMA channel assignments

DMA

Bus type

Transfers

Typically used by

0

16-bit

8-bit

none

1

8/16-bit

8-bit

Some sound cards

2

8/16-bit

8-bit

Floppy disk controller

3

8/16-bit

8-bit

LPT1: in ECP mode

4

none

16-bit

DMA controller cascade

5

16-bit

16-bit

Some sound cards; ISA SCSI host adapter

6

16-bit

16-bit

ISA SCSI host adapter

7

16-bit

16-bit

Some sound cards; ISA SCSI host adapter

DMA 2 is used by nearly all systems for the floppy disk drive controller. Excluding DMA 4, which is a dedicated cascade channel (used to access the secondary DMA controller), the other DMA channels are available for use with expansion cards. DMA 0 is almost never used because, although it appears only in 16-bit slots, it supports only 8-bit transfers. ...

Get PC Hardware in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.