Разница между DMA и PIO

DMA против PIO

Прямой доступ к памяти и программируемый ввод / вывод, DMA и PIO соответственно, являются двумя способами передачи информации в электронных устройствах; более известным в компьютерах и других подобных устройствах. PIO - более старый метод, который с тех пор был заменен DMA в большинстве приложений из-за определенных преимуществ. DMA новее и лучше PIO во многих отношениях, и многие устройства теперь используют в основном DMA с минимальной поддержкой PIO для совместимости и для установки режимов DMA.

Основным недостатком PIO и основной причиной появления DMA является плата, которую он берет на процессор. С PIO процессор отвечает за перемещение данных из одной точки в другую. Чем выше скорость передачи, тем больше загружается процессор; производя главное узкое место в работе компьютера. DMA работает не так, как PIO. Процессор не облегчает передачу информации, оставляя его свободным для выполнения других задач независимо от скорости передачи информации. Это означает, что процессор не является фактором, когда речь идет о максимальной скорости передачи.

Как указывалось ранее, некоторые устройства могут работать с PIO и DMA, несмотря на использование только DMA. PIO используется всякий раз, когда возникают проблемы с DMA. При достижении порога ошибки устройство автоматически переключается в режим PIO для более последовательной работы..

Хотя DMA превосходит PIO во многих отношениях, он все еще используется во многих устройствах. Схема, необходимая для контроллера PIO, намного проще, а значит и дешевле, по сравнению с DMA. В устройствах, где высокая скорость передачи данных не требуется, а в простых - более выгодно использовать PIO, а не DMA. Вот почему PIO все еще используется, несмотря на то, что DMA превзошел его практически во всех аспектах. Одним из примеров устройств, которые все еще используют PIO, является CompactFlash. Есть даже новые режимы PIO, которые были разработаны для CompactFlash.

При выборе режима, используемого с жесткими дисками, DMA всегда будет обеспечивать лучшую производительность, чем PIO. Лучше позволить системе выбирать автоматически, так как она будет автоматически выбирать лучшую, с которой ваше оборудование может работать.

Резюме:
PIO старше по сравнению с DMA
PIO занимает больше ресурсов процессора по сравнению с DMA
PIO намного проще по сравнению с DMA
Устройства прибегают к PIO, когда DMA проблематичен