Режимы обмена в МПС


Организация обмена в МПС - важная функция микропроцес-сора. В обмене принимают участие активное и пассивные устрой-ства. Активным устройством в большинстве случаев является МП, пассивным - основная память или ВУ.
Основными режимами обмена являются программно - управ-ляемый обмен, обмен в режиме прерывания и обмен в режиме пря-мого доступа к памяти.
Программно-управляемый обмен. Обмен осуществляется по инициативе МП и предназначен для обмена данными между МП и ВУ (или ОП) и их программной обработки. Алгоритм работы МП приведен на рис.70.
Программно - управляемый обмен осуществляется по ини-циативе обрабатываемой команды и включает чтение информа-ции в микропроцессор из ОП, запись информации в ОП из МП, ввод информации в МП из ВУ и вывод информации из МП во ВУ. Рассмотрим перечисленные виды обмена.
Чтение информации в микропроцессор из основной памяти (рис. 71, а) начинается с момента выдачи из МП на ША значения адреса ячейки ОП, из которой должно быть произведено чтение информации. По синхронизирующему импульсу «чтение» (RD), поступающему из МП на ШУ, активизируются искомые ячейки ОП. Информация из ОП поступает на ШД, передается в МП и за-писывается в соответствующий регистр МП.
Запись информации в основную память из МП (рис. 71,б) начинается так же, как и в первом случае: из МП на ША поступает значение адреса ячейки ОП, в которую должна быть произведена запись, а МП вырабатывает на линии ШУ сигнал «запись» (WR). Одновременно информация из МП поступает на ШД, передается в ОП и записывается в соответствующую ячейку памяти.
Ввод информации в МП из внешнего устройства начинается по сигналу синхронизации от управляющего устройства или МП, но на ША поступает адрес конкретного канала КВВ, который со-единен с требуемым ВУ и через который будет происходить ввод (чтение) информации в МП. Такой канал называется портом. Че-рез некоторое время на линии ШУ МП формирует управляющий сигнал RD «чтение» (или «ввод»). Запрошенный по указанному адресу порт активизируется, и по сигналу RD информация из ВУ поступает через порт на ШД. По ней информация передается в МП.

s
Рис. 70.

v
Рис. 71.


