Cтраница 1
Цепочка команд всегда относится к данным, которые находятся в отдельных блоках данных, и не может относиться к различным частям одного и того же блока на внешнем носителе. В этих случаях канал получает от ВУ байт состояния и анализирует его содержание. [1]
![]() |
Последовательность сигналов Отключение от интерфейса.| Последовательность сигналов Селективный сброса. [2] |
Цепочка команд, отменяет условие Цепочка команд в УВУ. Указатели байта состояния СБОЙ В УСТРОЙСТВЕ, ОСОБЫЙ СЛУЧАЙ, ВУ КОНЧИЛО, ВНИМАНИЕ прерывают выполнение цепочки команд в канале. [3]
Цепочка команд была введена рьнее как средство, обеспечивающее последовательное выполнение команд канала CCW под управлением самого канала ввода-вывода без вмешательства CPU. При программировании ввода-вывода в случае работы с памятью на магнитной ленте или на перфокартах цепочка команд является исключением и применяется лишь в особых случаях. При работе с дисками практически каждая последовательность операций ввода-вывода использует цепочку команд. [4]
Цепочка команд имеет место, и новая операция начинается только в том случае, если во время выполнения текущей операции не было обнаружено никаких необычных условий. Канал начинает новую операцию по цепочке команд, если он получит байт состояния, содержащий следующие комбинации битов: конец работы устройства; конец работы устройства и модификатор состояния; конец работы устройства и конец работы канала; конец работы устройства, конец работы канала и модификатор состояния. Если был выработан один из таких сигналов, как внимание, сбой в устройстве, особый случай в устройстве, неправильная длина, ошибка в программе или нарушение защиты, то выполнение последовательности операций прекращается, и состояние, связанное с текущей операцией, вызывает формирование условия прерывания. В этом случае новая CCW не выбирается. Если в текущей CCW флажок SLI равен 1, то наличие условия неправильной длины не приводит к подавлению цепочки команд. [5]
Цепочка команд позволяет программе начать передачу нескольких блоков данных с помощью одной команды НАЧАТЬ ВВОД-ВЫВОД или НАЧАТЬ ВВОД-ВЫВОД С БЫСТРЫМ ОТКЛЮЧЕНИЕМ. Она также позволяет подканалу настраиваться на выполнение вспомогательных операций, таких, например, как установка механизма доступа на магнитных дисках, а также на организацию передачи данных без вмешательства программы в конце каждой операции. Цепочка команд совместно с индикацией модификатор состояния позволяет каналу изменять нормальную последовательность команд в соответствии с сигналами, полученными от ВУ. [6]
Эта цепочка команд позволяет 20 раз выполнить некоторую процедуру, если в исходном состоянии в клетку F1 записать нуль. [7]
Признак цепочки команд, записанный в разрядах признаков, передает дальнейшее выполнение программы команде КСК-2. Если бы признаков цепочки в команде КСК-1 не было, то следующей должна была бы выполняться управляющая команда процессора. Признак цепочки команд используется для продолжения выполнения канальной программы без обращения к процессору. [8]
В цепочке команд канала признак блокировки у разных команд может принимать различные значения. [9]
В цепочках исполняемых команд выделяются команды работы с портами, команды передачи управления, команды пересылки данных. [10]
В случае цепочки команд новая CCW, выбранная каналом, определяет новую операцию ввода-вывода. Канал выбирает новую CCW и начинает новую операцию только после получения сигнала конец работы устройства для текущей операции. Если имеет место цепочка команд, завершение текущей операции не вызывает прерывания ввода-вывода, а счетчик, указывающий количество данных, переданных г текущей операции, не доступен для программы. Для операций, включающих передачу данных, новая команда всегда относится к новому блоку данных в устройстве. [11]
Если выполнение цепочки команд прекращается из-за необычного условия, обнаруженного во время начала новой операции цепочки, то содержимое полей адреса команды и счета относится к этой отвергнутой команде. Если не рассматривать условий, связанных со сбоем аппаратуры, то прекращение операции на начальной стадии может иметь место из-за условий внимание, сбой в устройстве, особый случай или ошибка в программе. [12]
Далее обычно следует цепочка команд, обеспечивающих опроо флагов всех устройств, которые могли вызвать прерывание, с выходом на соответствующие программы обслуживания. [13]
Если используется и цепочка команд, и цепочка данных, то первая CCW определяет, какая операция будет выполняться, а последняя CCW указывает, будет ли выполняться другая операция. [14]
Если имеет место цепочка команд, подканал находится в состоянии работает с момента начала первой операции и до того, как ВУ выдаст условие конец работы канала для последней операции цепочки. В селекторном канале устройство, выполняющее операцию, остается логически связанным с каналом, и канал находится в состоянии работает в течение всего времени выполнения цепочки операций. В мультиплексном канале при выполнении операции в монопольном режиме канал находится в состоянии работает только во время передачи группы данных. Если условия конец работы канала и конец работы устройства выдаются не одновременно, устройство отключается от канала после выдачи сигнала конец работы канала, и канал в этот момент может подключить другое устройство на интерфейсе. [15]