IBM370
.pdfПрекращается выполнение текущей операции в адресуемом устройстве, подканале и кана-
ле. Последующее состояние подканала зависит от типа канала. Команда ОСТАНОВИТЬ ВВОД-
ВЫВОД может выполняться только тогда, когда процессор находится в состоянии “супервизор”.
Биты 8–14 кода команды игнорируются. Биты 16–31 адреса второго операнда идентифици-
руют канал, подканал и внешнее устройство, для которых выдается эта команда.
Если канал доступен или хранит прерывание и при этом подканал доступен или работает,
то по команде ОСТАНОВИТЬ ВВОД-ВЫВОД выбирается адресуемое устройство и в него посы-
лается сигнал прекращения текущей операции, если последняя имеет место. Если подканал доступен, его состояние не изменяется. Если в байт-мультиплексном канале подканал работа-
ет, передача данных немедленно прекращается, но подканал остается в состоянии “работает” до получения от устройства байта состояния, после чего подканал переходит в состояние “хра-
нит прерывание”.
Если команда ОСТАНОВИТЬ ВВОД-ВЫВОД выдается в канал, работающий в монопольном режиме, монопольная операция передачи данных прекращается, а устройство, выполняющее монопольную операцию, немедленно отключается от канала. В этом случае адреса подканала и внешнего устройства в команде игнорируются.
Если по команде ОСТАНОВИТЬ ВВОД-ВЫВОД прекращается монопольная операция в се-
лекторном канале, то канал и подканал переводятся в состояние “хранит прерывание”. Форми-
рование условия прерывания не связано с получением байта состояния от устройства. Если по команде ОСТАНОВИТЬ ВВОД-ВЫВОД прекращается монопольная операция в байт-
мультиплексном канале, то соответствующий подканал остается в состоянии “работает” до по-
лучения от устройства сигнала КОНЕЦ РАБОТЫ КАНАЛА, после чего подканал переходит в со-
стояние “хранит прерывание”. Прекращение монопольной операции по команде ОСТАНОВИТЬ ВВОД-ВЫВОД в блок-мультиплексном канале может в зависимости от модели и типа подкана-
ла выполняться, как в селекторном канале, или же подканал может оставаться в состоянии
“работает” до получения от внешнего устройства конечного состояния.
Вбайт-мультиплексном канале, работающем в мультиплексном режиме, выбор устройства
ивыполнение команды производятся только после того, как канал обслужит все неудовлетво-
ренные запросы на передачу данных для ранее начатых операций, включая и ту, которую необходимо остановить. Если контроллер не может принять сигнал прекращения операции из-
за того, что он выключен или занят, то подканал, если он находится в состоянии “работает”,
настраивается на выдачу сигнала прекращения операции в устройство в следующий раз, когда оно запросит или предложит байт данных. Если в подканале определена цепочка команд, а
устройство предоставляет свое состояние, то цепочка подавляется.
Если адресуемый подканал хранит прерывание, а канал доступен или хранит прерывание,
то по команде HIO никаких действий в канале не выполняется.
При выполнении команды HIO байты состояния CSW (биты 32–47) записываются в том слу-
чае, если будет иметь место одно из приводимых ниже условий. Содержимое других полей
361
CSW не изменяется. Занесенное при выполнении команды ОСТАНОВИТЬ ВВОД-ВЫВОД CSW
относится только к выполнению команды HIO и не описывает, при каких условиях завершилась операция ввода-вывода в адресуемом подканале. Количество переданных данных и условия прекращения операции в подканале описываются в CSW, связанном с прерыванием, вызывае-
мым прекращением операции. Упомянутые выше условия формулируются следующим обра-
зом:
1. Адресуемое устройство выбрано, и в него выдан сигнал прекращения текущей операции.
Байты состояния CSW содержат нули, если только не был обнаружен сбой оборудования. 2. Канал пытался выбрать адресуемое устройство, но контроллер не мог принять сигнал
“Остановить ввод-вывод” из-за того, что он выполнял ранее начатую операцию или хранил прерывание для неадресуемого устройства. Сигнал прекращения операции не был передан во внешнее устройство, а подканал, если он находился во состоянии “работает”, настроился на выдачу сигнала прекращения операции в следующий раз, когда устройство заявит о себе. В
байте состояния устройства в CSW установлены биты ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ. Байт состояния канала имеет нулевое значение при условии, что не был обна-
ружен сбой оборудования.
3. Во время выполнения команды ОСТАНОВИТЬ ВВОД-ВЫВОД канал обнаружил сбой обо-
рудования. Биты состояния в CSW описывают эту ошибку. Состояние канала и ход операций ввода-вывода непредсказуемы.
Если команда ОСТАНОВИТЬ ВВОД-ВЫВОД не может быть выполнена из-за необработан-
ного условия регистрации и это влияет на работоспособность канала или подканала, то в па-
мять записывается полное CSW. Все поля CSW устанавливаются в нуль, за исключением раз-
рядов НЕ ВЫПОЛНЕНА РЕГИСТРАЦИЯ и СБОЙ УПРАВЛЕНИЯ КАНАЛА. Никакая регистрация по сбою с этим состоянием не связана.
Если по команде ОСТАНОВИТЬ ВВОД-ВЫВОД прекращается передача данных, то кон-
троллер, занятый в операции, остается недоступным до прекращения части операции, связан-
ной с обработкой данных в контроллере. О прекращении этой части операции сообщается условием КОНЕЦ РАБОТЫ КАНАЛА. Этот сигнал может появиться в обычное для операции время, раньше или позже в зависимости от операции и типа устройства. Если контроллер раз-
деленный, то все устройства, подключенные к нему, остаются занятыми до тех пор, пока про-
цессором не будет принят байт состояния с индикатором КОНЕЦ РАБОТЫ КАНАЛА. Устрой-
ство, выполняющее прекращаемую операцию, остается занятым до завершения внутреннего цикла операции, после которого вырабатывается сигнал КОНЕЦ РАБОТЫ УСТРОЙСТВА. Если в устройстве определены блоки данных, как, например, в операциях чтения с магнитной ленты,
то носитель продвигается к началу следующего блока.
Когда команда ОСТАНОВИТЬ ВВОД-ВЫВОД выдается в доступный подканал и в канале не выполняется никакой монопольной операции, влияние сигнала “Остановить ввод-вывод” зави-
сит от типа устройства и его состояния, что для каждого конкретного устройства описывается в
362
публикациях SL и SRL. Сигнал “Остановить ввод-вывод” не оказывает никакого влияния на не-
занятые устройства или устройства, выполняющие операцию фиксированной длительности,
как, например, перемотку ленты или установку механизма доступа на магнитном диске. Если устройство выполняет операцию переменной длительности, устройство интерпретирует этот сигнал как приказ остановить операцию. Необработанные сигналы ВНИМАНИЕ и КОНЕЦ РАБОТЫ УСТРОЙСТВА в устройстве не сбрасываются.
Признак результата:
0– подканал хранит прерывание;
1– CSW записано в память;
2– прекращена монопольная операция;
3– выключен.
Программные прерывания:
привилегированная операция.
В таблице 13.6 приведены значения признака результата, устанавливаемые командой ОСТАНОВИТЬ ВВОД-ВЫВОД для всех возможных состояний системы ввода-вывода. Состоя-
ния A, I, W и N описаны в подразделе “Состояния системы ввода-вывода”.
Таблица 13.6
Значения признака результата для команды ОСТАНОВИТЬ ВВОД-ВЫВОД
Канал |
|
A |
|
|
|
|
I |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Подканал |
|
A |
|
|
W |
|
A |
|
|
|
W |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Контроллер – ВУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
1 |
|
|
1 |
|
2 |
|
|
а |
а |
а |
|
|
а,б |
|
а |
а |
а |
|
|
|
а,б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначения:
A – доступен;
I – хранит прерывание;
W – работает;
N – выключен.
а) Записано CSW.
б) Если при выборке адресуемого устройства получен ответ “Устройство выключено”,
то устанавливается признак результата, равный 3.
Примечание. Подчеркнутые значения признака результата относятся к ситуациям, ко-
торые могут иметь место только в мультиплексном канале.
363
Замечания по программированию
Команда ОСТАНОВИТЬ ВВОД-ВЫВОД предоставляет программе средства для прекраще-
ния операции ввода-вывода прежде, чем все данные, указанные в операции, будут переданы,
или прежде, чем выполнение операции в устройстве достигнет своего обычного конца. Эта ко-
манда позволяет программе немедленно освободить селекторный канал для запуска операции высшего приоритета. В байт-мультиплексном канале команда HIO позволяет управлять выпол-
нением операций в реальном масштабе времени и дает программе возможность прекращать передачу данных в канале связи.
НАЧАТЬ ВВОД-ВЫВОД
НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ
SIO |
D2(B2) |
[S] |
|
|
||
+-------------------------- |
|
|
|
|
|
+ |
¦ |
9C00 |
¦ |
B2 |
¦ |
D2 |
¦ |
+-------------------------- |
|
|
|
|
|
+ |
0 |
15 |
16 |
19 |
20 |
|
31 |
SIOF D2(B2) |
|
[S] |
|
|
||
+-------------------------- |
|
|
|
|
|
+ |
¦ |
9C01 |
¦ |
B2 |
¦ |
D2 |
¦ |
+-------------------------- |
|
|
|
|
|
+ |
0 |
15 |
16 |
19 |
20 |
|
31 |
В адресуемом внешнем устройстве и подканале запускается операция записи, чтения, чте-
ния в обратном направлении, управления или уточнения состояния. Команда выполняется только тогда, когда процессор находится в состоянии “супервизор”. Разряды 8–14 кода коман-
ды игнорируются.
В зависимости от команды, канала и бита управления мультиплексированием (бит 0 управ-
ляющего регистра 0) канал выполняет функцию SIO или SIOF. При выполнении функции SIO
операция начинается только после выборки устройства. При выполнении функции SIOF опера-
ция начинается независимо от устройства. По команде НАЧАТЬ ВВОД-ВЫВОД всегда выпол-
няется функция SIO; она также выполняется по команде НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, если не задано мультиплексирование блоков. Если же мультиплексирование блоков указано, то в зависимости от канала по команде НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ может быть выполнена функция SIO или SIOF.
Разряды 16–31 адреса второго операнда идентифицируют канал, подканал и внешнее устройство, к которым адресована команда. Адресное слово канала (CAW) в ячейке 72 содер-
жит ключ защиты для подканала и адрес первого командного слова канала (CCW). Это CCW
указывает, какая операция должна быть выполнена, какую область памяти при этом использо-
вать и что делать после завершения операции.
364
При выполнении функции SIO операция ввода-вывода начинается в том случае, если адре-
суемое внешнее устройство и подканал доступны, канал доступен или хранит прерывание и никаких ошибок или особых случаев не обнаружено. Операция ввода-вывода не может быть начата, если адресуемая часть системы ввода-вывода находится в любом другом состоянии либо если канал или устройство обнаруживает при выполнении команды какую-либо ошибку или особый случай.
При выполнении функции SIOF операция ввода-вывода может быть начата, если адресуе-
мый подканал доступен, канал доступен или хранит прерывание, а также отсутствуют ошибки и особые случаи. Если подканал и канал находятся в состоянии, отличном от вышеуказанного,
или же если во время выполнения команды канал обнаруживает ошибку или особый случай, то операция ввода-вывода не может быть начата. Если состояние устройства, проверяемое после завершения функции SIOF, препятствует началу операции ввода-вывода, либо при обнаруже-
нии каналом или устройством ошибки это состояние или ошибка не связывается с выполнени-
ем команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, а указывается в CSW, ко-
торое запоминается во время последующего прерывания.
При наличии перечисленных ниже условий, а также при дополнительном условии, что канал доступен или хранит прерывание, а подканал доступен перед выполнением команды, произво-
дится запись CSW, причем момент его записи и содержимое зависят от выполняемой функции
SIO или SIOF. При выполнении функции SIO производится запись только байтов состояния
CSW, а остальные поля не изменяются. При выполнении функции SIOF в первом случае вы-
полняются те же действия, что и для функции SIO; все остальные ситуации будут указываться при последующем прерывании, во время которого CSW будет записано в память полностью.
Упомянутые выше условия формулируются следующим образом:
1. Канал обнаружил ошибку программирования в содержимом CAW или зафиксировал сбой оборудования при выполнении команды. CSW описывает ошибку. Биты ЗАНЯТО и КОНЕЦ РАБОТЫ КАНАЛА в CSW сброшены, если только при выполнении функции SIO ошибка не была обнаружена уже после того, как внешнее устройство выбрано, причем оказалось, что оно заня-
то; в этом случае будет установлен бит ЗАНЯТО и любые другие биты, описывающие необра-
ботанные условия прерывания. Условия прерывания, указанные в CSW, сбрасываются. Опера-
ция ввода-вывода не начинается. Никаких условий прерывания в устройстве и подканале не вырабатывается. Состояние бита PCI в CSW непредсказуемо.
2. Канал обнаружил ошибку программирования, относящуюся к первой CCW или, если за-
дана косвенная адресация данных в канале (CIDA), к первому IDAW, либо в случае функции
SIOF канал обнаружил сбой оборудования после завершения команды. CSW описывает ошиб-
ку. Биты КОНЕЦ РАБОТЫ КАНАЛА и ЗАНЯТО в CSW не устанавливаются, если только ошибка не была обнаружена после того, как устройство было выбрано, причем оказалось, что оно за-
нято; при этом устанавливается бит ЗАНЯТО и любые другие биты, указывающие на необрабо-
танные условия прерывания. После записи CSW условия прерывания в устройстве сбрасыва-
365
ются. Операция ввода-вывода не начинается. Никаких условий прерывания в устройстве и под-
канале не вырабатывается. Состояние бита PCI в CSW непредсказуемо.
3. Была выполнена немедленная операция9 и либо не указана цепочка команд и не произ-
водится повторения команды, либо цепочка подавляется из-за необычных условий, обнаружен-
ных при выполнении операции. CSW содержит бит КОНЕЦ РАБОТЫ КАНАЛА и другие указате-
ли, обеспечиваемые каналом и устройством. Бит ЗАНЯТО устанавливается в нуль. Операция ввода-вывода началась, но информация не передается в область памяти или из области памя-
ти, указанной в CCW. Никаких условий прерывания в подканале не вырабатывается, и подка-
нал доступен для начала новой операции ввода-вывода. Если сигнал КОНЕЦ РАБОТЫ УСТРОЙСТВА еще не выдан, устройство остается занятым, и после освобождения вырабаты-
вает сигнал КОНЕЦ РАБОТЫ УСТРОЙСТВА. CSW содержит бит PCI, если он был указан в пер-
вом CCW.
4. Устройство хранит условие прерывания или контроллер хранит сигнал прерывания для адресуемого устройства. В поле состояния устройства в CSW указывается бит ЗАНЯТО, опи-
сывается условие прерывания и могут содержаться другие биты, обеспечиваемые устройством или контроллером. Условие прерывания сбрасывается. В поле состояния канала в CSW указы-
ваются ошибки, обнаруженные каналом, и содержится бит PCI, если он был задан в первом
CCW.
5. Внешнее устройство или контроллер выполняет ранее начатую операцию или контроллер хранит прерывание для неадресуемого устройства. В поле состояния устройства в CSW со-
держится бит ЗАНЯТО, а в случае занятости контроллера – биты ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ. В поле состояния канала указываются ошибки, обнаруженные каналом, и со-
держится бит PCI, если он был задан в первом CCW.
6. При запуске операции внешнее устройство или контроллер обнаружили сбой или же ошибку программирования либо адресуемое устройство находилось в состоянии “не готово”.
CSW описывает ошибку. Биты КОНЕЦ РАБОТЫ КАНАЛА и ЗАНЯТО сброшены, если только устройство не оказалось занятым; в этом случае устанавливается бит ЗАНЯТО, а также любые другие биты, описывающие необработанные условия прерывания. Условия прерывания, хра-
нящиеся в устройстве и указанные в CSW, сбрасываются. Операция ввода-вывода не начина-
ется. Никаких условий прерывания в устройство и подканале не вырабатывается. CSW содер-
жит бит PCI, если он задан в первом CCW.
Если функция SIO или SIOF не может быть выполнена из-за необработанного условия реги-
страции и это влияет на работоспособность канала или подканала, то в память записывается полное CSW. Все поля CSW устанавливаются в нуль, за исключением разрядов НЕ
9 Немедленной операцией называется такая операция, при получении кода которой в процессе начальной выборки внешнее устройство сразу выдает указатель КОНЕЦ РАБОТЫ КАНАЛА, т.е. для выполнения которой нужен только ее код и не требуется обмена данными между памятью и внешним устройством. Операции, не относящиеся к немедленным, отвечают на получение кода операции во время начальной выборки байтом состояния, содержащим только нулевые биты, после чего начинается обмен данными.
366
ВЫПОЛНЕНА РЕГИСТРАЦИЯ и СБОЙ УПРАВЛЕНИЯ КАНАЛА. Никакая регистрация по сбою с этим состоянием не связана.
Если при выполнении функции SIOF устанавливается признак результата, равный 0, а за-
тем возникает ситуация, в которой при выполнении функции SIO был бы установлен признак результата, равный 1, то формируется условие прерывания с отложенным признаком резуль-
тата, равным 1. Если при выполнении функции SIOF устанавливается признак результата, рав-
ный 0, а затем при выборке устройства обнаруживается, что устройство выключено, то выраба-
тывается условие прерывания с отложенным признаком результата, равным 3. При последую-
щем прерывании ввода-вывода записывается полное CSW и в нем указывается отложенный признак результата.
В байт-мультиплексном канале при выполнении функций SIO и SIOF выбирается адресуе-
мое устройство и операция ввода-вывода начинается только после того, как канал обслужил все неудовлетворенные запросы на передачу данных для ранее начатых операций.
Признак результата:
0– операция ввода-вывода начата и канал продолжает ее выполнение;
1– записано CSW;
2– канал или подканал занят;
3– выключен.
Программные прерывания:
привилегированная операция.
В таблице 13.7 приведены значения признака результата, устанавливаемые командами НАЧАТЬ ВВОД-ВЫВОД и НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ для всех воз-
можных состояний системы ввода-вывода. Состояния A, I, W и N описаны в подразделе “Со-
стояния системы ввода-вывода”.
367
Таблица 13.7
Значения признака результата для команд НАЧАТЬ ВВОД-ВЫВОД
и НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ
Канал |
|
A |
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Подканал |
|
A |
|
|
|
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Контроллер – |
|
I |
|
W |
|
|
|
|
|
|
|
I |
|
W |
|
|
|
|
|
|
|
ВУ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
2 |
|
|
|
1 |
|
1 |
|
|
|
2 |
|
2 |
|
|
|
а,в |
а,в |
|
в |
|
|
|
|
|
а,в |
|
а,в |
|
в |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обозначения:
A – доступен;
I – хранит прерывание;
W – работает;
N – выключен.
а) Записано CSW.
б) Если выполняется операция ввода-вывода, не относящаяся к числу немедленных, и
канал продолжает ее выполнение, то устанавливается признак результата, равный 0.
Если выполняется немедленная операция и при этом либо не задана цепочка команд и не выполняется повторение команды, либо устройство не готово к работе, либо же устройство или контроллер обнаружили ошибку, то для функции SIO устанавливается признак результата, равный 1, и записывается CSW. Для функции SIOF устанавливается признак результата, равный 0, и вырабатывается сигнал прерывания с отложенным при-
знаком результата 1.
в) Если выполняется функция SIOF, то устанавливается признак результата, равный
0. Указанный признак результата будет передан как отложенный признак результата.
Примечание. Подчеркнутые значения признака результата относятся к ситуациям, ко-
торые могут иметь место только в мультиплексном канале.
Замечания по программированию
Команда НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ имеет преимущество перед командой НАЧАТЬ ВВОД-ВЫВОД в том отношении, что процессор освобождается сразу после выборки CAW, а не после завершения процедуры выборки устройства. Таким образом, в этом случае процессор раньше освобождается для другой работы. Однако недостаток команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ состоит в том, что если выдается отло-
женный признак результата, то время выполнения операции процессором увеличивается по сравнению с тем, которое затрачивается при выполнении команды НАЧАТЬ ВВОД-ВЫВОД, а
также усложняется логика программы.
368
Если канал обнаружил ошибку программирования при выполнении функции SIO и при этом адресуемое устройство хранит прерывание, а канал и подканал доступны, то сброс условия прерывания в устройстве производится в зависимости от типа ошибки и используемой модели.
Если при этом устройство было опрошено, на что указывает наличие бита ЗАНЯТО в CSW, то условие прерывания в устройстве сбрасывается и CSW содержит биты ОШИБКА В ПРОГРАММЕ или НАРУШЕНИЕ ЗАЩИТЫ, а также биты состояния, выдаваемые устройством.
Между командами НАЧАТЬ ВВОД-ВЫВОД и НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ существуют два основных различия:
1. В некоторых каналах, а именно таких, которые выполняют команду НАЧАТЬ ВВОД-
ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ независимо от устройства, при выполнении немедлен-
ных операций, не связанных в цепочку, по команде НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ и при значении бита управления мультиплексированием, равным единице,
устанавливается признак результата, равный 0, в то время как команда НАЧАТЬ ВВОД-ВЫВОД установила бы признак результата 1. См. также Замечания по программированию 2 непосред-
ственно за подразделом “Повторение команды” раздела 13.3.
2. Признак результата, равный 0, устанавливается этими каналами для команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ при значении бита управления мультиплексиро-
ванием, равном единице, также в том случае, когда адресуемое устройство недоступно или ко-
манда отвергается устройством. Информация о состоянии устройства выдается через преры-
вание ввода-вывода.
ЗАПИСАТЬ ИДЕНТИФИКАТОР КАНАЛА
STIDC |
D2(B2) |
[S] |
|
|
|||
+ |
-------------------------- |
|
|
|
|
|
+ |
¦ |
B203 |
|
¦ |
B2 |
¦ |
D2 |
¦ |
+-------------------------- |
|
|
|
|
|
|
+ |
0 |
15 |
16 |
19 |
20 |
|
31 |
|
В ячейку 168 основной памяти записываются 4 байта информации, описывающей заданный канал. Команда ЗАПИСАТЬ ИДЕНТИФИКАТОР КАНАЛА выполняется только в состоянии “су-
первизор”.
Разряды 16–23 адреса второго операнда определяют канал, к которому относится команда.
Биты 24–31 адреса игнорируются.
Формат информации, записываемой в ячейку 168, имеет следующий вид:
+ |
----------------------------------------------------- |
|
|
|
|
+ |
¦ ??? |
¦ ????? ?????? ?????? |
¦ ???????????? ????? IOEL |
¦ |
|||
+----------------------------------------------------- |
|
|
|
|
|
+ |
0 |
3 |
4 |
15 |
16 |
31 |
|
369
Разряды 0–3 описывают тип канала. Если канал может работать в качестве каналов раз-
личных типов, то запомненный код идентифицирует тип канала в момент выполнения команды.
Используются следующие коды:
0000 – селекторный;
0001 – байт-мультиплексный;
0010 – блок-мультиплексный.
Разряды 4–15 описывают модель канала. Когда модель канала однозначно определяется типом канала и моделью процессора, в этом поле записываются нули.
Биты 16–31 содержат длину в байтах самой большой области расширенной регистрации ввода-вывода (IOEL), которая может быть записана каналом во время прерывания ввода-
вывода. Если канал никогда не выполняет регистрацию, используя указатель IOEL, в это поле записываются нули.
Если канал обнаруживает сбой оборудования при выполнении команды STIDC, он записы-
вает в память байты состояния CSW. За исключением бита СБОЙ УПРАВЛЕНИЯ КАНАЛА, все биты состояния равны нулю. Содержимое других полей CSW не изменяется.
Если команда STIDC не может быть выполнена из-за того, что в канале имеет место состо-
яние “не выполнена регистрация” и это влияет на работоспособность канала, то в память запи-
сывается полное CSW. Все поля CSW устанавливаются в нуль, за исключением разрядов НЕ ВЫПОЛНЕНА РЕГИСТРАЦИЯ и СБОЙ УПРАВЛЕНИЯ КАНАЛА. Никакая регистрация по сбою с этим состоянием не связана.
Признак результата:
0– идентификатор канала записан правильно;
1– записано CSW;
2– состояние канала запрещает запись идентификатора канала;
3– выключен.
Программные прерывания:
привилегированная операция.
В таблице 13.8 приведены значения признака результата, устанавливаемые командой ЗАПИСАТЬ ИДЕНТИФИКАТОР КАНАЛА для всех возможных состояний системы ввода-вывода.
Состояния A, I, W и N описаны в подразделе “Состояния системы ввода-вывода”.
370