Вывод информации из МП во внешнее устройство осу-ществляется путем формирования МП на линиях ША адреса ка-нала (порта) КВВ, который соединен с требуемым ВУ. Через не-который промежуток времени МП формирует на линии ШУ сиг-нал WR «запись» (или «вывод») и выдает на ШД информацию, которая должна быть записана (выведена) в требуемое ВУ. За-прошенный по указанному адресу порт вывода активизируется и информация с ШД поступает в заданное ВУ.
Необходимо отметить, что в рассмотренных режимах обмена всегда участвует специальный регистр МП, называемый аккуму-лятором: из него информация передается в ШД при выводе ее из МП, и в него она поступает при вводе информации в МП.
При рассмотрении описанных выше режимов обмена с уча-стием МП не ставился вопрос о готовности пассивных ВУ к про-ведению обмена. Между тем их быстродействие существенно раз-личается в зависимости от вида ВУ. Если в МПС используются ВУ, имеющие быстродействие, сравнимое с быстродействием МП, то МП как правило не проводит анализ готовности ВУ к об-мену. Обмен в этом случае носит название синхронным обменом. В тех случаях, когда быстродействие ВУ ниже быстродействия МП (например, клавиатура пульта оператора), то синхронный спо-соб обмена неприменим и используется так называемый асин-хронный обмен.
Асинхронный обмен происходит также под управлением программы, но лишь в том случае, когда ВУ подготовлено к обме-ну. Об этом сообщает сигнал готовности, формируемый ВУ через КВВ (или самим КВВ) на соответствующей линии ШУ. Процесс обмена, инициированный программой, начинается с анализа про-цессором готовности ВУ к обмену. При отсутствии сигнала готов-ности МП переходит в состояние ожидания, о чем извещает ос-тальные функциональные модули специальным сигналом (WAIT) на одной из линий ШУ. После прихода сигнала готовности проис-ходит непосредственная процедура обмена.
Основным недостатком асинхронного обмена являются по-тери времени процессора на ожидание того момента, когда уст-ройство будет готово к обмену, и такие потери для некоторых уст-ройств могут оказаться значительными. Так, например, при вводе информации с пульта оператора среднее время между нажатия-ми клавиши составляет не менее 0,1 с. Время же самой операции ввода информации с клавиши в МП обычно не превышает 10 мкс. Очевидно, что полезное время работы МП в этом случае не пре-вышает 0,01% общего времени обмена.
Из приведенного примера видно, что за время ожидания оче-редного сигнала готовности МП способен выполнить достаточно большое число операций в соответствии с командами программы, если бы сигнал готовности ВУ мог останавливать (прерывать) вы-полнение основной программы и переводить МП в режим выпол-нения процедуры обмена. Сигнал готовности такого вида называет-ся сигналом прерывания, а способ обмена с использованием сигна-лов прерывания получил название обмена в режиме прерывания.
Обмен в режиме прерывания. Обмен в режиме прерыва-ния предназначен для обработки программ обслуживания запро-сов прерывания, сформированных ВУ в процессе накопления ими информации за время работы. Время формирования запросов пре-рывания ВУ - явление случайное и, в большинстве случаев, не мо-жет быть запрограммировано.
Обмен в режиме прерывания производится по инициативе ВУ или КВВ, обслуживающего данное ВУ, и осуществляется именно в те моменты времени, когда соответствующее ВУ готово к передаче данных в МП. По мере готовности к передаче данных контроллер прерываний, обслуживающий данное ВУ, вырабаты-вает сигнал запроса прерывания, который МП анализирует и, при необходимости, прерывает обрабатываемую программу и перехо-дит к операции обмена - вводу и обработке программы обслужи-вания прерывания.
Различают прерывания аппаратные, программные и специ-альные.
Аппаратные прерывания, на практике еще называемые внешними прерываниями, имеют место при воздействии сигналов, которые вырабатываются ВУ, требующими обслуживания. Аппа-ратные прерывания используются, как правило, для обслуживания ВУ по запросу этих устройств. Они могут быть немаскируемые и маскируемые.
Немаскируемые прерывания - прерывания, которые вы-зываются внешними, аппаратными средствами и не могут быть за-прещены выполняемой программой. Запросы на такие прерывания подаются на специальный вход микропроцессора - вход немаски-руемых прерываний. Они обслуживаются обязательно и немед-ленно вне зависимости от важности выполняемой в данный мо-мент времени программы.
Маскируемые прерывания - прерывания, которые могут быть разрешены или запрещены программным путем - включением в программу специальных команд, разрешающих или запрещающих прерывания на данном участке программы. Для реализации таких прерываний в микропроцессоре имеется один или несколько вхо-дов для запросов на обслуживание маскируемых прерываний.
Программные прерывания происходят под воздействием ко-манд прерывания, включенных в основную программу. Здесь ини-циатива программного прерывания исходит от самой программы. Программные прерывания используются:
для обслуживания устройств ввода - вывода по опросу,
для вызова вспомогательных программ операционной сис-темы - так называемых "утилит".
В последнем случае механизм прерываний оказывается более эффективным, чем механизм перехода на программу обслужива-ния прерывания, хотя в принципе они очень близки.
Специальные прерывания возникают в системе в ходе вы-полнения основной программы под воздействием сигналов, выра-батываемых внутренними аппаратными средствами. Специальные прерывания можно назвать также внутренними прерываниями. Причинами их появления могут быть:
а) программные сбои или ошибки, являющиеся следствием попыток выполнить неразрешенную (неверную) команду или об-ратиться к запрещенной области памяти (при ошибке адресации), и др.;
б) аппаратные сбои, являющиеся следствием критического изменения или внезапного отключения питания, неисправностей отдельных узлов аппаратуры, вызывающих неправильное функ-ционирование аппаратуры, и др.;
в) переполнение разрядной сетки, т. е. получение в ходе вычислений чисел, выходящих за пределы диапазона допустимых значений;
г) трассировка - выполнение программы в пошаговом режи-ме при ее отладке и некоторые другие.
В МПС используются одноуровневые и многоуровневые системы обработки прерывания.
При одноуровневой системе обработки прерываний все контроллеры прерывания имеют одинаковый приоритет по отно-шению к приоритету системы и подключаются последовательно к линии, по которой передается сигнал разрешения прерывания (рис. 72). При этом ближайшему к МП контроллеру прерываний (КПр1) присваивается наименьший адрес, а самому удаленному (КПрN) - наибольший.
Запросы от ВУ через соответствующие контроллеры преры-ваний КПр поступают на вход «1» запроса прерывания МП по единственной линии, к которой подключаются все КПр системы. При этом запросы на прерывание от одного или нескольких КПр могут маскироваться программно. Если на линии появляется за-прос от одного какого либо КПр, то МП воспринимает его, анали-зирует на предмет приоритетности ВУ, пославшего запрос, и, в случае более высокого приоритета устройства по сравнению с приоритетом системы, проводит дополнительные операции по со-хранению обрабатываемой программы и, после этого, выдает на выходе «2» сигнал разрешения прерывания.
На практике возможно одновременное поступление запросов на линию «1» от двух или более КПр. Если приоритет МП, веду-щего обработку текущей программы, выше приоритета уст-ройств, то любой запрос прерывания им игнорируется. Если же приоритет МП ниже приоритета всех ВУ, то в ответ на любой за-прос прерывания МП подготавливается к переходу обработки про-граммы обслуживания прерываний и посылает сигнал на линию «2» разрешения прерывания. Этот сигнал последовательно прохо-дит через все контроллеры прерываний, начиная с самого ближне-го по линии связи к МП, и кончая тем, который послал сигнал прерывания. Этот КПр запрещает, или блокирует, дальнейшее его распространение и выдает на ШД начальный адрес программы обслуживания прерывания, уникальный для данного ВУ. МП вос-воспринимает этот адрес, транслирует его передачу на ША, вводит первую команду программы обслуживания прерывания и начинает ее выполнение.

