
КогдаДМАиспользуется, весь блок памяти переносится с устройства ввода-вывода в основную память.
Меня интересует размер этого блока, а точнее ответы на следующие вопросы:
- Постоянен ли размер блока (если нет, то при каких условиях он изменяется)?
- Определяется ли размер блока аппаратным обеспечением, программным обеспечением или и тем, и другим?
решение1
Размер передачи DMA программируется путем записи регистра счетчика. Таким образом, размер "блока" не является постоянным, а определяется программным обеспечением. Это в общем, конечно, могут быть всевозможные специальные контроллеры DMA, со своими собственными причудами, такими как ограничения на размер передачи.