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

10. Обмен в режиме прямого доступа между устройствами эвм.

Обмен данными микропроцессора с медленнодействующими ПУ обычно организуется по прерываниям или по программному опросу. Однако при передаче между основной и внешней памятью микро-ЭВМ больших блоков данных (десятки байт и более) производительность процессора в этих режимах является недостаточной.

Скорость передачи данных в режиме программного ввода-вывода ограничивается только процессором. Поэтому для передачи данных между устройствами внешней памяти и ОЗУ разработан специальный метод передачи данных без участия процессора, получившего название прямого доступа к памяти(Direct Memory Access, DMA). Аппаратные средства реализации канала ПДП называются контроллером прямого доступа к памяти (КПДП). DMA-контроллер содержит несколько регистров, доступных центральному процессору для чтения и записи. Обычно эти регистры задают порт (или канал), который должен быть использован; направление переноса данных (чтение/запись); единицу переноса (побайтно/пословно); число байтов, которое следует перенести; адрес.

Обмен в режиме прямого доступа может быть реализован по одной из 3-х схем:

ОП-ОП

ОП - ВУ ВУ – ВУ

В идеальном случае режим ПДП совершенно не должен влиять на действия процессора, но для этого потребуется сложный и дорогой тракт в основную память вычислительной системы. Поэтому в большинстве систем используется временное разделение (мультиплексирование) общей системной шины между процессором и КПДП.

Разработано две разновидности ПДП: режим без пропусков тактов микропроцессора и режим с пропуском тактов микропроцессора.

В первом режиме реализации прямой доступ осуществляется без участия процессора (параллельно микропроцессору). Для этого используются те интервалы машинных циклов, в течение которых микропроцессор не обращается к основной памяти. Процессор (или дополнительная схема) идентифицирует эти интервалы для КПДП специальным сигналом, означающим доступность системной шины. Производительность процессора в этом режиме не уменьшается, но для каждого типа процессора потребуется свой контроллер ПДП. С другой стороны, сами передачи будут носить нерегулярный характер ввиду отсутствия у некоторых команд этих интервалов, что приведет к уменьшению скорости передачи данных в режиме ПДП.

Во втором способе реализации КПДП полностью ″захватывает″ системную шину на время передачи, при этом процессор отключается от системной шины и переходит в режим холостого хода. Таким образом, передачи ПДП осуществляются путем пропуска тактов процессора в выполняемой программе. При выполнении передач ПДП содержимое внутренних регистров процессора не модифицируются, поэтому его не нужно запоминать в памяти, а затем восстанавливать, как при обработке прерываний. Выполнение программы осуществляется сразу после окончания ПДП. Тем не менее, в условиях интенсивных передач ПДП эффективная производительность процессора уменьшается.

Перед началом работы контроллер ПДП необходимо инициализировать: занести начальный адрес области ОП, с которой производится обмен, и длину передаваемого массива данных. В дальнейшем по сигналу запроса прямого доступа контроллер фактически выполняет все те действия, которые обеспечивал микропроцессор при программно-управляемой передаче.

Общие принципы организации ПДП

Центральный процессор программирует контроллер DMA, устанавливая его регистры. Затем процессор дает команду устройству (например, АЦП) прочитать данные во внутренний буфер. DMA-контроллер начинает работу, посылая устройству запрос чтения (при этом устройство даже не знает, пришёл ли запрос от процессора или от контроллера DMA). Адрес памяти уже находится на адресной шине, так что устройство знает, куда следует переслать следующее слово из своего внутреннего буфера. Когда запись закончена, устройство посылает сигнал подтверждения контроллеру DMA. Затем контроллер увеличивает используемый адрес памяти и уменьшает значение своего счётчика байтов. После чего запрос чтения повторяется, пока значение счётчика не станет равно нулю. По завершении цикла копирования устройство инициирует прерывание процессора, означающее завершение переноса данных. Контроллер может быть многоканальным, способным параллельно выполнять несколько операций.

Для осуществления режима ПДП контроллер должен выполнить ряд последовательных операций для передачи данных в этом режиме, называемых также циклами ПДП:

•принять запрос на ПДП от ПУ (DMA Request, DREQ);

•сформировать запрос процессору для перехода в режим ПДП (Hold Request, HRQ);

•принять сигнал (Hold Acknowledge, HLDA), подтверждающий переход процессора в режим ПДП (ШД, ША, ШУ в z-состояние), т. е. переход в режим ПДП;

•сформировать сигнал (DMA Acknowledge, DACK), сообщающий ПУ о начале выполнения циклов ПДП;

•сформировать на ША адрес ячейки памяти, предназначенной для обмена;

•выработать сигналы чтения из памяти, записи в ПУ (MEMR1, IOW) и чтение из ПУ, запись в память (IOR, MEMW), обеспечивающие управление обменом;

•по окончании ПДП либо повторить цикл ПДП, изменив адрес, либо прекратить ПДП, сняв запросы ПДП.

Контроллер ПДП по запросу (DREQ) от устройства внешней памяти ПУ должен взять на себя управление системными шинами и выполнять совмещенные циклы чтения или записи до тех пор, пока содержимое счетчика циклов ПДП не будет равно нулю. После этого, устройство внешней памяти снимает запрос ПДП (DREQ), что приводит к снятию соответствующего запроса в процессор (HRQ), и он возобновляет приостановленную программу.

Достоинства DMA

  • Способ обмена информацией потенциально очень быстрый

  • DMA позволяет распараллелить вычислительный процесс

Недостатки DMA

  • Значительные аппаратные затраты

КПД реально стараются делать программируемыми, т.е. создавать возможность для настройки параметров обмена. Если КПД многоканальный, то управление делают управление приоритетами и маскируемость. Если в первой фазе развития микропроцессорной техники универсальные контроллеры включались в состав микропроцессоров, и интерфейс строился под них, то сейчас этот метод плюсов не дает; КПД делаются встроенными в состав микропроцессора и имеют возможность независимого обмена.