Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

IBM370

.pdf
Скачиваний:
69
Добавлен:
02.06.2015
Размер:
5 Мб
Скачать
☆

Если в подканале задана цепочка команд, канал после получения сигнала КОНЕЦ РАБОТЫ УСТРОЙСТВА и при отсутствии каких-либо необычных условий начинает новую операцию вво-

да-вывода.

СБОЙ В УСТРОЙСТВЕ

Условие СБОЙ В УСТРОЙСТВЕ показывает, что внешнее устройство или контроллер обна-

ружили необычное условие, подробная информация о котором может быть получена при вы-

полнении команды УТОЧНИТЬ СОСТОЯНИЕ. СБОЙ В УСТРОЙСТВЕ может указываться тогда,

когда была обнаружена ошибка программирования или сбой в аппаратуре, когда состояние устройства “не готово” нарушает выполнение команды канала или команды процессора или ко-

гда имеет место исключительное условие, отличное от того, которое идентифицируется как ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ. Бит СБОЙ В УСТРОЙСТВЕ только указывает на условия,

подробная информация о которых выдается по команде УТОЧНИТЬ СОСТОЯНИЕ.

Условие СБОЙ В УСТРОЙСТВЕ вырабатывается в том случае, когда ошибка обнаружена во время выполнения команды канала или команды ПРОВЕРИТЬ ВВОД-ВЫВОД или же во время каких-либо действий, связанных с выполнением операции ввода-вывода. В тех случаях, когда условие ошибки не относится к действиям, начатым по команде, и не представляет непосред-

ственного интереса для программы, то оно не сообщается программе, если уже сброшено условие прерывания КОНЕЦ РАБОТЫ УСТРОЙСТВА. Сбой, однако, может привести к тому, что устройство перейдет в состояние “не готово”.

Если наличие состояния “не готово” мешает удовлетворительному выполнению команды или команда по своей природе предназначена для проверки состояния устройства, то указыва-

ется СБОЙ В УСТРОЙСТВЕ. Когда в контроллере нет необработанного условия прерывания для адресуемого устройства, он сигнализирует о сбое в устройстве при условии, что устройству в состоянии “не готово” выдана команда ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД. В

последнем случае команда канала отвергается и СБОЙ В УСТРОЙСТВЕ не сопровождается сигналами КОНЕЦ РАБОТЫ КАНАЛА и КОНЕЦ РАБОТЫ УСТРОЙСТВА.

Если только команда не предназначена для вызова сбоя в устройстве, как, например, ко-

манда перемотки и разгрузки ленты, то СБОЙ В УСТРОЙСТВЕ не указывается при условии, что команда выполняется правильно, даже если устройство перешло в состояние “не готово” во время выполнения операции или в ее результате. Аналогично СБОЙ В УСТРОЙСТВЕ не ука-

зывается, если команда может быть выполнена в состоянии устройства “не готово”. Например,

консоль IBM 2150 принимает и выполняет команду звуковой сигнализации, если печатающее устройство консоли не готово. Если выдается команда УТОЧНИТЬ СОСТОЯНИЕ, то всякий раз,

когда в контроллере имеется необработанное условие прерывания для адресуемого устрой-

ства, выборка устройства в состоянии “не готово” не вызывает индикации СБОЙ В УСТРОЙСТВЕ.

Если во время начальной выборки внешнее устройство обнаружит, что команда не может быть выполнена, то СБОЙ В УСТРОЙСТВЕ выдается в канал без сигналов КОНЕЦ РАБОТЫ

421

КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА. Такая комби-

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

ции, возникает после того, как выполнение операции уже начато, СБОЙ В УСТРОЙСТВЕ выда-

ется вместе с сигналами КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА в зависимости от того, когда это условие обнаружено. О любых ошибках, связанных с операцией, но обнаруженных после того, как условие КОНЕЦ РАБОТЫ УСТРОЙСТВА уже сброшено, сообщается сигналами СБОЙ В УСТРОЙСТВЕ и ВНИМАНИЕ.

