Принципы работы системы IBM/370
Описание логической структуры вычислительных машин Системы 370. Особенности мультипроцессирования. Команды общего назначения и управления системой, обработки десятичных данных и команды с плавающей точкой. Средства обработки машинных ошибок (коррекция).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | книга |
Язык | русский |
Дата добавления | 12.06.2014 |
Размер файла | 658,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Канал вырабатывает сигнал CAI только том случае, если он ранее отвечал признаком результата, равным 2, на команду, отличную от команды ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО, при условии, что этот состояние занятости больше не существует. Если состояние “занято”, которое привело к установке признака результата, равного 2, обусловлено тем, что подканал занят работой с неадресуемым устройством, то после освобождения канала сигнал CAI не формируется. Так как все остальные условия прерывания (за исключением PCI) выполняют ту же функцию, что и CAI, то необработанное условие CAI сбрасывается, если в этом канале формируется другой сигнал прерывания, отличный от PCI. В некоторых каналах условие CAI также сбрасывается, когда какое-либо другое условие прерывания, кроме PCI, сбрасывается командой ПРОВЕРИТЬ ВВОД-ВЫВОД в том же канале. Если до прерывания по CAI канал окажется занятым, то условие CAI задерживается до освобождения канала.
Замечания по программированию
Через прерывание CAI программе сообщается, что ранее занятый канал освободился. Хранящееся в канале условие CAI не влияет на выполнение последующих команд НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫ ОТКЛЮЧЕНИЕМ, но приводит к установке признака результата, равного единице, для команды ПРОВЕРИТЬ КАНАЛ. Поэтому это условие, если оно снимается по команде ПРОВЕРИТЬ КАНАЛ, может использоваться как инструмент для приема последовательности запросов от системы ввода-вывода. Канал, который ответил признаком результата, равным 2, из-за условия занятости в канале, после освобождения не отвечает признаком результата, равным 0, на команду ПРОВЕРИТЬ КАНАЛ, если предварительно не будет сброшено условие прерывания.
Приоритет прерываний
Все запросы на прерывания ввода-вывода асинхронных по отношению к действиям, выполняемым в процессоре. В одно и то же время могут существовать условия прерывания, связанные с несколькими устройствами. Для установления приоритета между запросами существуют два уровня: один устанавливает приоритет среди условий прерывания, связанных с внешними устройствами, которые подключены к одному каналу, а другой устанавливает приоритет среди запросов от различных каналов. Канал выдает запрос на прерывание ввода-вывода только после того, как он установил приоритеты среди запросов от устройств. Условия, послужившие причиной этих запросов, сохраняются во внешних устройствах или каналах до тех пор, пока не будут приняты процессором.
Присвоение приоритета запросам на прерывание, связанным с устройствами, присоединенными к одному каналу, зависит от типа канала, типа условия прерывания и положения устройства на интерфейсе ввода-вывода. Положение внешнего устройства на интерфейсе не связано с его адресом.
Селекторный канал присваивает высший приоритет условиям, связанным с выполнением той части операции, в которой участвует канал. К таким условиям относятся конец работы канала, программно-управляемое прерывание, выполнение команды ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО в этом канале и ошибки, которые привели к прекращению цепочки операций. Во время выполнения операции селекторный канала не может обрабатывать никакие условия прерывания, кроме определяемого флажком PCI.
Как только селекторный канал сбросил все условия прерывания, связанные с передачей данных, он начинает просматривать такие запросы на прерывания от устройств, которые обусловлены сигналами ВНИМАНИЕ, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА, КОНЕЦ РАБОТЫ УСТРОЙСТВА, а также условием КОНЕЦ РАБОТЫ КАНАЛА, относящимся к операциям, прекращенным по команде ОСТАНОВИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ УСТРОЙСТВО или ОСВОБОДИТЬ ВВОД-ВЫВОД. Высший приоритет присваивается устройству, которое первым заявит о себе на интерфейсе.
В байт-мультиплексном канале приоритет среди запросов на прерывание от устройств устанавливается по ответу от устройств. Высший приоритет присваивается устройству, которое первым заявит о себе условием прерывания или которое запрашивает обслуживание для передачи данных и содержит признак PCI в подканале. PCI, а также любые другие условия в подканале не вызывают прерывания ввода-вывода, пока устройство не обратится к подканалу.
Присвоение приоритетов условиям прерываний в блок-мультиплексном канале различается в разных моделях. Некоторые блок-мультиплексные каналы присваивают приоритеты так же, как байт-мультиплексный канал. Другие каналы присваивают приоритеты некоторым произвольным способом.
За исключением условий, связанных с завершением передачи данных, текущее распределение приоритетов прерываний среди устройств данного канал может быть аннулировано при выдаче в канал команд НАЧАТЬ ВВОД-ВЫВОД, НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, ПРОВЕРИТЬ ВВОД-ВЫВОД, ОСВОБОДИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО. После завершения действий, вызванных командой, если распределение приоритетов было аннулировано, канал возобновляет просмотр условий прерывания и заново устанавливает приоритеты.
Распределение приоритетов среди запросов на прерывание от каналов зависит от типа канала и его адреса. Приоритеты каналов 1-15 распределяются в порядке возрастания их адресов, причем канал 1 имеет высший приоритет. Приоритет прерываний для мультиплексного канала 0 не фиксирован и зависит от модели и текущих действий в канале. Приоритет канала 0 может быть выше, ниже или находиться в диапазоне приоритетов каналов 1-15.
Действия при прерывании
Прерывание ввода-вывода может произойти только в том случае, если канал, обслуживающий устройств, не замаскирован и выполнение текущей команды в процессоре закончено. Если канал установил приоритеты среди запросов на прерывание от внешних устройств, когда процессор был замаскирован для прерываний от данного канала, то прерывание происходит сразу же после окончания команды, снимающей маску прерывания, и до выполнения следующей команды. Это прерывание соответствует условию, которому был присвоен высший приоритет в канале. Если разрешены прерывания от нескольких каналов, то выполняется прерывание для канала с высшим приоритетом среди каналов, выставивших запрос на прерывание.
Если в канале еще не установлены приоритеты условий прерывания, то прерывание происходит необязательно сразу же после команды, снимающей маску прерывания. Эта задержка может иметь место независимо от того, как долго условие прерывания находится во внешнем устройстве или подканале.
При прерывании текущее слово состояния программы записывается в ячейку 56 в качестве старого PSW, а CSW, связанное с прерыванием, записывается в ячейку 64. Затем из ячейки 120 выбирается новое PSW и работа продолжается в состоянии, указанном этим PSW. Устройство, а в случае условия КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА и контроллер, вызвавшие прерывание, определяются в режиме BC адресом канала в битах 16-23 и адресом устройства в битах 24-31 старого PSW. В режиме EC устройство или контроллер идентифицируются полем адреса ввода-вывода (ячейки 186-187) области связи ввода-вывода (IOCA). CSW, связанное с прерыванием, описывает условия, вызвавшие прерывание, и обеспечивает более детальную информацию о ходе выполнения операции и состоянии устройства.
Замечания по программированию
Если несколько устройств, подключенных к одному разделенному контроллеру, выполняют одновременно некоторые операции, например, перемотку ленты или установку механизма доступа, то сначала условия КОНЕЦ РАБОТЫ УСТРОЙСТВА выдаются в порядке их возникновения. Однако если для операции, начатой последней, указана цепочка команд, то контроллер сначала выдает условие КОНЕЦ РАБОТЫ УСТРОЙСТВА для этой последней операции, а другие подобные сигналы задерживаются до освобождения подканала. Всякий раз, когда прерывания по причине условий КОНЕЦ РАБОТЫ УСТРОЙСТВА задерживаются из-за того, что канал замаскирован или подканал занят, происходит нарушение первоначального порядка выдачи сигналов.
Слово состояния канала
Слово состояния канала (CSW) дает возможность программе узнать состояние внешнего устройства или условия, при которых была прекращена операция ввода-вывода. CSW или отдельные его части формируются при обработке прерываний ввода-вывода и во время выполнения команд НАЧАТЬ ВВОД-ВЫВОД, НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, ПРОВЕРИТЬ ВВОД-ВЫВОД, ОСВОБОДИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ УСТРОЙСТВО и ЗАПИСАТЬ ИДЕНТИФИКАТОР КАНАЛА. CSW помещается в ячейку с реальным адресом 64 основной памяти процессора, к которому канал подключен. В этой ячейке оно доступно программе, пока его содержимое не будет изменено следующим прерыванием ввода-вывода или командой ввода-вывода.
Если CSW запоминается в результате прерывания ввода-вывода, внешнее устройство определяется:
- в режиме BC кодом прерывания в старом PSW;
- в режиме EC полем адреса ввода-вывода в области связи ввода-вывода (IOCA).
Информация, помещается в CSW при выполнении команд НАЧАТЬ ВВОД-ВЫВОД, НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, ПРОВЕРИТЬ ВВОД-ВЫВОД, ОСВОБОДИТЬ ВВОД-ВЫВОД, ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО, относится к устройству, адресуемому в этих командах.
CSW имеет следующий формат:
+---------------------------------------------------------+
¦ ???? ¦0¦L¦CC¦ ????? CCW ¦ ????????? ¦ ????????? ¦ ???? ¦
¦ ¦ ¦ ¦ ¦ ¦ ?????????? ¦ ?????? ¦ ¦
+---------------------------------------------------------+
0 3 4 7 8 31 32 39 40 47 48 63
Поля CSW имеют следующие значения.
Ключ защиты. Биты 0-3 являются ключом защиты памяти, используемым в цепочке операций в подканале.
Не выполнена регистрация (L). Если бит 5 установлен в единицу, то это означает, что команда ввода-вывода не будет выполнена до тех пор, пока не будет сброшен бит невыполненной регистрации. При этом бит 45 (СБОЙ УПРАВЛЕНИЯ КАНАЛА) также устанавливается в единицу.
Отложенный признак результата (CC). Биты 6-7 указывают, были ли обнаружены после установки признака результата, равного нулю, для команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ ситуации, которые привели бы к установке другого признака результата для команды НАЧАТЬ ВВОД-ВЫВОД. В таблице 13.15 приведены возможные комбинации этих битов и значение этих комбинаций.
Таблица 13.15 |
|||
Комбинация |
Значение |
||
Бит 6 |
Бит 7 |
||
0 |
0 |
Обычное прерывание ввода-вывода |
|
0 |
1 |
Отложенный признак результата равен 1 |
|
1 |
0 |
Резерв |
|
1 |
1 |
Отложенный признак результата равен 3 |
Адрес команды канала. Биты 8-31 являются абсолютным адресом, который на 8 больше адреса последнего использованного CCW.
Состояние. Биты 32-47 определяют условия в устройстве и канале, которые вызвали запоминание CSW. Биты 32-39 определяют условия, возникшие в устройстве или контроллере, и поступают через интерфейс ввода-вывода. Биты 40-47 выдаются каналом. В них указаны условия, связанные с подканалом. Каждый из 16 битов соответствует одному условию:
Бит |
Условие |
|
32 |
ВНИМАНИЕ |
|
33 |
МОДИФИКАТОР СОСТОЯНИЯ |
|
34 |
КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА |
|
35 |
ЗАНЯТО |
|
36 |
КОНЕЦ РАБОТЫ КАНАЛА |
|
37 |
КОНЕЦ РАБОТЫ УСТРОЙСТВА |
|
38 |
СБОЙ В УСТРОЙСТВЕ |
|
39 |
ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ |
|
40 |
ПРОГРАММНО-УПРАВЛЯЕМОЕ ПРЕРЫВАНИЕ |
|
41 |
НЕПРАВИЛЬНАЯ ДЛИНА |
|
42 |
ОШИБКА В ПРОГРАММЕ |
|
43 |
НАРУШЕНИЕ ЗАЩИТЫ |
|
44 |
ОШИБКА В ДАННЫХ В КАНАЛЕ |
|
45 |
СБОЙ УПРАВЛЕНИЯ КАНАЛА |
|
46 |
СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА |
|
47 |
СБОЙ ЦЕПОЧКИ |
Счет. В битах 48-63 записано конечное значение счетчика для последнего использованного CCW.
Условия, характеризующие состояние устройства
Следующие условия обнаруживаются внешним устройством или контроллером и передаются через интерфейс ввода-вывода в канал. Момент и причина возникновения этих условий для каждого типа внешнего устройства описаны в соответствующих публикациях SL и SRL.
Если внешнее устройство доступно через несколько каналов, информация о состоянии передается в тот канал, который инициировал соответствующую операцию ввода-вывода. Обработка условий, не связанных с операциями ввода-вывода, таких как ВНИМАНИЕ или КОНЕЦ РАБОТЫ УСТРОЙСТВА, являющихся следствием перехода от состояния “не готово” в состояние “готово”, зависит от типа устройства и условия и описывается в публикациях SL и SRL, посвященных этому устройству.
Канал не меняет значений битов состояния, полученных от устройства. Эти биты появляются в CSW в том виде, в каком они были получены через интерфейс.
ВНИМАНИЕ
Условие ВНИМАНИЕ вырабатывается в том случае, когда в устройстве возникают асинхронные условия, представляющие интерес для программы. Смысл этого условия выясняется программой и не связан с инициирование, выполнением или прекращением операции ввода-вывода.
Устройство не может выдать в канал сигнал ВНИМАНИЕ, если в устройстве, контроллере или подканале выполняется операция. Сигнал ВНИМАНИЕ может появиться вместе с условием КОНЕЦ РАБОТЫ УСТРОЙСТВА после завершения операции и выдаваться в канал при инициировании новой операции. В остальном обработка и предоставление этого условия в канал зависят от типа устройства.
Если устройство выдает сигнал ВНИМАНИЕ при инициировании операции, то операция не инициируется. Сигнал ВНИМАНИЕ, полученный вместе с сигналом КОНЕЦ РАБОТЫ УСТРОЙСТВА, вызывает подавление цепочки команд.
МОДИФИКАТОР СОСТОЯНИЯ
Условие МОДИФИКАТОР СОСТОЯНИЯ вырабатывается внешним устройством в тех случаях, когда устройство не может выдать информацию о своем текущем состоянии в ответ на команду ПРОВЕРИТЬ ВВОД-ВЫВОД, когда контроллер занят, когда нормальная последовательность команд должна быть изменена или же когда должна быть выполнена процедура повторения команды.
Если бит МОДИФИКАТОР СОСТОЯНИЯ выдается в ответ на команду ПРОВЕРИТЬ ВВОД-ВЫВОД и соответствующий бит CSW устанавливается в единицу, причем все другие биты состояния в CSW равны нулю, то это означает, что устройство не может выполнить эту команду и не выдало информации о своем текущем состоянии. Условия прерывания, которые могли в этот момент храниться в устройстве или подканале, не сбрасываются, а CSW, запоминаемое при выполнении команды ПРОВЕРИТЬ ВВОД-ВЫВОД, содержит нули в полях ключа, адреса команды и счета. Так, например, мультиплексор передачи данных типа 2702 не выполняет команду ПРОВЕРИТЬ ВВОД-ВЫВОД.
Если бит МОДИФИКАТОР СОСТОЯНИЯ появляется в CSW вместе с битом ЗАНЯТО, то это указывает на то, что условие ЗАНЯТО относится к контроллеру, связанному с адресуемым внешним устройством. Контроллер занят, когда он выполняет операцию, которая не позволяет принять и выполнить какую-либо команду канала или команды процессора ПРОВЕРИТЬ ВВОД-ВЫВОД и ОСТАНОВИТЬ ВВОД-ВЫВОД или содержит условия прерывания от неадресуемого устройства.
Условие прерывания может быть вызвано сигналами КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА и КОНЕЦ РАБОТЫ КАНАЛА после выполнения команды ОСВОБОДИТЬ ВВОД-ВЫВОД или же в селекторном канале сигналом КОНЕЦ РАБОТЫ КАНАЛА после выполнения команды ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО. Состояние “занято” имеет место, например, при возврате ленты на зону, когда контроллер остается занятым после выдачи условия КОНЕЦ РАБОТЫ КАНАЛА, при прекращении операции командой ОСВОБОДИТЬ ВВОД-ВЫВОД или же при прекращении операции командой ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО в селекторном канале. Состояние “занято” временно имеет место в мультиплексоре передачи данных типа 2702 после начала операции в устройстве, подключенном к этому мультиплексору. Контроллер, доступный через два или более каналов, оказывается занятым для данного канала, если он связан с другим каналом.
Наличие условий МОДИФИКАТОР СОСТОЯНИЯ и КОНЕЦ РАБОТЫ УСТРОЙСТВА означает, что нормальная последовательность операций должна быть изменена. Обработка этой комбинации битов каналом зависит от выполнявшейся операции. если в текущем CCW указана цепочка команд ил не обнаружено никаких необычных условий, то наличие условий МОДИФИКАТОР СОСТОЯНИЯ и КОНЕЦ РАБОТЫ УСТРОЙСТВА заставляет канал выбрать и использовать в качестве следующего CCW в цепочке слово из основной памяти по адресу, который на 16 больше адреса текущего CCW. Если МОДИФИКАТОР СОСТОЯНИЯ выдается устройством в тот момент, когда цепочка команд не задана или обнаружены какие-либо необычные условия, то в канале не производится никаких действий, а МОДИФИКАТОР СОСТОЯНИЯ помещается в CSW.
Когда МОДИФИКАТОР СОСТОЯНИЯ встречается в комбинации с условием СБОЙ В УСТРОЙСТВЕ и КОНЕЦ РАБОТЫ КАНАЛА, то должна быть выполнена процедура повторения команды.
КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА
Условие КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА указывает на то, что контроллер становится доступным для использования в другой операции.
Условие КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА возникает только в контроллерах, которые используются совместно несколькими внешними устройствами или доступ к которым осуществляется через два или более каналов и только в том случае, когда имеет место хотя бы одна из следующих ситуаций:
1. Программа опросила контроллер в то время, когда он находился в состоянии “занято”. Считается, что контроллер опрошен в состоянии “занято”, если команда канала и команда процессора ПРОВЕРИТЬ ВВОД, ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО выдана во внешнее устройство, связанное с этим контроллером, и последний ответил байтом состояния с битами ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ.
2. Контроллер во время выполнения операции обнаружил необычное условие уже после того, как в канал был послан сигнал КОНЕЦ РАБОТЫ КАНАЛА. Индикация необычного условия сопровождается сигналом КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА.
Если контроллер остается занятым выполнением операции после выдачи сигнала КОНЕЦ РАБОТЫ КАНАЛА, но еще не был опрошен программой, причем не было обнаружено никаких необычных условий, то сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА не формируется. Точно так же сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА не выдается, если контроллер был опрошен и смог выдать требуемую информацию. Последний случай характеризуется отсутствием условий ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ в ответ на команду, вызвавшую опрос.
Если контроллер занят временно, то сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА присутствует в ответе на опрос вместе с сигналами ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ, несмотря на то, что контроллер еще не освободился. Считается, что контроллер занят временно, если продолжительность этого состояния соизмерима с временем, необходимым для программной обработки прерывания ввода-вывода. Примером такого устройства может служить мультиплексор передачи данных типа 2702, который может быть временно занят и выдает сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА вместе с сигналами ЗАНЯТО и МОДИФИКАТОР СОСТОЯНИЯ.
КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА может быть выдан вместе с сигналами КОНЕЦ РАБОТЫ КАНАЛА и КОНЕЦ РАБОТЫ УСТРОЙСТВА или в промежутке между ними. Если сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА выдается посредством прерывания ввода-вывода в отсутствие других индикаторов состояния, то прерывание может быть идентифицировано любым адресом, приписанным контроллеру. Если сигнал КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА не обработан, то контроллер считается занятым до инициирования новой операции.
ЗАНЯТО
Условие ЗАНЯТО указывает на то, что внешнее устройство или контроллер не может выполнить команду канала или команду процессора из-за того, что они выполняют ранее начатую операцию, или из-за того, что в них хранится условие прерывания. Условие прерывания для адресуемого устройства, если таковое имеется, сопровождается индикацией ЗАНЯТО. Если условие ЗАНЯТО относится к контроллеру, то оно сопровождается сигналом МОДИФИКАТОР СОСТОЯНИЯ.
В таблице 13.16 перечислены условия, при которых бит ЗАНЯТО (B) появляется в CSW и когда он сопровождается МОДИФИКАТОРОМ СОСТОЯНИЯ (SM). Для устройство, подключаемых более чем к одному каналу, операция, выполняемая в одном канале, может быть причиной того, что контроллер оказывается занятым для других каналов.
Таблица 13.16 |
||||||
Индикация условия ЗАНЯТО в CSW |
||||||
Условие |
Байты состояния CSW, запоминаемые при: |
|||||
SIO или SIOF1 |
TIO |
CLRIO2 |
HIO или HDV |
прерывании ввода-вывода3 |
||
Подканал доступен:- в ВУ DE или ВНИМАНИЕ- ВУ работает, контроллер доступен |
B4B |
-4,5B |
-6-6 |
-6-6 |
-4,5-6 |
|
В контроллере CUE или CE:- для адресуемого ВУ- для другого ВУ |
B4B, SM |
-4,5B, SM |
-5-5 |
-6-6 |
-4,5-4,5 |
|
Контроллер работает |
B, SM |
B, SM |
-5 |
-6 |
B, SM |
|
Подканал хранит прерывание для адресуемого устройства по причине:- завершения цепочки из-за состояния “занято”- другого типа завершения |
-6-6 |
B4-4,5 |
-4,5-4,5 |
-6-6 |
B4-4,5 |
|
Подканал работает:контроллер доступенконтроллер работает |
-6-6 |
-6-6 |
-5-5 |
-5B, SM |
-6-6 |
|
1) Когда канал выполняет команду НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ как команду НАЧАТЬ ВВОД-ВЫВОД, то состояние в CSW записанное для этих двух команд, одинаково. Это же состояния записывается по прерыванию ввода-вывода, причем в CSW указывается отложенный признак результата, равный 1, и для команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, выполняемой независимо от устройства.2) Записи в этой колонке относятся только к выполнению функции CLRIO. Если команда ОСВОБОДИТЬ ВВОД-ВЫВОД выполняется как команда ПРОВЕРИТЬ ВВОД-ВЫВОД, то результаты выполнения команды описаны в колонке с заголовком “TIO”.3) За исключением случая, когда прерывание ввода-вывода вызывается отложенным признаком результата, равным 1, для команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ.4) Условие прерывания сбрасывается, состояние записывается в CSW.5) Бит занятости равен нулю.6) CSW не записывается или прерывание ввода-вывода не происходит.Обозначения:B - бит ЗАНЯТО в CSW;DE - условие КОНЕЦ РАБОТЫ УСТРОЙСТВА;CUE - условие КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА;CE - условие КОНЕЦ РАБОТЫ КАНАЛА;SM - бит МОДИФИКАТОР СОСТОЯНИЯ в CSW. |
КОНЕЦ РАБОТЫ КАНАЛА
Условие КОНЕЦ РАБОТЫ КАНАЛА вызывается завершением той части операции ввода-вывода, которая связана с передачей данных или управляющей информации между внешним устройством и каналом. Эти условия указывают на то, что подканал стал доступен для выполнения другой операции.
При каждой операции ввода-вывода вырабатывается и притом только один раз сигнал КОНЕЦ РАБОТЫ КАНАЛА. Сигнал КОНЕЦ РАБОТЫ КАНАЛА не вырабатывается, если при начале операции обнаружены ошибки программирования или сбои в аппаратуре. Когда имеет место цепочка команд, то программе доступно условие КОНЕЦ РАБОТЫ КАНАЛА только для последней команды в цепочке. Условие КОНЕЦ РАБОТЫ КАНАЛА недоступно программе, если цепочка команд преждевременно завершена из-за необычного условия, о котором сообщается вместе с условием КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА и КОНЕЦ РАБОТЫ УСТРОЙСТВА или во время инициирования очередной команды цепочки.
Момент, когда команда ввода-вывода вырабатывает условие КОНЕЦ РАБОТЫ КАНАЛА, зависит от команды и типа внешнего устройства. Для таких операций, как запись на магнитную ленту, условие КОНЕЦ РАБОТЫ КАНАЛА имеет место тогда, когда окончена запись блока. В тех устройствах, которые контролируют запись, сигнал КОНЕЦ РАБОТЫ КАНАЛА может быть в зависимости от устройства либо задержан до окончания проверки, либо нет. Если производится чтение с магнитной ленты, то условие КОНЕЦ РАБОТЫ КАНАЛА возникает, когда межзонный промежуток подойдет под головку чтения-записи. Для устройств, имеющих буфер, таких, например, как печатающее устройство IBM 3211 модели 1, условие КОНЕЦ РАБОТЫ КАНАЛА возникает после завершения передачи данных между каналом и буфером. В операциях управления условие КОНЕЦ РАБОТЫ КАНАЛА вырабатывается после передачи управляющей информации в устройство; исключение составляют короткие операции, в которых это условие может быть задержано до завершения операции. При выполнении операций, в которых нет передачи данных, условие КОНЕЦ РАБОТЫ КАНАЛА может возникнуть во время начальной выборки.
Если условие КОНЕЦ РАБОТЫ КАНАЛА хранится в контроллере, то этот контроллер оказывается занятым для начала новых операций.
Процедура повторения команды вызывается комбинацией условий КОНЕЦ РАБОТЫ КАНАЛА, СБОЙ В УСТРОЙСТВЕ и МОДИФИКАТОР СОСТОЯНИЯ.
КОНЕЦ РАБОТЫ УСТРОЙСТВА
Условие КОНЕЦ РАБОТЫ УСТРОЙСТВА вырабатывается при завершении операции ввода-вывода во внешнем устройстве или в некоторых устройствах в том случае, когда устройство вручную переводится из состояния “не готово” в состояние “готово”. Это условие обычно указывает, что устройство стало доступно для выполнения другой операции.
В каждой операции ввода-вывода вырабатывается, причем только один раз, условие КОНЕЦ РАБОТЫ УСТРОЙСТВА. Если в начале операции обнаруживается какая-либо ошибка программирования или сбой в аппаратуре, условие КОНЕЦ РАБОТЫ УСТРОЙСТВА не вырабатывается. Если имеет место цепочка команд, то программе доступно условие КОНЕЦ РАБОТЫ УСТРОЙСТВА только для последней команды в цепочке, причем лишь в случае, если не было обнаружено необычное условие при инициации очередной команды цепочки. При обнаружении необычных условий цепочка команд подавляется без индикации конца работы устройства.
Условие КОНЕЦ РАБОТЫ УСТРОЙСТВА, связанное с некоторой операцией ввода-вывода, вырабатывается либо одновременно с условием КОНЕЦ РАБОТЫ КАНАЛА, либо позже. В операциях передачи данных в таких устройства, как накопитель на магнитной ленте, момент прекращения операции в устройстве совпадает с моментом выдачи сигнала КОНЕЦ РАБОТЫ КАНАЛА и, следовательно, условия КОНЕЦ РАБОТЫ УСТРОЙСТВА и КОНЕЦ РАБОТЫ КАНАЛА вырабатываются одновременно. Во внешних устройствах с буфером, таких, например, как печатающее устройство IBM 3211 модели 1, сигнал КОНЕЦ РАБОТЫ УСТРОЙСТВА возникает после окончания операции механической части устройства. В операциях управления условие КОНЕЦ РАБОТЫ УСТРОЙСТВА вырабатывается при завершении операции в устройстве. Операция может быть завершена в момент выдачи КОНЦА РАБОТЫ КАНАЛА или позже.
Если в подканале задана цепочка команд, канал после получения сигнала КОНЕЦ РАБОТЫ УСТРОЙСТВА и при отсутствии каких-либо необычных условий начинает новую операцию ввода-вывода.
СБОЙ В УСТРОЙСТВЕ
Условие СБОЙ В УСТРОЙСТВЕ показывает, что внешнее устройство или контроллер обнаружили необычное условие, подробная информация о котором может быть получена при выполнении команды УТОЧНИТЬ СОСТОЯНИЕ. СБОЙ В УСТРОЙСТВЕ может указываться тогда, когда была обнаружена ошибка программирования или сбой в аппаратуре, когда состояние устройства “не готово” нарушает выполнение команды канала или команды процессора или когда имеет место исключительное условие, отличное от того, которое идентифицируется как ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ. Бит СБОЙ В УСТРОЙСТВЕ только указывает на условия, подробная информация о которых выдается по команде УТОЧНИТЬ СОСТОЯНИЕ.
Условие СБОЙ В УСТРОЙСТВЕ вырабатывается в том случае, когда ошибка обнаружена во время выполнения команды канала или команды ПРОВЕРИТЬ ВВОД-ВЫВОД или же во время каких-либо действий, связанных с выполнением операции ввода-вывода. В тех случаях, когда условие ошибки не относится к действиям, начатым по команде, и не представляет непосредственного интереса для программы, то оно не сообщается программе, если уже сброшено условие прерывания КОНЕЦ РАБОТЫ УСТРОЙСТВА. Сбой, однако, может привести к тому, что устройство перейдет в состояние “не готово”.
Если наличие состояния “не готово” мешает удовлетворительному выполнению команды или команда по своей природе предназначена для проверки состояния устройства, то указывается СБОЙ В УСТРОЙСТВЕ. Когда в контроллере нет необработанного условия прерывания для адресуемого устройства, он сигнализирует о сбое в устройстве при условии, что устройству в состоянии “не готово” выдана команда ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД. В последнем случае команда канала отвергается и СБОЙ В УСТРОЙСТВЕ не сопровождается сигналами КОНЕЦ РАБОТЫ КАНАЛА и КОНЕЦ РАБОТЫ УСТРОЙСТВА.
Если только команда не предназначена для вызова сбоя в устройстве, как, например, команда перемотки и разгрузки ленты, то СБОЙ В УСТРОЙСТВЕ не указывается при условии, что команда выполняется правильно, даже если устройство перешло в состояние “не готово” во время выполнения операции или в ее результате. Аналогично СБОЙ В УСТРОЙСТВЕ не указывается, если команда может быть выполнена в состоянии устройства “не готово”. Например, консоль IBM 2150 принимает и выполняет команду звуковой сигнализации, если печатающее устройство консоли не готово. Если выдается команда УТОЧНИТЬ СОСТОЯНИЕ, то всякий раз, когда в контроллере имеется необработанное условие прерывания для адресуемого устройства, выборка устройства в состоянии “не готово” не вызывает индикации СБОЙ В УСТРОЙСТВЕ.
Если во время начальной выборки внешнее устройство обнаружит, что команда не может быть выполнена, то СБОЙ В УСТРОЙСТВЕ выдается в канал без сигналов КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА. Такая комбинация битов состояния устройства указывает на то. что в устройстве в ответ на команду не производилось никаких действий. Если условие, мешающее правильному выполнению операции, возникает после того, как выполнение операции уже начато, СБОЙ В УСТРОЙСТВЕ выдается вместе с сигналами КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА в зависимости от того, когда это условие обнаружено. О любых ошибках, связанных с операцией, но обнаруженных после того, как условие КОНЕЦ РАБОТЫ УСТРОЙСТВА уже сброшено, сообщается сигналами СБОЙ В УСТРОЙСТВЕ и ВНИМАНИЕ.
Такие ошибки, как недопустимый код команды или неправильная четность кода команды, не вызывают сбоя в устройстве, если устройство в момент выдачи команды работает или хранит прерывание. При этом устройство отвечает битом ЗАНЯТО и индикацией необработанного условия прерывания, если последнее имеет место. недопустимость кода команды не указывается.
Прекращение операции с индикацией СБОЙ В УСТРОЙСТВЕ подавляет цепочку команд.
СБОЙ В УСТРОЙСТВЕ в комбинации с условиями КОНЕЦ РАБОТЫ КАНАЛА и МОДИФИКАТОР СОСТОЯНИЯ вызывает процедуру повторения команды.
Замечания по программированию
Если устройство перешло в состояние “не готово” при завершении команды, конечное условие прерывания может быть сброшено командой ПРОВЕРИТЬ ВВОД-ВЫВОД без формирования условия СБОЙ В УСТРОЙСТВЕ вследствие состояния “не готово”, однако любая последующая команда ПРОВЕРИТЬ ВВОД-ВЫВОД, выданная в устройство. вызовет индикацию сбоя.
Для того чтобы информация уточненного состояния, о наличии которой сообщалось сигналом СБОЙ В УСТРОЙСТВЕ, сохранялась устройством до тех пор, пока она не будет выдана в ответ на команду УТОЧНИТЬ СОСТОЯНИЕ, в некоторых устройствах запрещается реализация определенных функций, пока не будет получена какая-либо команда, отличная от команды ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД. Более того, любая команда, отличная от команд УТОЧНИТЬ СОСТОЯНИЕ, ПРОВЕРИТЬ ВВОД-ВЫВОД или ХОЛОСТОЙ ХОД, вызывает сброс информации уточненного состояния в устройстве. Во избежание неопределенных ситуаций в устройстве и контроллере или случайного сброса информации уточненного состояния команда УТОЧНИТЬ СОСТОЯНИЕ должна выдаваться сразу после того, как устройство выдает сигнал СБОЙ В УСТРОЙСТВЕ.
ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ
Условие ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ фиксируется, если устройство обнаружило условие, которое обычно не имеет место. Особый случай не обязательно указывает на ошибку. Так, особым случаем считается, например, обнаружение маркера конца ленты. Для каждой конкретной команды и каждого типа внешнего устройства сигнал ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ имеет свой смысл.
Условие ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ может быть выработано только тогда, когда внешнее устройство выполняет операцию ввода-вывода или когда оно выполняет некоторые действия, связанные с операцией ввода-вывода, и это условие имеет непосредственное значение для программы. Если во время начальной выборки внешнее устройство обнаружит, что команда не может быть выполнена, ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ выдается в канал без сигналов КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА и КОНЕЦ РАБОТЫ УСТРОЙСТВА. Такое состояние устройства указывает на то, что в устройстве в ответ на команду никаких действий не производилось. Если условие, которое препятствует нормальному выполнению операции, имеет место после того, как выполнение начато, сигнал ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ появляется вместе с сигналами КОНЕЦ РАБОТЫ КАНАЛА, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА в зависимости от того, когда это условие было обнаружено. О любых необычных условиях, связанных с операцией, но обнаруженных после того, как было сброшено условие КОНЕЦ РАБОТЫ УСТРОЙСТВА, программе сообщается сигналами ОСОБЫЙ СЛУЧАЙ В УСТРОЙСТВЕ и ВНИМАНИЕ.
Команда не вызывает индикации особого случая, если внешнее устройство ответило на эту команду во время начальной выборки байтом состояния с указателем ЗАНЯТО.
Если операция прекращается из-за особого случая в устройстве, цепочка команд подавляется.
Условия, характеризующие состояние канала
Ниже перечислены условия, которые обнаруживаются и фиксируются каналом. За исключением условий, связанных со сбоями в аппаратуре, все эти условия могут появиться только в то время, когда подканал участвует в выполнении операции ввода-вывода.
ПРОГРАММНО-УПРАВЛЯЕМОЕ ПРЕРЫВАНИЕ
Условие ПРОГРАММНО-УПРАВЛЯЕМОЕ ПРЕРЫВАНИЕ вырабатывается тогда, когда канал выбрал CCW с установленным признаком программно-управляемого прерывания (PCI). Прерывание по флажку PCI происходит при первой возможности после выборки CCW, но может задержаться на неопределенное время из-за того, что канал замаскирован, или же из-за других действий системы. Условие PCI не влияет на выполнение операции ввода-вывода.
НЕПРАВИЛЬНАЯ ДЛИНА
Сигнал НЕПРАВИЛЬНАЯ ДЛИНА имеет место тогда, когда число байтов в области памяти, указанной для данной операции ввода-вывода, не совпадает с числом байтов, которое запрашивает или выдает внешнее устройство. Неправильная длина указывается в следующих случаях.
Длинный блок при вводе. Во время операций ЧИТАТЬ, ЧИТАТЬ В ОБРАТНОМ НАПРАВЛЕНИИ или УТОЧНИТЬ СОСТОЯНИЕ внешнее устройство пытается передать в память один или более байтов после того, как заполнена заданная область памяти. Лишние байты в память не заносятся. Счетчик в CSW равен нулю.
Длинный блок при выводе. Во время выполнения операций ПИСАТЬ или УПРАВЛЕНИЕ внешнее устройство запрашивает от канала один или более байтов после того, как была исчерпана заданная область основной памяти. Счетчик в 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.
Неправильная спецификация адреса 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 операция не начинается. Если нарушение защиты обнаруживается после того, как внешнее устройство начало работу, ему посылается сигнал прекратить операцию в следующий раз, когда оно потребует или выдаст байт данных. Обнаружение нарушения защиты подавляет цепочку.
ОШИБКА В ДАННЫХ В КАНАЛЕ
Ошибка в данных в канале означает, что во время операции ввода-вывода была обнаружена машинная ошибка при передаче данных в основную памяти или из нее, или что была обнаружена ошибка четности в данных, полученных в операции ввода по ШИН-А В тексте встречаются названия приведенных ниже входных и выходных шин и сигналов интерфейса ввода-вывода. Подробное описание этих и других сигналов находится в техническом описании интерфейса ввода-вывода Системы 370 (ЕС ЭВМ).
ШИН-К - выходные шины интерфейса (направление передачи от канала к внешнему устройству, иначе называемому абонентом);
ШИН-А - входные шины интерфейса (направление передачи от абонента к каналу);
УПР-К - в зависимости от последовательности сигналов интерфейса наличие этого сигнала определяет следующие действия:
- в данный момент на ШИН-К находится байт кода команды;
- продолжить последовательность выборки устройства;
- запомнить байт состояния в устройстве.
ИНФ-К - в зависимости от последовательности сигналов интерфейса может определять следующие действия:
- подтверждение приема каналом байта информации или байта состояния от устройства;
- в данный момент на ШИН-К находится байт информации, предназначенный для записи в устройство.
АДР-А - в данный момент на ШИН-А находится адрес устройства, выданный устройством в канал.
УПР-А - в данный момент на ШИН-А находится байт состояния, выданный устройством в канал.
ИНФ-А - в данный момент на ШИН-А находится байт информации, выданный устройством в канал.
ОТК-А - устройство выдает сигнал отключения.. Эта ошибка может возникать в считанных или записанных данных, а также в информации, передаваемой как данные в операции управления или уточнения состояния. Ошибка может быть обнаружена в любом месте тракта передачи информации ввода-вывода: в канале, в основной памяти или на пути между ними. ОШИБКА В ДАННЫХ В КАНАЛЕ может указываться для данных с недопустимым кодом контролируемого блока (CBC) в основной памяти, если канал обращается за этими данными, но они не используются в операции.
Всякий раз, когда ошибка в данных в канале указывается из-за ошибки четности во входных данных, канал принудительно устанавливает правильную четность всем данным, полученным через интерфейс, и все данные, помещаемые в основную память, имеют допустимый CBC.
Если в операции ввода канал пытается запомнить неполный контролируемый блок и в памяти обнаруживается неправильный CBC в контролируемом блоке, содержимое этой ячейки памяти остается неизменным и имеет недопустимый CBC. В операции ввода ОШИБКА В ДАННЫХ В КАНАЛЕ указывается только в том случае, если ошибки в четности были принудительно устранены во всех передаваемых по интерфейсу байтах, которые поступили из блока с недопустимым CBC.
Условие, указанное как ошибка в данных в канале, вызывает подавление цепочки команд, но не влияет на выполнение текущей операции. Передача данных продолжается до нормального завершения, если это возможно, и, когда устройство выдаст сигнал КОНЕЦ РАБОТЫ КАНАЛА, вырабатывается прерывание ввода-вывода. В зависимости от канала может быть выполнена регистрация состояния. Соответственно обнаружение ошибки может повлиять на состояние канала и устройства.
СБОЙ УПРАВЛЕНИЯ КАНАЛА
Сбой управления канала возникает при обнаружении любого машинного сбоя, влияющего на управляющие функции канала. Эта ошибка устанавливается в случае недопустимого CBC адреса CCW и адреса данных и недопустимого CBC содержимого CCW. Этот сигнал выдается также в том случае, когда канал обнаруживает такие ошибки передачи данных, которые не указываются как ОШИБКА В ДАННЫХ В КАНАЛЕ, а также ошибки интерфейса, которые не фиксируются как СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА. Условия, в результате которых появилась индикация СБОЙ УПРАВЛЕНИЯ КАНАЛА, могут привести к тому, что содержимое CSW окажется неправильным и противоречивым. CSW, вырабатываемое каналом, имеет допустимый CBC.
Обнаружение сбоя управления каналом вызывает немедленное прекращение операции, если она вообще выполняется.
В некоторых ситуациях СБОЙ УПРАВЛЕНИЯ КАНАЛОМ может указываться для внешних ошибок и машинных сбоев. Условие СБОЙ УПРАВЛЕНИЯ КАНАЛА указывается также в случае, когда бит 5 CSW (не выполнена регистрация) установлен в единицу.
СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА
Сбой управления интерфейса возникает в случае любого неправильного сигнала в интерфейсе ввода-вывода. Это условие обнаруживается каналом и обычно указывает на нарушение работы внешнего устройства. СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА может быть указан в следующих случаях:
1. Адрес или байт состояния, полученный от внешнего устройства, имеет неправильную четность.
2. Внешнее устройство выдало в ответ адрес, отличный от того адреса, который был указан каналом при начале операции.
3. При работе с цепочкой команд внешнее устройство оказалось выключенным.
4. Сигнал из устройства пришел в недопустимое время или имел неправильную длительность.
5. Устройство выдало сигнал об ошибке ввода-вывода с помощью сигнала ОТК_А.
Обнаружение сбоя управления интерфейса вызывает немедленное прекращение выполнения операции, если последняя выполнялась.
СБОЙ ЦЕПОЧКИ
Сбой цепочки имеет место при перегрузке канала во время работы с цепочкой данных в операциях ввода. Такая ситуация возникает тогда, когда скорость передачи данных слишком высока для данной модели канала. При операции вывода ошибка в цепочке произойти не может.
Обнаружение сбоя цепочки приводит к тому, что внешним устройством посылается сигнал прекращения операции. Эта ошибка подавляет цепочку команд.
Содержимое слова состояния канала
Содержимое CSW зависит от условия, вызвавшего занесение этого CSW в память и от того, каким способом была получена эта информация. Часть CSW, относящаяся к состояниям, всегда определяет причину, которая вызвала запоминание CSW. Поля ключа защиты, адреса команды и счета могут содержать информацию, относящуюся к последней операции, или могут быть установлены в нуль, или же первоначальное содержимое этих полей в ячейке 64 может быть оставлено без изменения.
Информация слова состояния канала
Условия, связанные с выполнением или прекращением операций в подканале, вызывают обновление всего CSW. Такое CSW может быть запомнено только при прерывании ввода-вывода или при выполнении команды ПРОВЕРИТЬ ВВОД-ВЫВОД. Кроме условий, связанных с выполнением цепочки команд и сбоями в аппаратуре, запоминание CSW может быть вызвано условием PCI, или условием КОНЕЦ РАБОТЫ КАНАЛА, или же выполнением в селекторном канале команд ОСТАНОВИТЬ ВВОД-ВЫВОД и ОСТАНОВИТЬ УСТРОЙСТВО. Содержимое CSW относится к текущим значениям соответствующих величин. хотя содержимое поля счета в случае ошибки в программе, нарушения защиты, сбоя цепочки, а также после прерывания по признаку PCI непредсказуемо.
CSW, записанное в память при выполнении цепочки команд, относится к последней операции, которую канал выполнял или пытался выполнить. Информация, относящаяся к предшествующим операциям, не сохраняется и недоступна программе.
Если какое-нибудь необычное условие вызывает подавление цепочки команд, то в CSW нет явного указания о преждевременном прекращении цепочки. CSW, связанное с прекращением операции из-за некоторого условия, возникшего в момент выдачи сигнала КОНЕЦ РАБОТЫ КАНАЛА, содержит бит КОНЕЦ РАБОТЫ КАНАЛА и описывает необычные условия. Если устройство выдает сигнал о необычном условии одновременно с сигналом КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА, то индикация КОНЕЦ РАБОТЫ КАНАЛА программе недоступна. В этом случае канал обеспечивает текущие значения ключа защиты, адреса команды и счетчика, а также индикацию необычного условия в CSW вместе с битом КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА или КОНЕЦ РАБОТЫ УСТРОЙСТВА. Содержимое полей адреса команды и счета относится к операции, которая была выполнена.
Если выполнение цепочки команд прекращается из-за необычного условия, обнаруженного во время начала новой операции цепочки, то содержимое полей адреса команды и счета относится к этой отвергнутой команде. Если не рассматривать условий, связанных со сбоем аппаратуры, то прекращение операции на начальной стадии может иметь место из-за условий ВНИМАНИЕ, СБОЙ В УСТРОЙСТВЕ, ОСОБЫЙ СЛУЧАЙ или ОШИБКА В ПРОГРАММЕ. При этом биты КОНЕЦ РАБОТЫ КАНАЛА и КОНЕЦ РАБОТЫ УСТРОЙСТВА в CSW равны нулю.
CSW, связанное с условиями, возникшими после прекращения операции в подканале, содержит нули в полях ключа защиты, адреса команды и счета, если только эти условия не сбрасываются командами НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ и нет указания на то, что не выполнена регистрация. К таким условиям относятся ВНИМАНИЕ, КОНЕЦ РАБОТЫ КОНТРОЛЛЕРА, КОНЕЦ РАБОТЫ УСТРОЙСТВА, а также КОНЕЦ РАБОТЫ КАНАЛА, когда последнее возникает при прекращении операции в селекторном канале по команде ОСТАНОВИТЬ ВВОД-ВЫВОД или ОСТАНОВИТЬ УСТРОЙСТВО.
Когда перечисленные условия, за исключением невыполненной регистрации, сбрасываются командой НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ, в память записывается только та часть CSW, которая относится к состоянию. Содержимое полей ключа защиты, адреса команды и счета в ячейке 64 остается при этом без изменения. Аналогичным образом происходит обновление только битов состояния CSW, при условии что команда не принята или операция в подканале прекращается во время выполнения команды НАЧАТЬ ВВОД-ВЫВОД или команды НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ либо запоминание байтов состояния CSW в памяти вызвано командой ОСТАНОВИТЬ ВВОД-ВЫВОД или командой ОСТАНОВИТЬ УСТРОЙСТВО.
Ошибки, обнаруженные во время выполнения операции ввода-вывода, не влияют на правильность CSW, если только это не сбой управления канала или сбой управления интерфейса. СБОЙ УПРАВЛЕНИЯ КАНАЛА указывает, что были обнаружены сбои в аппаратуре, которые могут привести к тому, что любая часть CSW, а также адрес устройства в PSW или области связи ввода-вывода окажутся неправильными. СБОЙ УПРАВЛЕНИЯ ИНТЕРФЕЙСА показывает, что адрес внешнего устройства или биты состояния, полученные от внешнего устройства, могут оказаться неправильными. Несмотря на неправильное содержимое полей CSW, канал принудительно устанавливает им правильную четность.
Если какая-нибудь команда ввода-вывода не может быть выполнена из-за условия “не выполнена регистрация”, которое влияет на работоспособность канала или подканала, то записывается полное CSW. Все поля этого CSW устанавливаются в нуль, за исключением битов НЕ ВЫПОЛНЕНА РЕГИСТРАЦИЯ и СБОЙ УПРАВЛЕНИЯ КАНАЛА.
Ключ защиты
В CSW, которое записывается в память, чтобы отразить выполнение операции в подканале, находится ключ защиты, использованный в этой операции. На содержимое поля ключа защиты не оказывают влияния ни ошибки в программированию, обнаруженные каналом, ни условия, вызывающие прекращение операции Однако ошибка в оборудовании канала может привести к искажению ключа защиты..
Адрес команды
Если CSW формируется для отражения хода операции ввода-вывода в подканале, адрес команды в CSW обычно на 8 больше адреса последней CCW, использованной в этой операции.
Подобные документы
Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.
курсовая работа [266,9 K], добавлен 24.12.2013Общая характеристика и преимущество использования двоично-десятичных чисел с плавающей точкой. Разработка цифрового автомата. Функциональное назначение выводов корпуса МК51, арифметико-логического устройства, портов. Примеры деления данных чисел.
курсовая работа [719,3 K], добавлен 12.09.2015Сущность и роль бухгалтерской отчетности. Характеристика хозяйственных операции и системы обработки данных в первичные учетные документы. Особенности логической структуры реляционной базы данных. Описание методов работы с информационной системой.
курсовая работа [1,1 M], добавлен 26.04.2015Операции, осуществляемые при реализации алгоритмов цифровой обработки сигналов. Применение процессора ADSP-2106x для операций с фиксированной и плавающей точкой. Исключения при выполнении операций с плавающей точкой, режимы и границы округления.
реферат [35,2 K], добавлен 13.11.2009Основные форматы данных и их представление. Запись чисел в формат с плавающей точкой. Вычитание чисел в формате с плавающей точкой. Регистры операндов и результата, размером формата числа с плавающей точкой, двойной точности. Поля смещённого порядка.
курсовая работа [78,9 K], добавлен 09.09.2014Проектирование блоков устройства контроля по модулю три матричного умножителя с сокращением вычислений для обработки мантисс чисел с плавающей точкой. Методика выполнения арифметических операций, порядок обработки мантисс по n-разрядным операндам.
курсовая работа [125,2 K], добавлен 24.09.2010Периоды применения средств вычислительной техники. Переход к новому поколению электронно-вычислительных машин. Системы, основанные на знаниях. Экспертные системы и искусственный интеллект. Этапы обработки данных на ЭВМ. Иерархическая структура знания.
презентация [170,6 K], добавлен 14.08.2013Общее представление о записи данных. Виды регистров и типов данных с плавающей точкой. Модель выполнения программы SIMD. Формат данных в памяти регистра с плавающей точкой. Состояние и управление потоковым разрешением. Поле управления округлением.
реферат [1,1 M], добавлен 06.01.2011Понятие машинной команды как закодированного по определенным правилам указания микропроцессору на выполнение некоторой операции или действия. Элементы машинных команд (код операции, операнд) и их виды (передачи данных, управления, арифметико-логические).
презентация [120,6 K], добавлен 14.10.2013Арифметические команды языка Assembler в архитектуре x86. Организация ветвлений и циклов в программах. Ввод строк с клавиатуры и команды пакетной обработки (строковые команды). Алгоритм вывода на экран в текстовом режиме с использованием средств BIOS.
контрольная работа [18,0 K], добавлен 05.07.2014