s
Рис.72.


Последовательность действий, выполняемая МП при обра-ботке прерывания от ВУ, которая справедлива также при обра-ботке и других классов прерываний, состоит в следующем.
1. Сигнал прерывания поступает в МП во время выполнения (i - 1) - й команды обрабатываемой программы. Микропроцессор полностью завершает эту команду, при этом в счетчике команд уже подготовлен адрес следующей i - й команды. По специаль-ной команде, с помощью указателя стека, МП запоминает в стеке сначала содержимое счетчика команд (т.е. адрес i - й команды об-рабатываемой программы), а затем текущее содержимое регистра состояния МП, которое считается «старым» словом состояния (ССП) МП, и, при необходимости, содержимое программно - дос-тупных регистров (например, аккумулятора, РОН), участвовавших в формировании результатов обработки прерванной программы, а также дополнительно проводит необходимые операции по обслу-живанию прерывания, зависящий от источника прерывания.
2. По адресу «вектора прерывания», сформированного кон-троллером прерываний, МП загружает из вектора прерывания в счетчик команд начальный адрес программы обслуживания пре-рывания, а в регистр состояний - «новое» слово состояния МП.
Вектор прерывания - это адрес первой команды програм-мы обслуживания определенного типа прерываний. В некоторых микропроцессорах, например, в МП Z80000 фирмы Zilog (США), К1801ВМЗ, вектор включает в себя не только адрес первой коман-ды программы обслуживания прерывания, но и слово состояния процессора, в котором отведено 2, 3 или 4 разряда для указания уровня приоритета данного прерывания.
3. МП переходит к запуску и обработке программы обслу-живания прерывания.
В «новом» ССП как правило устанавливается новое значение приоритета МП по отношению ко всем или определенному ВУ системы. Оно определяет возможность повторного прерывания МП от того же или другого источника во время выполнения про-граммы обслуживания прерывания. Если есть необходимость в за-прете прерывания до полного завершения программы обслужива-ния прерывания, то в «новом» слове состояния МП на время об-работки программы обслуживания прерывания должен быть уста-новлен высший приоритет МП.
После своего завершения программа обслуживания прерыва-ния специальной командой восстанавливает из стека записанное туда ранее содержимое регистров, соответствующее прерванной программе. Затем эта же программа выполняет команду выхода из прерывания, в результате которой адрес i - й команды, «старое» слово состояния МП и, если это необходимо, содержимое про-граммно - доступных регистров МП будут в него загружены. С этого момента прерванная программа продолжит свою работу с i - й команды прерванной программы.
Многоуровневая система прерывания характеризуется тем, что в системе может быть несколько КПр, которые могут одно-временно послать запросы от ВУ на обслуживание прерывания. Очевидно, в МП должен быть предусмотрен механизм для приема в каждый момент времени единственного запроса для обслужива-ния прерывания. Этот механизм реализуется, как правило, аппа-ратными средствами и позволяет в первую очередь выбирать по-рядок обслуживания ВУ: либо первым удовлетворяется запрос прерывания от того контроллера, который включен ближе к МП в цепочке передачи сигналов «запрос прерывания - разрешение прерывания», либо первым удовлетворяется запрос прерывания с КПр, программно имеющего наивысший приоритет.
Разделение всех ВУ в системе по уровням приоритетности обуславливается важностью формируемой ими информации. ВУ, в которых накопленная информация требует незамедлительной ее обработки, имеют наивысший или более высокий приоритет по отношению к МП. Те ВУ, в которых информация может храниться некоторое время без обработки, имеют средний или более низкий приоритет.
Максимальное число программ, обслуживающих ВУ, кото-рые могут прервать друг друга, характеризуют «уровень прерыва-ния». При этом порядок обработки программ при одновременном их запросе определяется уровнем приоритета обслуживаемых ВУ.
В многоуровневых системах прерывания задание уровня приоритета осуществляется тремя способами:
а) использованием в самом МП (или в контроллере прерыва-ний) нескольких входов запросов на прерывание, каждый из кото-рых имеет свой уровень приоритета;
б) с помощью 2 - 4-разрядной шины для подачи кода, несу-щего информацию об уровне приоритета того или иного КПр, за-просившего прерывание;
в) использованием внешних аппаратных средств.
В многоуровневых системах прерываний программа обслу-живания ВУ низкого уровня может быть прервана запросом на прерывание от Кпр, обслуживающего ВУ высокого уровня. Если же запрос на прерывание от КПр имеет тот ж уровень, что и об-служиваемое на момент запроса прерывание, или более низкий, то МП не реагирует на этот запрос до тех пор, пока не закончит об-служивание устройства Здесь условно показано, что после поступ-ления сигнала запроса прерывания управление запоминанием со-стояния и возвратом в прерываемую программу возложено на саму прерывающую программу. В этом случае прерывающая программа состоит из трех частей:
подготовительной, осуществляющей запоминание состоя-ния прерванной программы,
заключительной, обеспечивающей восстановление состоя-ния прерванной программы, прерывающей программы, выполняющей затребован-ный запросом режим. с более высоким уровнем приоритета.
Для оценки эффективности системы прерывания, реализую-щей обмен, используются следующие характеристики системы прерывания.
Время реакции - время между появлением запроса прерыва-ния и началом выполнения прерывающей программы.
На рис. 73 приведена упрощенная временная диаграмма про-цесса прерывания.

