Cтраница 2
![]() |
Состояние компонентов СВ6. [16] |
Состояние СВВ регистрируется в слове состояния канала ( ССК), отдельные поля которого характеризуют состояние компонентов СВВ ( канала, КВВ, ПУ), а также причины прерывания команды или операции ввода-вывода. Эта информация формируется в регистрах соответствующих компонентов СВВ. Формат ССК стандартизирован, что упрощает анализ программными средствами состояния СВВ. [17]
Причина прекращения операции указывается в слове состояния канала, значения разрядов которого следующие: 0 - й разряд - нормальное окончание операции по счетчику; 1 - й разряд - получен сигнал КОП-Т от ПУ; 2 - й разряд - получен сигнал ОШ-Т от ПУ; 3 - й разряд - ошибка по паритету данных при операции; 4 - й, 5 - й, 7 - й разряд - не используются ( нули); 6 - й разряд - ошибка по паритету при чтении из ПЗУ. [18]
Когда ни один из флагов в слове состояния канала не установлен, в БУД устанавливаются флаги успешного окончания операции ввода-вывода в байте 35, очищаются флаги в заголовке Очереди канала, вход вычеркивается из Очереди. [19]
В случае установки кода условия СС 1 слово состояния канала CSW заносится в основную память по адресу 000040ю, а байты состояния в устройствах сбрасываются вместе с необработанным сигналом прерывания. [20]
Дополнительная информация о причине прерывания находится в слове состояния канала CSW ( его описание приведено в гл. [21]
Формат ССК приведен на рис. 13.4. Первая часть слова состояния канала содержит фактически АСК, указывающее адрес последнего из выполненных каналом УСК. Далее располагаются байты состояния адресуемого внешнего устройства ( ВУ) и соответствующего подканала ( канала), а также остаточный счет данных. Остаточный счет данных показывает, сколько еще байт данных не передано при реализации последнего УСК. [22]
О - з Ключ защиты памяти, он переносится в слово состояния канала CSW из адресного слова канала CAW. В операциях обмена ключ из CSW сравнивается с ключом защиты основной памяти, участвующей в обмене. [23]
При прерывании формируется и запоминается в ОП по адресу 00004016 слово состояния канала CSW, в текущем PSW в битах 16 - 31 запоминается адрес канала и ВУ. После этого текущее PSW запоминается в ОП по адресу старого PSW для прерываний по вводу-выводу ( 000038i6), а в регистр PSW из ячейки 000070ie загружается новое PSW для прерываний ввода-вывода. [24]
Обработка прерываний ввода-вывода заключается в анализе информации, помещенной в слове состояния канала ( CSW), формируемом аппаратурно в момент прерывания ввода-вывода. В этом слове отражена причина прерывания и состояние внешнего оборудования - г - канала, устройства управления УВВ или ВЗУ, внешнего устройства. При появлении одного из сигналов КАНАЛ КОНЧИЛ, УУ КОНЧИЛО или УВВ КОНЧИЛО, если он не сопровождается установкой в слове CSW битов, указывающих на наличие сбойной ситуации, СУПЕРВИЗОР фиксирует завершение операции ввода-вывода и исключает из очереди запрос на эту операцию. Затем осуществляется переход к удовлетворению следующего запроса. Если же операция ввода-вывода не смогла нормально завершиться из-за наличия сбоя, управление передается подпрограмме обработки сбоев. Прерывание, вызванное сигналом ВНИМАНИЕ, обрабатывается лишь в случае, если этот сигнал поступил с пультовой пишущей машинки. Обработка такого прерывания сводится к установлению связи оператора с подпрограммой СУПЕРВИЗОРА, которая предназначена для приема и обработки директив оператора. Првграммно-управляемые прерывания используются программами, организующими работу с устройствами телеобработки. [25]
Команда ОПРОСИТЬ ВВОД-ВЫВОД вырабатывает признак результата, а при определенных условиях - слово состояния канала в зависимости от состояния адресуемого канала и ВУ. В результате выполнения команды признаку результата присваиваются следующие значения: 0 - канал и ВУ доступны для выполнения операций; 1 - записано слово состояния канала; 2 - канал или ВУ заняты; 3 - канал или ВУ выключены. Выработка признака результата позволяет программе с помощью команд условного перехода соответствующим образом реагировать на состояние средств ввода-вывода. Признак результата содержит в себе лаконичную информацию. В особых ситуациях, возникающих при вводе-выводе, команда порождает слово состояния канала ( ССК), которое содержит подробную информацию о ситуации. [26]
При прерываниях ввода-вывода в область памяти с адресом 64 заносится дополнительная информация - слово состояния канала ( CSW); более подробную информацию может дать ограниченная регистрация состояния канала в области с адресом 176 и расширенная регистрация ввода-вывода. [27]
Команда RBC ( Чтение состояния канала) позволяет в любой момент времени прочитать слово состояния канала ( SW), т.е. содержимое регистра RS, а также выполнить защелку одного или нескольких каналов одновременно. [28]
Особые случаи ( например, запись не найдена) фиксируются в CSW ( слове состояния канала), которое заносится в память при прерывании от ввода-вывода. [29]
Если канал выдал прерывание по ситуации КАНАЛ КОНЧИЛ до завершения работы ВУ, то в слове состояния канала находится БСУ с единственным ненулевым разрядом. Если прерывание было выдано по поводу совместной ситуации КАНАЛ КОНЧИЛ И ВУ КОНЧИЛО, то в байте состояния устройства должны присутствовать ненулевые разряды. [30]