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.