11
8.4.1. ПДП С ЗАХВАТОМ ЦИКЛА
Этот способ ПДП предназначен для обмена короткими блоками информации в
виде байта или слова и имеет два варианта:
Вариант 1
В этом случае для обмена используются те интервалы времени машинного
цикла процессора, в которых он не обменивается данными с памятью и ПУ. Таким
образом, контроллер ПДП никак не мешает работе процессора. В МП КР580 такими
интервалами являются такты T4 и Т5 машинного цикла (сразу следует отметить, что
контроллер КР580ВТ57 не работает в таком режиме). Однако возникает необходи-
мость выделения таких интервалов для исключения временного перекрытия обмена
ПДП и процессора. В некоторых МП формируются специальные сигналы, указы-
вающие такты, в которых процессор не ведет операций обмена. В других случаях
применяют специальные схемы, идентифицирующие "свободные" интервалы вре-
мени.
Применение такого способа организации ПДП не снижает производительность
МП, но передача данных происходит только в случайные моменты времени. Это по-
нижает общую скорость обмена. Кроме того, для некоторых ПУ такой режим обмена
вообще неприемлем.
Вариант 2
В этом случае на время, необходимое для обмена одним байтом или словом
данных (что составляет несколько тактов), процессор принудительно отключается от
шин системной магистрали. Такой способ организации ПДП с захватом цикла явля-
ется наиболее распространенным.
Когда ПУ готово к обмену, оно формирует сигнал "требование ПДП", который
поступает в контроллер ПДП. Он, в свою очередь, вырабатывает аналогичный
управляющий сигнал, который заставляет процессор на несколько тактов отклю-
читься от системной магистрали. В МП КР580 это сигнал HLD (HOLD). Получив этот
сигнал, процессор приостанавливает выполнение очередной команды, не дождав-
шись ее завершения, выдает сигнал "подтверждение ПДП" (в МП КР580 это сигнал
HLDA) и отключается от шин системной магистрали. МП КР580 освобождает систем-
ную магистраль после такта Т
3
текущего машинного цикла, причем внутренние опе-
рации в процессоре (такты Т
4
и Т
5
) продолжаются и могут быть совмещены по вре-
мени с операциями ПДП.
Таким образом, в отличие от режима прерывания, который вводится только по-
сле завершения текущей команды, режим ПДП вводится до ее завершения. Это свя-
зано с тем, что в режиме ПДП внутренние регистры процессора не используются, их
содержимое не модифицируется, а следовательно, и не требуется запоминания в
стеке.
С этого момента времени (такт Т
4
) всеми шинами системной магистрали управ-
ляет контроллер ПДП. Используя системную магистраль, он осуществляет обмен
между ПУ и микроЭВМ одним байтом или словом, а затем, сняв сигнал HLD, воз-
вращает управление системной магистралью процессору. Как только ПУ будет гото-
во к обмену, оно вновь захватывает магистраль и т.д. В промежутках между сигна-
лами HLD процессор продолжает выполнять команды текущей программы.
Естественно, что применение такого способа организации ПДП замедляет вы-
полнение программы, но в меньшей степени, чем при обмене в режиме прерывания,
хотя бы потому, что не требуется операций со стеком. Кроме того, в отличие от ва-
рианта 1 обмен происходит в те моменты времени, в которые это требует ПУ, что
особенно важно при работе микроЭВМ в режиме реального времени.