s
Рис. 73


Для одного и того же запроса прерывания задержки в испол-нении прерывающей программы зависят от того, сколько про-грамм с более высоким приоритетом ВУ ждут обслуживания. По-этому время реакции определяется для запроса с наивысшим при-оритетом ВУ.
Время реакции зависит от того, в какой момент допустимо прерывание. Большей частью прерывание допускается после окончания текущей команды. В этом случае время реакции опре-деляется в основном длительностью выполнения команды. Оно может оказаться недопустимо большим для систем, работающих в реальном масштабе времени. В таких системах часто допускается прерывание обрабатываемой программы после любого такта вы-полнения команды. Однако при этом возрастает количество ин-формации, подлежащей запоминанию и восстановлению при переключении программ, так как в этом случае необходимо сохра-нять также и состояния в момент прерывания счетчика тактов, ре-гистра кода операции и некоторых других. Поэтому такая органи-зация прерывания возможна в МПС с быстродействующей сверх-оперативной памятью.
Имеются ситуации, в которых желательно немедленное пре-рывание. Если аппаратура контроля обнаружила ошибку, то целе-сообразно сразу же прервать операцию, пока ошибка не оказала влияния на следующие такты работы системы.
Затраты времени на переключение программ равны суммар-ному расходу времени на запоминание и восстановление состоя-ния программы:
Глубина прерывания - максимальное число программ, кото-рые могут прерывать друг друга. Если после перехода к преры-вающей программе и вплоть до ее окончания прием других запро-сов запрещается, то система имеет глубину прерывания, равную «1». Если допускается последовательное прерывание до N про-грамм, то глубина прерывания будет равна N.
Глубина прерывания обычно совпадает с числом уровней приоритета в системе прерываний. На рис. 74 показан обмен в ре-жиме прерывания в системах с единичной глубиной прерывания (а) и с различной глубиной прерывания (б) в предположении, что приоритет каждого следующего запроса выше предыдущего.