Такие ошибки, как недопустимый код команды или неправильная четность кода команды, не вызывают сбоя в устройстве, если устройство в момент выдачи команды работает или хранит прерывание. При этом устройство отвечает битом ЗАНЯТО и индикацией необработанного условия прерывания, если последнее имеет место. недопустимость кода команды не указыва-

ется.

Прекращение операции с индикацией СБОЙ В УСТРОЙСТВЕ подавляет цепочку команд.

СБОЙ В УСТРОЙСТВЕ в комбинации с условиями КОНЕЦ РАБОТЫ КАНАЛА и МОДИФИКАТОР СОСТОЯНИЯ вызывает процедуру повторения команды.

Замечания по программированию

Если устройство перешло в состояние “не готово” при завершении команды, конечное усло-

вие прерывания может быть сброшено командой ПРОВЕРИТЬ ВВОД-ВЫВОД без формирова-

ния условия СБОЙ В УСТРОЙСТВЕ вследствие состояния “не готово”, однако любая последу-

ющая команда ПРОВЕРИТЬ ВВОД-ВЫВОД, выданная в устройство. вызовет индикацию сбоя.

Для того чтобы информация уточненного состояния, о наличии которой сообщалось сигна-

лом СБОЙ В УСТРОЙСТВЕ, сохранялась устройством до тех пор, пока она не будет выдана в ответ на команду УТОЧНИТЬ СОСТОЯНИЕ, в некоторых устройствах запрещается реализация определенных функций, пока не будет получена какая-либо команда, отличная от команды ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД. Более того, любая команда, отличная от ко-

манд УТОЧНИТЬ СОСТОЯНИЕ, ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД, вызывает сброс информации уточненного состояния в устройстве. Во избежание неопределенных ситуа-

ций в устройстве и контроллере или случайного сброса информации уточненного состояния команда УТОЧНИТЬ СОСТОЯНИЕ должна выдаваться сразу после того, как устройство выдает сигнал СБОЙ В УСТРОЙСТВЕ.

ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ

Условие ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ фиксируется, если устройство обнаружило условие, которое обычно не имеет место. Особый случай не обязательно указывает на ошибку.

Так, особым случаем считается, например, обнаружение маркера конца ленты. Для каждой конкретной команды и каждого типа внешнего устройства сигнал ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ имеет свой смысл.

422

Условие ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ может быть выработано только тогда, когда внешнее устройство выполняет операцию ввода-вывода или когда оно выполняет некоторые действия, связанные с операцией ввода-вывода, и это условие имеет непосредственное значе-

ние для программы. Если во время начальной выборки внешнее устройство обнаружит, что ко-

манда не может быть выполнена, ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ выдается в канал без сигналов КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА и КОНЕЦ РАБОТЫ УСТРОЙСТВА. Такое состояние устройства указывает на то, что в устройстве в ответ на ко-

манду никаких действий не производилось. Если условие, которое препятствует нормальному выполнению операции, имеет место после того, как выполнение начато, сигнал ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ появляется вместе с сигналами КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА в зависимости от того, когда это условие было обнаружено. О любых необычных условиях, связанных с операцией, но обнару-

женных после того, как было сброшено условие КОНЕЦ РАБОТЫ УСТРОЙСТВА, программе сообщается сигналами ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ и ВНИМАНИЕ.

Команда не вызывает индикации особого случая, если внешнее устройство ответило на эту команду во время начальной выборки байтом состояния с указателем ЗАНЯТО.

Если операция прекращается из-за особого случая в устройстве, цепочка команд подавля-

ется.

Условия, характеризующие состояние канала

Ниже перечислены условия, которые обнаруживаются и фиксируются каналом. За исключе-

нием условий, связанных со сбоями в аппаратуре, все эти условия могут появиться только в то время, когда подканал участвует в выполнении операции ввода-вывода.

ПРОГРАММНО-УПРАВЛЯЕМОЕ ПРЕРЫВАНИЕ

