Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Micro_systK.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

4.5.3. Организация ввода/вывода в режиме прямого доступа к памяти

Прямой доступ к памяти (DMA – Direct Memory Access), или режим захва­та предполагает использование контроллера прямого доступа к памяти.

Последовательность процедуры вывода информации по запросу на прямой доступ к памяти рассмотрим применительно к МП I8086 при использовании одного канала программируемого контроллера прямого доступа к памяти I8257. Подключение контроллера прямого доступа к памяти к шинам МПС показано на рис. 4.18.

  1. От внешнего устройства на вход запроса прямого доступа к памяти нулевого канала DRQ0 контроллера прямого доступа поступает сигнал захвата (сигнал лог.”1”).

  2. Контроллер прямого доступа к памяти формирует сигнал запроса захвата HRQ, который поступает на вход HLD микропроцессора.

  3. М икроконтроллер в каждом машинном цикле проверяет наличие сигна­ла захвата HLD. Если сигнал HLD обнаружен, микропроцессор переводит шину AD в Z состояние, формирует сигнал подтверждения захвата HLDA и пере­ходит к формированию тактов ожидания по захвату, проверяя в каждом такте наличие сигнала HLD. Сигнал HLDA поступает на контроллер прямого доступа к памяти, а также используется для перевода шин управления в Z состояние.

  4. П осле поступления сигнала HLDA на контроллер прямого доступа к памяти начинается цикл обмена. Контроллер прямого доступа к памяти:

  • формирует сигнал AEN для блокировки других устройств системы от шин данных и управления;

  • выдает младшие 8 разрядов регистра адреса канала на выводы А(7…0), а старшие 8 разрядов – на выводы D(7…0), стробируя их сигналом ADSTB. Этим сигналом информация с выводов D(7…0) контроллера заносится во внешний буферный регистр и появляется на старших разрядах шины адреса;

  • вырабатывает сигнал DACK0 , указывающий внешнему устройству на начало обмена;

  • ф ормирует пары сигналов MEMR и IOWR. По первому сигналу байт данных считывается из ячейки ОЗУ, адрес которой установлен на шине адреса, и выставляется на шине данных. По второму сигналу информация, выстав­ленная на шине данных, через порт вывода поступает на внешнее устройство;

  • содержимое регистра адреса канала контроллера увеличивается на единицу, а содержимое регистра-счетчика – уменьшается на единицу. Если содержимое регистра-счетчика 0, контроллер выполняет новый цикл обмена. Если же содержимое регистра-счетчика равно нулю, то контроллер прямого доступа завершает цикл обмена, снимая сигнал запроса захвата HRQ с входа HLD микропроцессора.

  1. М икропроцессор, обнаружив отсутствие сигнала захвата, снимает сиг­нал подтверждения захвата HLDA и переходит к выполнению прерванной команды программы.

Прямой доступ к памяти целесообразно использовать при пересылке массивов информации. Это позволяет сократить время пересылки, поскольку из процесса пересылки исключается микропроцессор.

К недостаткам прямого доступа к памяти можно отнести:

  • дополнительные аппаратные затраты (контроллер прямого доступа к памяти, буферный регистр).

  • дополнительные программные затраты (необходимость предваритель­ного программирования контроллера прямого доступа к памяти).

Приложение

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]