and the function is performed over the I/O interface
as an immediate operation (see "Immediate Opera­ tions" ). If the command code does not specify the
entire control function, the data-address field of the
ccw designates the required additional information for
the operation. This control information may include
an order code further specifying the operation to be
performed or an address, such as the disk address for
the seek function, and is transferred in response to re­
quests by the device.
A control command code containing zeros for the
six modifier bits is defined as no operation. The no­
operation order causes the addressed device to respond
with channel end and device end without causing any
action at the device. The order can be executed as an
immediate operation, or the device can delay the
status until after the initiation sequence is completed. Other operations that can be initiated by means of the
control command depend on the type of I/O device.
These operations and their codes are specified in the SRL publication for the device.
A ccw used in a control operation is inspected for
the CD, CC, SLI, and the PCI Rags. The setting of the
skip Rag is ignored. Bit positions 0-5 of the ccw con­
tain bits.
Programming Note Since a count of zero is invalid, the program cannot
use the ccw count field to specify that no data be trans­
ferred to the I/O device. Any operation terminated
before data have been transferred causes the incorrcct­
length indication, provided the operation is not im­
mediate and has not been rejected during the initia­
tion sequence. The incorrect-length indication is sup­
pressed when the SLI Rag is on.
A sense operation is initiated at the I/O device, and
the subchannel is set up to transfer data from the de­
vice to main storage. The data are placed in storage
in an ascending order of addresses, starting with the
address specified in the ccw.
Data transferred during a sense operation provide
information concerning both unusual conditions de­
tected in the last operation and the status of the de­
vice. The status information provided by the sense
command is more detailed than that supplied by the
unit-status byte and may describe reasons for the unit­
check indication. It may also indicate, for example, if
the device is in the not-ready state, if the tape unit is
in the file-protected state, or if magnetic tape is posi­
tioned beyond the end-of-tape mark.
For most devices, the first six bits of the sense data
describe conditions detected during the last opera-
tion. These bits are common to all devices having this
type of information and are designated as follows:
o Command reject
1 Intervention required
2 Bus-out check
3 Equipment check
4 Data check
5 Overrun The following is the meaning of the first six bits:
Command Reject: The device has detected a gramming error. A command has been received which
the device is not designed to execute, such as read is­
sued to a printer, or which the device cannot execute
bccause of its present state, such as backspace issued
to a tape unit with the tape at load point.
Intervention Required: The last operation could not
be executed because of a condition requiring some
type of intervention at the device. This bit indicates
conditions such as an empty hopper in a card punch
or the printer being out of paper. It is also turned on
when the addressed device is in the not-ready state, is
in test mode, or is not provided on the control unit.
Bus-Out Check: The device or the control unit has
received a data byte or a command code with an in­
valid parity over the I/O interface. During writing,
bus-out check indicates that incorrect data have been
recorded at the device, but the condition does not
cause the operation to be terminated prematurely.
Errors on command codes and control information
cause the operation to be immediately terminated.
Equipment Check: During the last operation, the
device or the control unit has detected equipment mal­
functioning, such as an invalid card hole count or
printer buffer parity error.
Data Check: The device or the control unit has de­
tected a data error other than those included in bus­
out check. Data check identifies errors associated with
thc recording medium and includes conditions such as
reading an invalid card code or detecting invalid par­
it yon data recorded on magnetic tape. On an input operation, data check indicates that
incorrect data may have been placed in main storage.
The control unit forces correct parity on data sent to
the channel. On writing, this condition indicates that
incorrect data may have been recorded at the device.
Data errors on reading and writing do not cause the
operation to be terminated prematurely.
Overrun: The channel has failed to respond on time
to a request for service from the device. Overrun can
occur when data are transferred to or from a non­
buffered control unit operating with a synchronous
medium, and the total activity initiated by the program
exceeds the capability of the channel. When the chan-
nel fails to accept a byte on an input operation, the
following data in main storage are shifted to fill the
gap. On an output operation, overrun indicates that
data recorded at the device may be invalid. The over­
run bit is also turned on when the device receives the
new command too late during command chaining.
All information significant to the use of the device
normally is provided in the first two bytes. Any bit
positions following those used for programming in­
formation contain diagnostic information, which may
extend to as many bytes as needed. The amount and
the meaning of the status information are peculiar to
the type of I/O device and are specified in the SRL publication for the device.
The sense information pertaining to the last I/O op­
eration is reset by the next command, other than
sense, addressed to the control unit. The sense com­
mand cannot cause the command-reject, intervention­
required, data-check, or overrun bits to be turned on.
If the control unit detects an equipment error or in­
valid parity of the sense command code, the equip­
ment-check or bus-out-check bits are turned on, and
unit check is sent with the channel end.
A ccw used in a sense operation is inspected for
everyone of the five flags -CD, CC, SLI, skip, and PCI. Bit positions 0-3 of the ccw contain modifier bits.
Transfer In Channel
The next ccw is fetched from the location designated
by the data-address field of the ccw specifying trans-
fer in channel. The transfer-in-channel command does
not initiate any I/O operation at the channel, and the I/O device is not signaled of the execution of the com­
mand. The purpose of the transfer in channel com­
mand is to provide chaining between ccw's not lo­
cated in adjacent double-word locations in an ascend­
ing order of addresses. The command can occur in
both data and command chaining.
The first ccw designated by the CAW may not specify
transfer in channel. When this restriction is violated,
no I/O operation is initiated, and the program-check
condition is generated. The error causes the status por­
tion of the csw with the program-check indication to
be stored during the execution of START I/O. To address a ccw on integral boundaries for double
words, a ccw specifying transfer in channel must con­
tain zeros in bit positions 29-31. Furthermore, a ccw
specifying a transfer in channel may not be fetched
from a location designated by an immediately preced­
ing transfer in channel. When either of these errors is
detected or when an invalid address is specified in
transfer in channel, the program-check condition is
generated. Detection of these errors during data chain­
ing causes the operation at the I/O device to be ter­
minated, whereas during command chaining they
cause an interruption condition to be generated.
The contents of the second half of the ccw, bit po­
sitions 32-63, are ignored. Similarly, the contents of bit
positions 0-3 of the ccw are ignored.
Input/Output Operations 103
Previous Page Next Page