Условие ПРОГРАММНО-УПРАВЛЯЕМОЕ ПРЕРЫВАНИЕ вырабатывается тогда, когда канал выбрал CCW с установленным признаком программно-управляемого прерывания (PCI). Пре-

рывание по флажку PCI происходит при первой возможности после выборки CCW, но может задержаться на неопределенное время из-за того, что канал замаскирован, или же из-за других действий системы. Условие PCI не влияет на выполнение операции ввода-вывода.

НЕПРАВИЛЬНАЯ ДЛИНА

Сигнал НЕПРАВИЛЬНАЯ ДЛИНА имеет место тогда, когда число байтов в области памяти,

указанной для данной операции ввода-вывода, не совпадает с числом байтов, которое запра-

шивает или выдает внешнее устройство. Неправильная длина указывается в следующих слу-

чаях.

Длинный блок при вводе. Во время операций ЧИТАТЬ, ЧИТАТЬ В ОБРАТНОМ НАПРАВЛЕНИИ или УТОЧНИТЬ СОСТОЯНИЕ внешнее устройство пытается передать в па-

мять один или более байтов после того, как заполнена заданная область памяти. Лишние бай-

ты в память не заносятся. Счетчик в CSW равен нулю.

423

Длинный блок при выводе. Во время выполнения операций ПИСАТЬ или УПРАВЛЕНИЕ внешнее устройство запрашивает от канала один или более байтов после того, как была ис-

черпана заданная область основной памяти. Счетчик в CSW равен нулю.

Короткий блок при вводе. Число байтов, переданных во время выполнения операции ЧИТАТЬ, ЧИТАТЬ В ОБРАТНОМ НАПРАВЛЕНИИ или УТОЧНИТЬ СОСТОЯНИЕ, недостаточно для того, чтобы заполнить заданную в операции область памяти. Счетчик в CSW отличен от нуля.

Короткий блок при выводе. Внешнее устройство прекратило операцию ПИСАТЬ или УПРАВЛЕНИЕ до того, как в него была передана вся информация из заданной области памяти.

Счетчик в CSW отличен от нуля.

Индикация неправильной длины подавляется, если в текущем CCW указан флажок SLI и не указан флажок CD. Указание о неправильной длине отсутствует в немедленных операциях и в операциях, выполнение которых подавляется во время начальной выборки, независимо от наличия флажка SLI.

При наличии условия НЕПРАВИЛЬНАЯ ДЛИНА цепочка команд подавляется, если только в

CCW не указан флажок SLI и речь идет не о немедленной операции (см. таблицу 13.12, пока-

зывающую влияние флажков CC, CD и SLI на индикацию неправильной длины).

Замечания по программированию

Установка индикации неправильной длины непредсказуема при запоминании CSW во время выполнения команды ОСВОБОДИТЬ ВВОД-ВЫВОД.

ОШИБКА В ПРОГРАММЕ

Ошибка в программе имеет место, когда канал обнаруживает ошибку программирования.

Условие это появляется в таких случаях, как:

Неправильная спецификация адреса CCW. CAW или команда ПЕРЕХОД В КАНАЛЕ опре-

деляет CCW не на границе двойного слова, т.е. не все три младших бита адреса CCW равны нулю.

Недоступный адрес CCW. Канал пытается выбрать CCW из ячейки основной памяти, кото-

рая не доступна каналу. Недоступный адрес CCW может встретиться в канале из-за того, что программа указала недоступный адрес или в CAW, или в команде ПЕРЕХОД В КАНАЛЕ, либо из-за того, что при работе с цепочкой команд канал пытается выбрать очередное CCW из не-

доступной ячейки.

Неправильный код команды. Код команды в первом CCW, указанном в CAW, или в CCW,

выбранном по цепочке команд, имеет нули в четырех младших битах. При работе с цепочкой данных правильность кода команды не проверяется.

Неправильный счетчик. CCW, за исключением команды ПЕРЕХОД В КАНАЛЕ, содержит нули в битах 48–63.

424

Неправильная спецификация адреса IDAW. Задана косвенная адресация данных в канале,

а адрес первого IDAW не указывает на границу слова, т.е. два младших разряда адреса не равны нулю.

