2.5 Реализация прямого доступа в память (ПДП)
Средства реализации прямого доступа в память – ПДП (DirectMemoryAccess – DMA) реализуют в случаях, если процессе работы системы нужно будет переслать значительные объемы данных между памятью МП-системы и внешним устройством (накопителем данных, видеосистемой, каналом передачи данных и т.п.) по запросу от внешнего устройства.
В обычном протоколе передачи данных между памятью и УВВ для пересылки каждого байта процессор должен выполнить как минимум две команды: «прочитать из памяти» – «передать в УВВ», или наоборот. При выполнении ПДП данные не проходят через процессор, а управление обменом (формирование адресов и сигналов управления) выполняет отдельная микросхема – контроллер ПДП. Причем управление реализуется аппаратно, т.е. быстро и без дополнительной программы. Принцип подключения контроллера ПДП в МП-системе показан на рис. 2.4.
Рисунок 2.4 – Принцип аппаратной реализации обмена ПДП
Режимы использования контроллера ПДП.
1. Режим программной настройки. Со стороны процессора программным путем проводится запись в контроллер ПДП параметров обмена: начальный адрес памяти, объем пересылаемого блока данных, направление обмена.
2. Обмен ПДП. По сигналу «Запрос ПДП» от ВУ контроллер ПДП формирует аналогичный запрос в процессор. В результате процессор блокирует БА и БД, отключается от системных шин и останавливается. В соответствии с программными настройками контроллер ПДП формирует последовательно адреса ячеек передаваемого блока памяти, сигналы управления в зависимости от направления обмена. Важно, что сигналы для чтения источника и записи в приемник (MemR – IOW) или (IOR – MemW) выдаются одновременно, что позволяет выполнять прямую пересылку между памятью и ВУ по ШД без устройств-посредников.