КОМАНДА ВВОДА - ВЫВОДА ДАННЫХ IOT
ЭВМ взаимодействует с контроллером посредством команды IOT. Команда состоит из трех частей:
- код операции,
- код выборки устройства,
- код приказа.
КОД ОПЕРАЦИИ
Код операции (3 разряда) передается в регистр команды машины, вызывая действия, требуемые для выполнения команды ввода-вывода.
КОД ВЫБОРКИ УСТРОЙСТВА
Шесть последующих разрядов. Декодирование кода выборки осуществляется внешним устройством.
КОД ПРИКАЗА
Три разряда, декодирование осуществляется внешним устройством.
Команда IOT считывается из памяти в регистр МD. Код операции пересылается в регистр команды IR. Дешифратор команды запускает генератор синхронизации команды IOT. ЭВМ переходит в фазу ввода-вывода.
ФАЗА ВВОДА-ВЫВОДА И СИГНАЛЫ СИНХРОНИЗАЦИИ
Фаза ввода-вывода характеризует команду IOT как фазы выборки, ожидания и выполнения характеризуют другие команды.
Во время этой фазы ЭВМ генерирует ряд временных сигналов, которые используются для установления связи с внешним устройством, стробирования линий данных и выделения команд управления.
ЛИНИИ ВЫБОРКИ УСТРОЙСТВА
Разряды кода выборки устройства передаются по общей шине данных на все внешние устройства. Каждое внешнее устройство имеет свой собственный селектор. В данном примере ЭВМ имеет шесть линий выборки устройства. (Линии DSO-DS5).
ЛИНИИ УПРАВЛЕНИЯ
Код приказа управления находится в регистре данных и используется для указания, что делать выбранному устройству.
Линии управления подсоединены ко всем внешним устройствам. Однако код выборки устройства обеспечивает подключение только одного из них к этим линиям (С0 – С2).
ЛИНИИ ДАННЫХ
Обмен информацией осуществляется между внешним устройством и аккумулятором. Для этого используются 12 входных и 12 выходных линий. Информационные линии подключены ко всем внешним устройствам. В каждом внешнем устройстве имеются вентильные схемы для их стробирования. Будут открыты вентили данных только в устройстве, выбранном в соответствии с кодом выборки.
Выходные линии снабжены стробируемыми усилителями. На этих линиях появляется содержимое во время выполнения операций. Выбранное устройство производит стробирование этих линий для приема информации в свой буферный регистр.
Через входные линии поступает информация от внешнего устройства. Эти линии стробируются внутри ЭВМ так, чтобы они не искажали содержимое аккумулятора. Только во время выполнения команды ввода - вывода вырабатывается строб входных линий аккумулятора.
ЛИНИЯ ПРОПУСКА
Машина имеет одну линию пропуска и проверяет состояние флажка внешних устройств по этому входу. Однобитовый регистр флажка находится во внешнем устройстве. При готовности устройства к обмену его флажок установлен, в противном случае он сброшен.
Если флажок указывает на готовность устройства, машина может выполнять команду ввода – вывода, а противном случае команда будет отложена.
Флажки всех внешних устройств подключены к одной общей линии пропуска. В каждом устройстве имеется вентиль между выходом сигнала флажка и линией пропуска, управляемый селектором внешнего устройства.
Состояние флажка будет запоминаться триггером пропуска машины. Если триггер пропуска после выполнения команды ввода-вывода находится в состоянии 0, программный счетчик будет указывать на следующую по порядку команду программы. Если же он после выполнения команды ввода-вывода находится в состоянии 1, содержимое программного счетчика будет увеличено на два и следующая команда будет пропущена.
Т.о. программа может содержать две ветви: когда устройство занято и когда устройство готово к обмену.
ЛИНИЯ ПРЕРЫВАНИЯ
ЭВМ имеет одну линию прерывания. По этой линии она получает запросы от внешних устройств. После получения запроса ЭВМ прекращает выполнение фоновой программы и осуществляет выполнение программы обработки прерывания от внешних устройств. Линия прерываний непосредственно без вентилей соединяется с флажками внешних устройств.
Триггер разрешения управляется программой. Машина имеет команду разрешения прерывания (ION), которая устанавливает триггер разрешения. Другая команда запрета прерывания (IOF) сбрасывает триггер разрешения.
Сигнал на линии прерывания устанавливает триггер прерывания в 1. Во время выполнения каждой команды машина проверяет состояние триггера прерывания.
Когда триггер прерывания установлен, выполняются следующие операции:
1. ЭВМ завершает выполнение текущей команды программы.
2. 2. Содержимое программы счетчика автоматически заполняется в специальной ячейке памяти, например с адресом 0.
3. 3. Команда с заранее определенным адресом, например 1, восстанавливает содержимое программного счетчикам с нулевой ячейки. Два этих адреса прерывания устанавливаются для каждой машины.
Дата добавления: 2015-12-01; просмотров: 704;