Недоступный адрес IDAW. Канал пытается выбрать IDAW из ячейки основной памяти, ко-

торая не доступна каналу. Недоступный адрес IDAW может встретиться в канале из-за того, что программа указала недоступный адрес в CCW, которое определяет косвенную адресацию дан-

ных, или вследствие того, что канал, последовательно выбирая IDAW, пытался выбрать IDAW

из недоступной ячейки.

Недоступный адрес данных. Канал пытается переслать или выбрать данные из ячейки, не-

доступной каналу. Недоступный адрес данных может иметь место в канале из-за того, что про-

грамма указала недоступный адрес в CCW или IDAW или же из-за того, что канал, последова-

тельно выбирая ячейки памяти, пытается обратиться к недоступной ему ячейке.

Неправильная спецификация IDAW. Не все биты 0–7 IDAW равны нулю или же второе или последующее IDAW не указывает на первый или последний (в зависимости от операции) байт

2048-байтового блока.

Неправильный формат CAW. Разряды 4–7 не равны нулю.

Неправильный формат CCW. CCW, за исключением команды ПЕРЕХОД В КАНАЛЕ, не имеет нулей в разрядах 38–39.

Недопустимая последовательность команд. Первое CCW, указанное в CAW, определяет переход в канале или в двух последовательно выбранных CCW указывается переход в канале.

Если при инициировании операции обнаружена ошибка в программе, то операция подавля-

ется. Если же это условие обнаружено после того, как внешнее устройство начало операцию, в

устройство посылается сигнал прекратить операцию в следующий раз, когда оно потребует или предложит байт данных. Условие ОШИБКА В ПРОГРАММЕ подавляет цепочку.

НАРУШЕНИЕ ЗАЩИТЫ

Нарушение защиты имеет место в том случае, когда канал пытается получить доступ к за-

щищенной области основной памяти. Защита применяется к выборке CCW, IDAW; к выборке данных в операциях вывода и к записи данных в память в операциях ввода. Обращения к па-

мяти в каждой операции ввода-вывода выполняются с использованием ключа защиты в CAW,

связанного с данной операцией.

При нарушении защиты во время выборки CCW, которая определяет начало операции вво-

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

Обнаружение нарушения защиты подавляет цепочку.

ОШИБКА В ДАННЫХ В КАНАЛЕ

Ошибка в данных в канале означает, что во время операции ввода-вывода была обнаруже-

на машинная ошибка при передаче данных в основную памяти или из нее, или что была обна-

425

ружена ошибка четности в данных, полученных в операции ввода по ШИН-А14. Эта ошибка мо-

жет возникать в считанных или записанных данных, а также в информации, передаваемой как данные в операции управления или уточнения состояния. Ошибка может быть обнаружена в любом месте тракта передачи информации ввода-вывода: в канале, в основной памяти или на пути между ними. ОШИБКА В ДАННЫХ В КАНАЛЕ может указываться для данных с недопусти-

мым кодом контролируемого блока (CBC) в основной памяти, если канал обращается за этими данными, но они не используются в операции.

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

Если в операции ввода канал пытается запомнить неполный контролируемый блок и в па-

мяти обнаруживается неправильный CBC в контролируемом блоке, содержимое этой ячейки памяти остается неизменным и имеет недопустимый CBC. В операции ввода ОШИБКА В ДАННЫХ В КАНАЛЕ указывается только в том случае, если ошибки в четности были принуди-

тельно устранены во всех передаваемых по интерфейсу байтах, которые поступили из блока с недопустимым CBC.

Условие, указанное как ошибка в данных в канале, вызывает подавление цепочки команд,

но не влияет на выполнение текущей операции. Передача данных продолжается до нормаль-

ного завершения, если это возможно, и, когда устройство выдаст сигнал КОНЕЦ РАБОТЫ КАНАЛА, вырабатывается прерывание ввода-вывода. В зависимости от канала может быть выполнена регистрация состояния. Соответственно обнаружение ошибки может повлиять на состояние канала и устройства.

