Основными "потребителями" каналов DMA являются звуковые карты, CD-ROM-дисководы более ранних выпусков. В обоих случаях скорость передачи не превышает 500 Кб/с. Максимально возможная скорость передачи данных по DMA-каналам (около 2 Мб/с) значительно перекрывает потребности 8-битной звуковой карты. Если же необходимо осуществить быстрый обмен информацией, то в этом случае DMA не используется - процессор берет на себя управление процессом переноса информации, перекрывая все допустимые способности DMA-каналов.

Еще одно замечание. Возможность использования одного IRQ несколькими картами расширения требует поддержки со стороны драйверов и реализуется на уровне конкретного программного продукта. Использование разными картами (или устройствами) одного канала DMA в принципе возможно, но связано со множеством проблем и поэтому не рекомендуется. Простейший пример! При одновременном использовании DMA-канала звуковой картой и портом принтера может возникнуть треск в динамиках или "зависание" воспроизведения звука.

Небольшое уточнение. Цикл DMA начинается с запроса DMA от исполнителя, желающего произвести обмен. После освобождения шины текущим задатчиком (например, процессором) контроллер DMA формирует соответствующий сигнал - "DACK" (DMA Acknowledge - подтверждение ПДП), говорящий о предоставлении канала DMA запросившему его устройству.



DMA-канал

Разрядность

Назначение

0

8

свободен (ранее использовался в PC/XT для обновления памяти

1

8

обычно задействуется под звуковые или сетевые карты

2

8

контроллер floppy-дисководов

3

8

свободен (в PC/XT обеспечивал передачу данных от HD), иногда используется EPP-функцией параллельного порта

4

16

каскадирование для 8-разрядного контроллера (координация между "старым" и "новым" чипами DMA)

5

16

свободен (часто задействуется под 16-разрядные звуковые карты)

6

16

свободен

7

16

свободен