Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
DMA, Multiple Devices and Conflicts
Like interrupts, DMA channels are single-device resources. If two devices try to use the same DMA channel at the same time, information will get mixed up between the two devices trying to use it, and any number of problems can be the result. DMA channel conflicts can be very difficult to diagnose. See here for more details on resource conflicts.
It is possible to share a DMA channel among more than one device, but only under limited conditions. In essence, if you have two devices that you seldom use, and that you never use simultaneously, you may be able to have them share a channel. However, this is not the preferred method since it is much more prone to problems than just giving each device its own resource.
One problem area with DMA channels is that most devices want to use DMA channels with numbers 0 to 3 (on the first DMA controller). DMA channels 5 to 7 are relatively unused because they require 16-bit cards. Considering that DMA channel 0 is never available, and DMA 2 is used for the floppy disk controller, that doesn't leave many options. On one of my systems I wanted to set up an ECP parallel port, a tape accelerator and a voice modem in addition to my sound card. I ran out of DMA channels between 1 and 3 very quickly. I still had DMA channels 6 and 7 open but could not use them because all the devices I wanted to use were either on 8-bit cards or wouldn't support the higher numbers for software reasons.
Speaking of the ECP parallel port, this is another new area of concern regarding DMA resource conflicts. Many people don't realize that this high-speed parallel port option requires the use of a DMA channel. (Your BIOS setup program will usually have a setting to select the DMA channel, right under where you enable ECP. This should be a good hint but still a lot of people don't notice this. :^) ) The usual default for this port is DMA 3, which is also used by many other types of devices. The conflict resolution area of the Troubleshooting Expert can sometimes help with these situations.