СБОЙ УПРАВЛЕНИЯ КАНАЛА

Сбой управления канала возникает при обнаружении любого машинного сбоя, влияющего на управляющие функции канала. Эта ошибка устанавливается в случае недопустимого CBC

адреса CCW и адреса данных и недопустимого CBC содержимого CCW. Этот сигнал выдается

14 В тексте встречаются названия приведенных ниже входных и выходных шин и сигналов интерфейса вводавывода. Подробное описание этих и других сигналов находится в техническом описании интерфейса ввода-вывода Системы 370 (ЕС ЭВМ).

ШИН-К – выходные шины интерфейса (направление передачи от канала к внешнему устройству, иначе называемому абонентом);

ШИН-А – входные шины интерфейса (направление передачи от абонента к каналу); УПР-К – в зависимости от последовательности сигналов интерфейса наличие этого сигнала определяет следующие

действия:

-в данный момент на ШИН-К находится байт кода команды;

-продолжить последовательность выборки устройства;

-запомнить байт состояния в устройстве.

ИНФ-К – в зависимости от последовательности сигналов интерфейса может определять следующие действия:

-подтверждение приема каналом байта информации или байта состояния от устройства;

-в данный момент на ШИН-К находится байт информации, предназначенный для записи в устройство. АДР-А – в данный момент на ШИН-А находится адрес устройства, выданный устройством в канал.

УПР-А – в данный момент на ШИН-А находится байт состояния, выданный устройством в канал. ИНФ-А – в данный момент на ШИН-А находится байт информации, выданный устройством в канал. ОТК-А – устройство выдает сигнал отключения.

426

также в том случае, когда канал обнаруживает такие ошибки передачи данных, которые не ука-

зываются как ОШИБКА В ДАННЫХ В КАНАЛЕ, а также ошибки интерфейса, которые не фикси-

руются как СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА. Условия, в результате которых появилась ин-

дикация СБОЙ УПРАВЛЕНИЯ КАНАЛА, могут привести к тому, что содержимое CSW окажется неправильным и противоречивым. CSW, вырабатываемое каналом, имеет допустимый CBC.

Обнаружение сбоя управления каналом вызывает немедленное прекращение операции, ес-

ли она вообще выполняется.

В некоторых ситуациях СБОЙ УПРАВЛЕНИЯ КАНАЛОМ может указываться для внешних ошибок и машинных сбоев. Условие СБОЙ УПРАВЛЕНИЯ КАНАЛА указывается также в случае,

когда бит 5 CSW (не выполнена регистрация) установлен в единицу.

СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА

Сбой управления интерфейса возникает в случае любого неправильного сигнала в интер-

фейсе ввода-вывода. Это условие обнаруживается каналом и обычно указывает на нарушение работы внешнего устройства. СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА может быть указан в следу-

ющих случаях:

1.Адрес или байт состояния, полученный от внешнего устройства, имеет неправильную четность.

2.Внешнее устройство выдало в ответ адрес, отличный от того адреса, который был указан каналом при начале операции.

3.При работе с цепочкой команд внешнее устройство оказалось выключенным.

4.Сигнал из устройства пришел в недопустимое время или имел неправильную длитель-

ность.

5. Устройство выдало сигнал об ошибке ввода-вывода с помощью сигнала ОТК-А.

Обнаружение сбоя управления интерфейса вызывает немедленное прекращение выполне-

ния операции, если последняя выполнялась.

СБОЙ ЦЕПОЧКИ

Сбой цепочки имеет место при перегрузке канала во время работы с цепочкой данных в операциях ввода. Такая ситуация возникает тогда, когда скорость передачи данных слишком высока для данной модели канала. При операции вывода ошибка в цепочке произойти не мо-

жет.

Обнаружение сбоя цепочки приводит к тому, что внешним устройством посылается сигнал прекращения операции. Эта ошибка подавляет цепочку команд.

Содержимое слова состояния канала

Содержимое CSW зависит от условия, вызвавшего занесение этого CSW в память и от того,

