Разлика между 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 е проблематичен