s
Рис. 74


В первом случае появление каждого следующего сигнала «2», «3» и т. д. запроса прерывания не влияет на алгоритм работы системы - МП продолжает выполнение программы «1», «2» обра-ботки предыдущего прерывания до ее завершения. Только после этого он приступает к обработке следующей программы обработ-ки прерывания.
Во втором случае обработка текущей программы прерывает-ся в случае, если на вход системы поступает сигнал запроса пре-рывания от устройства с более высоким приоритетом, чем приори-тет текущей программы. Так, например, сигнал запроса прерыва-ния «2» (рис. 74,б) ВУ более высокого приоритета, чем приоритет МПС, ведет к прерыванию текущей программы и началу обработ-ки программы обслуживания прерывания ВУ, выставившего за-прос «2». Аналогично обслуживается сигнал «3» от ВУ, имеющего более высокий приоритет, чем ВУ, пославшего сигнал «2». После обработки программ «3» и «2» МП возвращается в ранее прерван-ную программу «1».
Необходимо отметить, что, чем большее значение глубины прерывания имеет система, тем более быстрой реакцией на срочные запросы она обладает. Однако, если запрос окажется не-обслуженным к моменту прихода нового запроса от того же ис-точника, то возникает так называемое насыщение системы преры-вания. В этом случае предыдущий запрос прерывания от данного источника будет системой утрачен, что является недопустимым. Для устранения этого явления быстродействие МПС, характери-стики системы прерывания, число источников прерывания и час-тота возникновения запросов должны быть согласованы таким об-разом, чтобы насыщение было невозможным.
Приоритетное обслуживание запросов прерывания. Вектор прерывания содержит всю необходимую информацию для пере-хода к прерывающей программе, в том числе ее начальный адрес. Каждому запросу (уровню) прерывания соответствует свой вектор прерывания, способный инициировать выполнение соответствую-щей прерывающей программы. Векторы прерывания обычно на-ходятся в специально выделенных фиксированных ячейках памя-ти. Главное место в процедуре перехода к прерывающей програм-ме занимают передача из соответствующего регистра (регистров) процессора в память (в частности, в стек) на сохранение теку-щего вектора состояния прерываемой программы (чтобы можно было вернуться к ее исполнению) и загрузка в регистр (регистры) процессора вектора прерывания прерывающей программы, к ко-торой при этом переходит управление процессом.
Процедура организации перехода к прерывающей программе включает в себя выделение из выставленных запросов такого, ко-торый имеет наибольший приоритет.
Различают абсолютный и относительный приоритеты. За-прос, имеющий абсолютный приоритет, прерывает выполняемую программу и инициирует выполнение соответствующей преры-вающей программы. Запрос с относительным приоритетом явля-ется первым кандидатом на обслуживание после завершения вы-полнения текущей программы. Если наиболее приоритетный из выставленных запросов прерывания не превосходит по уровню приоритета выполняемую процессором программу, то запрос пре-рывания игнорируется или его обслуживание откладывается до за-вершения выполнения текущей программы.
Простейший способ установления приоритетных соотноше-ний между запросами (уровнями) прерывания состоит в том, что приоритет определяется порядком присоединения линии сигналов запросов ко входам системы прерывания. При появлении несколь-ких запросов прерывания первым воспринимается запрос, посту-пивший на вход с меньшим номером. В этом случае приоритет яв-ляется жестко фиксированным. Изменить приоритетные соотно-шения в этом случае можно лишь пересоединением линий сигна-лов запросов на входах системы прерывания.
Процедура прерывания с опросом источников (флажков) прерывания. При указанном способе задания приоритета между запросами каждому источнику запросов соответствует разряд (флажок) в регистре запросов прерывания (регистре флажков). При наличии запроса или нескольких запросов прерывания фор-мируется сигнал подтверждения прерывания, инициирующий вы-полняемую специальной программой или аппаратурой процедуру опроса регистра запросов прерывания для установления источни-ка, выставившего запрос прерывания наивысшего приоритета. Более гибким и динамичным является векторное прерыва-ние, при котором исключается опрос источников прерывания.
Программно - управляемый приоритет прерывающих про-грамм. Относительная степень важности программ, их частота по-вторения, относительная степень срочности в ходе вычислитель-ного процесса могут меняться, требуя установления новых при-оритетных отношений. Поэтому во многих случаях приоритет ме-жду прерывающими программами не может быть зафиксирован раз и навсегда. Необходимо иметь возможность изменять по мере надобности приоритетные соотношения программным путем, то есть приоритет между прерывающими программами должен быть динамичным или, другими словами, программно -управляемым.
В МПС программно - управляемый приоритет прерываю-щих программ может быть реализован по порогу прерывания и по маске прерывания.
Установка приоритета по порогу прерывания предполагает в ходе вычислительного процесса программным путем изменять уровень приоритета (порог прерывания) процессора (а следова-тельно, и обрабатываемой в данный момент процессором про-граммы) относительно приоритетов запросов источников преры-вания (в основном внешних устройств). Порог прерывания задает-ся командой программы специальным кодом порога прерывания, который служит для выделения наиболее приоритетного запроса прерывания, сравнения его приоритета с порогом прерывания и, если он оказывается выше порога, выработки общего сигнала пре-рывания, по которому начинается процедура прерывания.
Маска прерывания представляет собой двоичный код, разря-ды которого поставлены в соответствие запросам или классам прерывания. Маска загружается командой текущей программы в регистр маски. Состояние «1» в данном разряде регистра маски разрешает, а состояние «0» запрещает (маскирует) прерывание те-кущей программы от соответствующего запроса. Таким образом, программа, изменяя маску в регистре маски, может устанавливать произвольные приоритетные соотношения между программами без перекоммутации линий, по которым поступают запросы пре-рывания. Каждая прерывающая программа может установить свою маску. При формировании маски сигналы логической «1» устанавливаются в разряды, соответствующие запросам (преры-вающим программами) с более высоким, чем у данной программы, приоритетом.
Обмен в режиме прямого доступа к памяти. В рассмот-ренных ранее режимах обмен информацией осуществляется ме-жду МП и ОП или между МП и ВУ. Однако на практике часто возникает необходимость оперативного обмена информацией ме-жду ВУ и ОП без ее обработки. В этом случае при использовании ранее описанных режимов процедура обмена должна содержать два цикла. В первом цикле информация сначала должна быть пе-редана из ВУ (или ОП) в аккумулятор МП, во втором цикле - ин-формация из аккумулятора должна быть занесена в ОП(или ВУ).
При обмене с медленнодействующими ВУ и передачах больших массивов информации такая двухступенчатая процедура существенно снижает скорость обмена, то есть ведет к снижению быстродействия МПС в целом. В связи с этим используется метод обмена, при котором запись информации в ОП из ВУ или считы-вание информации из памяти во внешнее устройство происходит непосредственно без участия МП. Такой вид обмена получил на-звание обмена в режиме прямого доступа к памяти (ПДП).
Для организации обмена применяется специальное управ-ляющее устройство - контроллер ПДП, который при обмене вы-полняет функции активного устройства, то есть устанавливает ад-рес ячейки ОП или порта ВУ, участвующих в обмене, на линиях ША, формирует необходимые управляющие сигналы на линиях ШУ, определяет начало передачи информации по линиям ШД.
При программно - управляемом обмене и при обмене в ре-жиме прерывания магистралью (шинами адреса, данных и управ-ления) распоряжается МП. При обмене в режиме ПДП магистраль должна быть передана в распоряжение контроллера ПДП, а МП необходимо отключить от шин. Для этой цели в МП предусмотрен вход специального управляющего сигнала «запрос захвата шин», при поступлении которого после окончания текущего цикла вы-полнения команды управляющее устройство МП переводит бу-ферные устройства его шин в режим с высоким выходным сопро-тивлением (высокоимпедансное состояние). МП при этом отклю-чается от магистралей и его управляющее устройство на специальной линии управления формирует сигнал разрешения захва-та шин контроллеру ПДП и представляет магистраль в его распо-ряжение для передачи либо одного слова, либо целого массива информации.
При передаче одного слова контроллер ПДП занимает маги-страль для обмена только на один цикл работы управляющего устройства. На следующем цикле ею снова распоряжается МП. В очередной цикл магистраль снова предоставляется контроллеру ПДП и т. д., пока не будут переданы все слова массива. Все время, пока осуществляется обмен в режиме ПДП, на входе МП присут-ствует сигнал «запрос захвата шин». Это так называемый мульти-плексный обмен в режиме ПДП, при котором МП может продол-жать выполнение основной программы в режиме разделения вре-мени с процедурой обмена в режиме ПДП. При этом нет необхо-димости запоминать в стековой памяти ОЗУ содержимое счетчика команд и аккумулятора, так как МП в обмене не участвует.
При передаче массива информации магистраль занимается контроллером ПДП на все время передачи информации и МП ос-танавливает свою работу на время обмена. Такой режим обмена с ПДП называется монопольным и он обладает максимальной скоростью передачи информации.
Для формирования значений адресов ячеек и необходимых управляющих сигналов в составе контроллера ПДП предусмотре-но несколько регистров: регистры адреса, в которых находятся начальное и текущее значения адресов, регистр - счетчик переда-ваемых слов, регистр управления, регистр состояния и т. п. Обыч-но в составе контроллера ПДП предусматривается несколько ка-налов для подключения внешних устройств. В этом случае кон-троллер помимо прочего осуществляет арбитраж запросов на за-хват шин магистрали с учетом приоритета подключенных к нему ВУ.
Необходимо отметить, что контроллеры ПДП выполняются в виде конструктивно законченных функциональных модулей или в виде БИС, входящих в комплект МП БИС.

Оглавление


Сайт управляется системой uCoz