каким способом была получена эта информация. Часть CSW, относящаяся к состояниям, все-

гда определяет причину, которая вызвала запоминание CSW. Поля ключа защиты, адреса ко-

манды и счета могут содержать информацию, относящуюся к последней операции, или могут

427

быть установлены в нуль, или же первоначальное содержимое этих полей в ячейке 64 может быть оставлено без изменения.

Информация слова состояния канала

Условия, связанные с выполнением или прекращением операций в подканале, вызывают обновление всего CSW. Такое CSW может быть запомнено только при прерывании ввода-

вывода или при выполнении команды ПРОВЕРИТЬ ВВОД-ВЫВОД. Кроме условий, связанных с выполнением цепочки команд и сбоями в аппаратуре, запоминание CSW может быть вызвано условием PCI, или условием КОНЕЦ РАБОТЫ КАНАЛА, или же выполнением в селекторном канале команд ОСТАНОВИТЬ ВВОД-ВЫВОД и ОСТАНОВИТЬ УСТРОЙСТВО. Содержимое

CSW относится к текущим значениям соответствующих величин. хотя содержимое поля счета в случае ошибки в программе, нарушения защиты, сбоя цепочки, а также после прерывания по признаку PCI непредсказуемо.

CSW, записанное в память при выполнении цепочки команд, относится к последней опера-

ции, которую канал выполнял или пытался выполнить. Информация, относящаяся к предше-

ствующим операциям, не сохраняется и недоступна программе.

Если какое-нибудь необычное условие вызывает подавление цепочки команд, то в CSW нет явного указания о преждевременном прекращении цепочки. CSW, связанное с прекращением операции из-за некоторого условия, возникшего в момент выдачи сигнала КОНЕЦ РАБОТЫ КАНАЛА, содержит бит КОНЕЦ РАБОТЫ КАНАЛА и описывает необычные условия. Если устройство выдает сигнал о необычном условии одновременно с сигналом КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА, то индикация КОНЕЦ РАБОТЫ КАНАЛА программе недоступна. В этом случае канал обеспечивает текущие значения ключа защиты,

адреса команды и счетчика, а также индикацию необычного условия в CSW вместе с битом КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА. Содержимое полей ад-

реса команды и счета относится к операции, которая была выполнена.

Если выполнение цепочки команд прекращается из-за необычного условия, обнаруженного во время начала новой операции цепочки, то содержимое полей адреса команды и счета отно-

сится к этой отвергнутой команде. Если не рассматривать условий, связанных со сбоем аппа-

ратуры, то прекращение операции на начальной стадии может иметь место из-за условий ВНИМАНИЕ, СБОЙ В УСТРОЙСТВЕ, ОСОБЫЙ СЛУЧАЙ или ОШИБКА В ПРОГРАММЕ. При этом биты КОНЕЦ РАБОТЫ КАНАЛА и КОНЕЦ РАБОТЫ УСТРОЙСТВА в CSW равны нулю.

CSW, связанное с условиями, возникшими после прекращения операции в подканале, со-

держит нули в полях ключа защиты, адреса команды и счета, если только эти условия не сбра-

сываются командами НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ и нет указания на то, что не выполнена регистрация. К таким условиям отно-

сятся ВНИМАНИЕ, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА, КОНЕЦ РАБОТЫ УСТРОЙСТВА, а также КОНЕЦ РАБОТЫ КАНАЛА, когда последнее возникает при прекращении операции в селектор-

ном канале по команде ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО.

428

Когда перечисленные условия, за исключением невыполненной регистрации, сбрасываются командой НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, в

память записывается только та часть CSW, которая относится к состоянию. Содержимое полей ключа защиты, адреса команды и счета в ячейке 64 остается при этом без изменения. Анало-

гичным образом происходит обновление только битов состояния CSW, при условии что коман-

да не принята или операция в подканале прекращается во время выполнения команды НАЧАТЬ ВВОД-ВЫВОД или команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ либо запоминание байтов состояния CSW в памяти вызвано командой ОСТАНОВИТЬ ВВОД-

