Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 254

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ввода-вывода в соответствии с кодом операции, указан­ ным в новом УС. Если указатель цепи операций равен нулю, то данное УС является последним в цепи (если нет указаний о продолжении цепи данных). Оба свойст­ ва: образование цепей данных и цепей операций — могут комбинироваться друг с другом. Следовательно, в об­ щем виде цепь УС, являющаяся программой канала, представляет собой цепь операций, внутри которой мо­ гут располагаться группы УС, относящихся к одной операции и составляющих цепи данных.

Прерывания ввода-вывода. Как уже указывалось вы­ ше, канал информирует процессор о прохождении раз­ личных этапов операции ввода-вывода, посылая в про­ цессор соответствующие запросы прерывания. Различа­ ются два основных вида прерывания, формируемого каналом: программно-управляемое прерывание вводавывода, возникновение которого планируется програм­ мистом, и прерывание, связанное с окончанием операции ввода-вывода, формируемое автоматически аппаратурой канала.

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

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

Автоматически формируемое прерывание окончания сигнализирует о том, что либо все операции в цепи УС были выполнены нормально, либо были обнаружены ошибки или какие-либо другие необычные условия, вслед­ ствие чего произошло принудительное окончание опе­ рации.

Сигнал о нормальном окончании операции ввода-вы­ вода сообщает программе, что она может продолжить

496


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

9-3 У П Р А В Л Я Ю Щ А Я И Н Ф О Р М А Ц И Я Д Л Я О П Е Р А Ц И Й В В О Д А -В Ы В О Д А . П Р О Г Р А М М Ы К А Н А Л А

Виды управляющей информации для операций вводавывода. Операции ввода-вывода в системах, построенных на основе унифицированных каналов ввода-вывода, уп­ равляются четырьмя видами информации: командами, управляющими словами, приказами и кодами состояния.

Команда представляет собой код, управляющий ра­ ботой процессора. Последовательность команд образу­ ет программу процессора.

В системе команд машины для пуска любой опера­ ции ввода-вывода, вообще говоря, достаточно иметь од­ ну команду со следующей типовой структурой:

Код операции

Номер канала и периферийного

 

процессора

Адрес У С

(пуск ввода -

устройства

вывода)

 

 

По этой команде все ее поля, кроме кода операции процессора, передаются в канал и начинается выполне­ ние УС из указанной в команде ячейки ОЗУ.

В некоторых машинах, например в машинах IBM 360,

ЕС ЭВМ, адрес УС не

указывается в команде

процес­

сора, а содержится в

так называемом

«адресном сло­

ве канала», хранимом

в определенной

ячейке

памяти,

куда оно должно быть помещено до исполнения коман­ ды пуска ввода-вывода. Адресное слово канала обыч­ но содержит также информацию, управляющую защи­ той памяти (о защите памяти см. § 11-2).

32—333

497


В случае использования адресного слова канала ко­ манда пуска ввода-вывода процессора содержит только два поля (код операции и номер канала и периферийно­

го устройства).

Для управления вводом-выводом система команд машины обычно содержит также:

команду прекращения ввода-вывода; команду опроса состояния канала;

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

для всех типов периферийных устройств.

Приказ представляет собой часть УС или код, ад­ ресованный УС, который принимается из канала, рас­ шифровывается и выполняется периферийным устрой­ ством. Приказ содержит информацию, специфичную для данного типа периферийных устройств. Для различных типов устройств эта информация может иметь разный смысл. Например, для устройства связи с управляемым объектом приказ может означать вид преобразования и номер датчика, в случае запоминающего устройства на магнитной ленте — тип операции (запись, чтение, пе­ ремотка), направление движения ленты и т. п.

Коды состояния позволяют каналу определять теку­ щее состояние любого из многочисленных и разнообраз­ ных периферийных устройств, включенных в вычисли­ тельную систему (исправность устройства, готовность его к работе, целостность носителя информации и др.). В различных вычислительных системах коды состояния формируются по-разному. Например, в системах IBM 360 и ЕС ЭВМ используются два вида кодов состояния. Основная информация о состоянии устройства в виде 8-разрядного «байта состояния» автоматически посыла­ ется устройством в канал при пуске операции ввода-вы­ вода, ее окончании или при возникновении каких-либо ненормальных ситуаций в работе периферийного устрой­ ства. Разряды байта состояния характеризуют заня­ тость устройств ранее начатой операцией, окончание операции, обнаружение ошибки в работе устройства, об­ наружение определенных особых условий (маркер на

498


магнитной ленте и т. п.) Один из разрядов байта состо­ яния, называемый модификатором состояния, использу­ ется для организации условных переходов в программе канала в зависимости от результатов выполнения опе­ рации в периферийном устройстве.

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

Для получения уточненного состояния используется специальный приказ, посылаемый из канала в перифе­ рийное устройство. Код уточненного состояния заносит­ ся в ОЗУ.

Структура управляющего слова канала. В соответст­

вии с изложенным

в § 9-2 можно

представить следую­

щий типовой формат управляющего слова канала:

Указатели

П Р

Адрес данных

Счетчик

ЦД 1 цо 1 пи

Код операции

 

(А Д )

данных (СД )

К од о п е р а ц и и определяет как для канала, так и для периферийного устройства тип операции, задаваемой этим управляющим словом. В набор операций вводавывода обычно включаются: вывод информации из опе­ ративной памяти в периферийное устройство, ввод ин­ формации из периферийного устройства в память, ввод при обратном направлении движения носителя инфор­ мации, выдача в периферийное устройство приказа, оп­ рос состояния периферийного устройства.

Кроме перечисленных выше операций, управляющих передачами информации, в современных машинах в на­ боре операций ввода-вывода предусматриваются также операции, которые нужны для построения самих прог­ рамм канала. К ним относится так называемый «пере­ ход в канале». Эта операция является внутренней проце­ дурой канала и непосредственно на работу периферий­ ных устройств не влияет. Управляющее слово, осущест­ вляющее переход в канале, указывает адрес следующего УС в цепи и, таким образом, позволяет выполнять прог­

32'

499