Краткая характеристика обмена с прямым доступом в память
Обмен с прямым доступом в память – ПДП (англ. DMA – DirectMemoryAccess) – специальный режим обмена данными между внешним устройством и памятью МП-системы, реализуемый без участия процессора. Этот вид обмена применяют для пересылки блоков информации большого объема. Для реализации обмена в системе должен присутствовать контроллер ПДП – устройство, формирующее адреса и сигналы управления для памяти и ВУ.
Контроллер ПДП содержит несколько (3-4) идентичных каналов обмена. Каждый канал может обеспечивать обмен с одним ВУ. В начале работы системы должна быть выполнена настройка контроллера ПДП – каждому каналу программно должны быть заданы адрес блока памяти, его размер и направление обмена (память ® ВУ или наоборот).
Обмен начинается по сигналу запроса от ВУ, поступающему на контроллер ПДП на определенный канал. Контроллер передает этот сигнал на процессор (часто сигнал называется Hold). В результате процессор прекращает выполнение текущей программы и переводит буферы адреса и данных в третье состояние, отключаясь от системных шин.
Далее контроллер ПДП начинает циклически формировать адреса и сигналы управления, необходимые для реализации пересылки блока данных в нужном направлении. Адреса ячеек памяти выдаются на системную ША, формируются требуемые сигналы управления Чтение/Запись для памяти и Ввод/Вывод для ВУ. Сама пересылка производится по ШД. Таким образом, контроллер ПДП выполняет те же действия, что и процессор, реализующий пересылки с памятью и ВУ.
Обмен завершается, когда контроллер ПДП выполнит передачу заданного количества байт. При этом сигнал Hold обнуляется, и процессор продолжает выполнение программы.
Эффективность режима ПДП по сравнению с программным обменом объясняется тем, что все действия по управлению памятью и ВУ контроллер ПДП реализует автоматически, а не в результате выполнения команд программы. Поскольку программы нет, не затрачивается время на чтение команд из памяти.
|