ВЫВОД или командой ОСТАНОВИТЬ УСТРОЙСТВО.

Ошибки, обнаруженные во время выполнения операции ввода-вывода, не влияют на пра-

вильность CSW, если только это не сбой управления канала или сбой управления интерфейса.

СБОЙ УПРАВЛЕНИЯ КАНАЛА указывает, что были обнаружены сбои в аппаратуре, которые могут привести к тому, что любая часть CSW, а также адрес устройства в PSW или области связи ввода-вывода окажутся неправильными. СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА показыва-

ет, что адрес внешнего устройства или биты состояния, полученные от внешнего устройства,

могут оказаться неправильными. Несмотря на неправильное содержимое полей CSW, канал принудительно устанавливает им правильную четность.

Если какая-нибудь команда ввода-вывода не может быть выполнена из-за условия “не вы-

полнена регистрация”, которое влияет на работоспособность канала или подканала, то записы-

вается полное CSW. Все поля этого CSW устанавливаются в нуль, за исключением битов НЕ ВЫПОЛНЕНА РЕГИСТРАЦИЯ и СБОЙ УПРАВЛЕНИЯ КАНАЛА.

Ключ защиты

В CSW, которое записывается в память, чтобы отразить выполнение операции в подканале,

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

вызывающие прекращение операции15.

Адрес команды

Если CSW формируется для отражения хода операции ввода-вывода в подканале, адрес команды в CSW обычно на 8 больше адреса последней CCW, использованной в этой опера-

ции.

В таблице 13.17 приведено содержимое поля адреса команды для всех условий, которые могут вызвать занесение CSW в память. Эти условия перечислены в порядке их приоритетов,

т.е. если присутствуют одновременно два условия, то CSW будет соответствовать условию с более высоким приоритетом. Программные ошибки, описанные в таблице, относятся к услови-

ям, вызывающим индикацию ОШИБКА В ПРОГРАММЕ. Если было записано CSW и существует ситуация, в которой произошло распознавание запроса на повторение команды, но команда

15 Однако ошибка в оборудовании канала может привести к искажению ключа защиты.

429

канала не была повторно выполнена, поле адреса команды в CSW указывает на CCW, выпол-

нение которого нужно повторить.

Таблица 13.17

Содержимое поля адреса команды в CSW

Условие

Содержимое поля адреса

 

 

СБОЙ УПРАВЛЕНИЯ КАНАЛА

Непредсказуемо

 

 

Состояние запомнено по команде НАЧАТЬ ВВОД-

Не изменяется

ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ

 

ОТКЛЮЧЕНИЕМ

 

 

 

Состояние запомнено по команде ОСТАНОВИТЬ

Не изменяется

ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО

 

 

 

Неправильная спецификация адреса CCW в команде

Адрес TIC+8

ПЕРЕХОД В КАНАЛЕ (TIC)

 

 

 

Недоступный адрес CCW в TIC

Адрес TIC+8

 

 

Недоступный адрес CCW

Адрес неправильного

 

CCW+8

 

 

Недопустимый код команды канала

Адрес неправильного

 

CCW+8

 

 

Неправильный счетчик

Адрес неправильного

 

CCW+8

 

 

Недоступный адрес данных

Адрес неправильного

 

CCW+8

 

 

Неправильный формат CCW

Адрес неправильного

 

CCW+8

 

 

Недопустимая последовательность из двух команд

Адрес второй TIC+8

ПЕРЕХОД В КАНАЛЕ

 

 

 

Нарушение защиты

Адрес защищенного

 

CCW+8

 

 

Сбой цепочки

Адрес последнего исполь-

 

зованного CCW+8

 

 

Окончание операции по счетчику

Адрес последнего исполь-

 

зованного CCW+8

 

 

Окончание операции по сигналу от устройства

Адрес последнего исполь-

 

зованного CCW+8

 

 

Прекращение по команде ОСТАНОВИТЬ ВВОД-

Адрес последнего исполь-

ВЫВОД

зованного CCW+8

 

 

430

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]