Cтраница 4
Сигнал с этой цепи вызывает прерывание программы обработки данных и переключает процессор на выполнение программы ввода-вывода, которая обеспечивает передачу слова данных, сброс флажка в 0 и возврат на выполнение программы обработки. Если к интерфейсу подключены несколько ВУ, формирующих сигналы прерывания, определение адреса ВУ, вызвавшего прерывание, производится последовательным опросом этих ВУ с помощью приказа ПРОПУСК, позволяющего определить состояние флажка. Порядок выделения устройства, вызвавшего прерывание, и передачи данных из него иллюстрируется рис. 5.6. Интерфейс прямого доступа к памяти. Передача данных между ВУ и памятью происходит под контролем процессора в следующем порядке. Процессор после выполнения каждой команды анализирует наличие запроса на ПДП и формирует сигнал, что запрос принят. По этому сигналу ВУ передает адрес ячейки памяти, участвующей в передаче слова данных, сигнал о направлении передачи ( ввод или вывод) и при вводе - слово данных. [46]
В частности, что не позволяет одновременно всем периферийным устройствам подать на шину свои адресные коды, когда ЦП вырабатывает сигнал опроса прерываний. Давайте снова обратимся к схеме на рис. 10.5, на которой показана основная часть схемы прерываний интерфейса. Если данное устройство запрашивало прерывание, и на линию ПОР данной интерфейсной схемы подается НИЗКИЙ уровень, то по сигналу ОПР адресный код этого устройства будет выведен на шину. Сигнал ППР является особым в том смысле, что он не является общим для всех устройств, а начинаясь на ЦП, проходит последовательно через интерфейсную схему каждого устройства, об разуя так называемую скользящую цепочку. Логическая схема интерфейса реагирует на этот сигнал следующим образом: если за-прос на прерывание отсутствует, сигнал ППР передается на следующее устройство без изменения, а при наличии запроса на выходную линию ППР данной интерфейснойсхемы подается НИЗКИЙ уро вень. Таким образом, из всех устройств, выработавших требования, на сигнал опроса ответит лишь то, которое электрически наиболее близко расположено к ЦП. [47]
Он будет обслужен, когда подойдет его очередь. О том, что имеется необслуженный запрос от ЦП, сигнализирует триггер процессора ТОЧП. Нормальное состояние его единичное. Он устанавливается в нулевое состояние по сигналу запроса от ЦП при условии, что в данный момент не обслуживается предыдущий запрос ЦП. В единичное состояние ТОЧП вновь устанавливается в цикле обработки запроса ЦП сигналами, формируемыми тактовой цепочкой БУ ОП, тогда, когда считанная из ОП информация будет принята в РИП или произойдет запись информации в ячейку памяти ОП. Состояние ТОЧП может быть проанализировано с помощью микроприказа ТОЧП. Все микропрограммы ЦП построены таким образом, что выработке очередного запроса предшествует проверка наличия необслуженного запроса. Если ТОЧП0, то это означает, что предыдущий запрос еще не обслужен. [48]
Как показано выше, выполнение каждой макрокоманды складывается из нескольких состояний. Для пояснения общего принципа выполнения команды на рис. 10.1 показана последовательность микрошагов команды, которая прибавляет непосредственный операнд к содержимому регистра R. MAR и MDR представляет собой регистры ЦП для буферирования адресов и данных памяти. Предполагается, что непосредственный операнд следует за кодом операции. Сначала выбирается, дешифрируется и выполняется команда, а затем проверяется внешнее состояние. При наличии запроса прерывания вызывается микроподпрограмма обработки прерывания. В противном случае инициируется выборка следующей команды. В примере показано 10 микрошагов, каждый из которых выполняется за одинаковое время, кроме микрокоманд обращения к памяти, которые обычно выполняются намного дольше. [49]