Обмен между УСО и ведущим устройством с использованием прямого доступа в память
Рассмотрим обычную МПС (рис. 4):
Рис. 4.
Предположим, нам нужно ввести некоторые данные из внешнего устройства (например, с датчика) через УВВ и поместить их в ЗУ. При классической организации МПС это можно сделать, только считав данные из УВВ в МП, а затем записав их из МП в ЗУ. Если объем данных велик, МП тратит значительное время на "техническую" работу по пересылке данных. Кроме этого, пересылка через МП является медленной, так как для передачи каждого машинного слова или байта необходимо выполнение двух циклов обмена.
Значительно эффективней была бы прямая передача данных из УВВ в ЗУ (или обратно) без участия МП. Для этого необходимо специальное устройство, которое взяло бы на себя роль "ведущего" вместо МП в процессе такой передачи – контроллер прямого доступа в память (контроллер ПДП). Контроллер ПДП должен выполнять все действия МП по управлению обменом, а самому МП предоставить возможность заниматься обработкой информации.
Рис. 5.
На рис. 5 представлена структурная схема МПС, в которой внешнее устройство (через УВВ) может обмениваться с ЗУ в режиме прямого доступа в память под управлением контроллера ПДП. Рассмотрим принцип ее функционирования в режиме ПДП.
1. УВВ (внешнее устройство) инициирует начало процедуры обмена с использованием ПДП, устанавливая активный сигнал на линии DREQ.
2. Контроллер ПДП, получив сигнал от внешнего устройства, с помощью сигнала HRQ запрашивает у МП разрешение на использование системных шин.
3. МП выдает разрешение на занятие системных шин, устанавливая сигнал HLDA в активное состояние. При этом МП "отключается" от системных шин, переводя свои соответствующие выводы в Z-состояние. Разрешение на занятие системных шин может быть выдано микропроцессором не сразу, так как он должен завершить текущий цикл обмена. Выдача разрешения задерживается также в том случае, если исполняемая команда защищена префиксом блокировки шиныLOCK.
4. Контроллер ПДП по линии DACK сообщает внешнему устройству о начале обмена. С этого момента он принимает на себя обязанности ведущего устройства, управляющего обменом.
5. Контроллер ПДП выдает на шину адреса адрес ячейки ЗУ, с которой будет производиться обмен информацией.
6. Контроллер ПДП формирует на шине управления управляющие сигналы IOR и MEMW (при передаче данных из ВУ в ЗУ) или IOW и MEMR (при передаче данных из ЗУ в ВУ). В этот момент происходит собственно передача данных.
7. По окончании передачи контроллер переводит в неактивное состояние сигнал DACK , сообщая внешнему устройству об окончании обмена, и сигнал HOLD,информируя МП о завершении использования системных шин. С этого момента функции ведущего устройства снова возвращаются к МП.
Пункты 5 и 6 составляют собственно цикл обмена в режиме ПДП. Этот цикл может быть одиночным ("одиночная передача") или повторяющимся определенное число раз ("блочная передача"). Возможен также вариант "передача по требованию", когда циклы передачи повторяются до тех пор, пока внешнее устройство удерживает активный уровень сигнала на линии DREQ.
Дата добавления: 2019-02-08; просмотров: 600;