Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций от мешка 3.doc
Скачиваний:
74
Добавлен:
09.04.2015
Размер:
2.58 Mб
Скачать

8.4. Вв в режиме пдп

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

Необходимость реализации режима ПДП в современных ЭВМ достаточно подробно будет рассмотрена в п. 11. Здесь же отметим коротко только основные причины реализации режима ПДП в простейших микроЭВМ.

При программном обмене или обмене в режиме прерывания для передачи одного слова данных (в частном случае – байта) затрачивается несколько (2-3) команд процессора, суммарное время выполнения которых может оказаться недопустимо большим для обмена с конкретным ПУ. Это может быть связано с тем, что период поступления данных определяется внешними по отношению к процессору факторами, например скоростью движения носителя информации или периодом выборки значений какой-либо функции в реальном масштабе времени, если ЭВМ занимается сбором и обработкой информации. Необходимость в скоростном обмене большими объемами информации возникает также при работе микроЭВМ с контроллерами видеосистем. Кроме того, в простейших микроЭВМ иногда возникает необходимость начальной загрузки программ в ОП из ПУ.

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

8.4.1. Пдп с захватом цикла

Этот способ ПДП предназначен для обмена короткими блоками информации в виде байта или слова и имеет два варианта:

Вариант 1

В этом случае для обмена используются те интервалы времени машинного цикла процессора, в которых он не обменивается данными с памятью и ПУ. Таким образом, контроллер ПДП никак не мешает работе процессора. В МП КР580 такими интервалами являются такты T4 и Т5 машинного цикла (сразу следует отметить, что контроллер КР580ВТ57 не работает в таком режиме). Однако возникает необходимость выделения таких интервалов для исключения временного перекрытия обмена ПДП и процессора. В некоторых МП формируются специальные сигналы, указывающие такты, в которых процессор не ведет операций обмена. В других случаях применяют специальные схемы, идентифицирующие "свободные" интервалы времени.

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

Вариант 2

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

Когда ПУ готово к обмену, оно формирует сигнал "требование ПДП", который поступает в контроллер ПДП. Он, в свою очередь, вырабатывает аналогичный управляющий сигнал, который заставляет процессор на несколько тактов отключиться от системной магистрали. В МП КР580 это сигнал HLD (HOLD). Получив этот сигнал, процессор приостанавливает выполнение очередной команды, не дождавшись ее завершения, выдает сигнал "подтверждение ПДП" (в МП КР580 это сигнал HLDA) и отключается от шин системной магистрали. МП КР580 освобождает системную магистраль после такта Т3текущего машинного цикла, причем внутренние операции в процессоре (такты Т4и Т5) продолжаются и могут быть совмещены по времени с операциями ПДП.

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

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

Естественно, что применение такого способа организации ПДП замедляет выполнение программы, но в меньшей степени, чем при обмене в режиме прерывания, хотя бы потому, что не требуется операций со стеком. Кроме того, в отличие от варианта 1 обмен происходит в те моменты времени, в которые это требует ПУ, что особенно важно при работе микроЭВМ в режиме реального времени.

Следует отметить, что такой вариант ПДП используется только тогда, когда интервалы времени между моментами готовности ПУ к обмену достаточно велики и позволяют выполнить процессору несколько операций.