Микропроцессоры и микроконтроллеры

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципи роботи мікропроцесорів :: Коротка характеристика обміну з прямим доступом в пам'ять

Коротка характеристика обміну з прямим доступом в пам'ять

Обмін з прямим доступом в пам'ять - ПДП (англ. DMA - DirectMemoryAccess ) - спеціальний режим обміну даними між зовнішнім пристроєм і пам'яттю МП-системи, що реалізує без участі процесора. Цей вид обміну застосовують для пересилання блоків інформації великого обсягу. Для реалізації обміну в системі повинен бути присутнім контролер ПДП - пристрій, що формують адреси і сигнали управління для пам'яті і ВУ.

rn

Контролер ПДП містить кілька (3-4) ідентичних каналів обміну. Кожен канал може забезпечувати обмін з одним ВУ. На початку роботи системи має бути встановлено контролера ПДП - кожному каналу програмно повинні бути задані адреса блоку пам'яті, його розмір і напрямок обміну (пам'ять ® ВУ або навпаки).

rn

Обмін починається за сигналом запиту від ВУ, вступнику на контролер ПДП на певний канал. Контролер передає цей сигнал на процесор (часто сигнал називається Hold ). В результаті процесор припиняє виконання поточної програми і переводить буфер адреси і даних в третій стан, відключити від системних шин.

rn

Далі контролер ПДП починає циклічно формувати адреси і сигнали управління, необхідні для реалізації пересилання блоку даних у потрібному напрямку. Адреси комірок пам'яті видаються на системну ША, формуються необхідні сигнали управління Читання /Запис для пам'яті і Ввод /Висновок для ВУ. Сама пересилка здійснюється за ШД. Таким чином, контролер ПДП виконує ті ж дії, що і процесор, що реалізує пересилання з пам'яттю і ВУ.

rn

Обмін завершується, коли контролер ПДП виконає передачу заданого кількості байт. При цьому сигнал Hold обнуляється, і процесор продовжує виконання програми.

rn

Ефективність режиму ПДП порівняно з програмним обміном пояснюється тим, що всі дії з управління пам'яттю і ВУ контролер ПДП реалізує автоматично, а не в результаті виконання команд програми. Оскільки програми немає, не витрачається час на читання команд з пам'яті.