Types of Channels
A system can be equipped with two types of channels:
selector and multiplexor. Channels are classified ac­
cording to the modes of operation they can sustain.
The channel facilities required for sustaining a
single I/O operation are termed a subchannel. The
subchannel consists of the channel storage used for
recording the addresses, count, and any status and
control information associated with the I/O operation.
The mode in which a channel can operate depends
upon whether it has one or more subchannels.
The selector channel has only one subchannel and
operates only in the burst mode. The burst always
extend over the whole block of data, or, when com­
mand chaining is specified, over the whole sequence
of blocks. The selector channel cannot perform any
multiplexing and therefore can be involved in only
one data transfer operation at a time. In the meantime,
other I/O devices attached to the channel can execute
operations not involving communication with the
channel. When the selector channel is not executing
an operation or a chain of operations and is not proc­
essing an interruption, it scans the attached devices for
status information.
The multiplexor channel contains multiple subchan­
nels and can operate in either multiplex or burst mode.
It can switch between the two modes at any time, and
an operation on anyone sub channel can occur partial­
ly in the multiplex and partially in the burst mode.
When the multiplexor channel operates in multiplex
mode, it can sustain concurrently one J /0 operation
per subchannel, provided that the total load on the
channel does not exceed its capacity. 'To the program, each subchannel as an independent selector
channel. ''''hen the multiplexor channel is not servic­ ing an I/O device, it scans its devices for data and for
interruption conditions. ''''hen thc rnu]tiplexo1' channel operat('s in burst modC', tlw suhchannel associated vilith the ImI'st opera­
tion monopolizes all channel htc'ilitics and appears to the as a single selector channel. The remaining 5U hchanncls on the multiplexor chan­
nel must remain dormant and cannot respond to de­
vices until the burst is completed. System Operation
Input/output operations arc initiated and controlled
by information with tlUCt; typcs of formats: instruc­
tions, commands, and orders. Instructions are decoded
and executed by the CPU and arc part of the CPU pro­
gram. Commands are decoded and executed by the
channels, and initiate I/O operations, such as reading
and writing. Both instructions and commands are
fetched from main storage and are common to all
types of I/O devices.
Functions peculiar to a device, such as rewinding
tape or spacing a line on the printer, are specified by
orders. Orders are decoded and executed by I/O de­
vices. The execution of orders is initiated by a control
command, and the associated control information is
transferred to the device as data during the control
operation or is specified in the modifier bits of the
command code.
The CPU program initiates I/O operations with the
instruction START I/O. This instruction identifies the
device and causes the channel to fetch the channel
address word ( CAW) from a fixed location in main
storage. The CAW contains the protection key and
designates the location in main storage from which
the channel subsequently fetches the first channel
command word (ccw). The ccw specifies the com­
mand to be executed and the storage area, if any, to
be used.
If the channel is not operating in burst mode and if
the sub channel associated with the address I/O device
is not busy, the channel attempts to select the device
by sending the address of the device to all attached
control units. A control unit that recognizes the ad­
dress connects itself logically to the channel and re­
sponds to the selection by returning the address. The
channel subsequently sends the command code over
the interface, and the device responds with a status
byte indicating whether it can execute the command.
At this time, the execution of START I/O is termi­
nated. The results of the attempt to initiate the execu­
tion of the command are indicated by setting the
condition code in the program status word ( psw) ,
and, under certain conditions, by storing a portion of
the channel status word (csw).
If the operation is initiated at the device and its
execution involves transfer of data, the subchannel
is set up to respond to service requests from the device
and assumes further control of the operation. In the
case of operations that do not require any data to be
transferred to or from the device, the device may
signal the end of the operation immediately on receipt
of the command code.
An I/O operation may involve transfer of data to
one storage area, designated by a single ccw, or, when
data chaining is specified, to a number of noncon­
tiguous storage areas. In the latter case, a chain of
ccw's is used, in which each ccw designates an area
in main storage for the original operation. The pro­
gram can be notified of the progress of chaining by
specifying that the channel interrupt the program
upon fetching a new ccw. Input/Output Operations 85
Termination of the I/O operation normally is indi­
cated by two conditions: channel end and device end.
The channel-end condition indicates that the I/O de­
vice has received or provided all information associ­
ated with the operation and no longer needs channel
facilities. The device-end signal indicates that the I/O device has terminated execution of the operation.
The device-end condition can occur concurrently with
the channel-end condition or later. Operations that tie up the control unit after releasing
channel facilities may, under certain conditions, cause
a third type of signal. This signal, called control unit
end, may occur only after channel end and indicates
that the control unit is available for initiation of an­
other operation.
The conditions signaling the termination of an I/O operation can be brought to the attention of the pro­
gram by I/O interruptions or, when the channel is
masked, by programmed interrogation of the I/O de­
vice. In either case, these conditions cause storing the
csw, which contains additional information concern­
ing the execution of the operation. At the time the
channel-end condition is generated, the channel pro­
vides an address and a count that indicate the extent
of main storage used. Both the channel and the device
can provide indications of unusual conditions. The
device-end and control-unit-end conditions can be ac­
companied by error indications from the device.
Facilities are provided for the program to initiate
execution of a chain of commands with a single START I/O. When command chaining is specified, the receipt
of the device-end signal causes the channel to fetch
a new ccw and to initiate a new command at the
device. A chained command is initiated by mcans of
the same sequence of signals over the I/O interface as
the first command specified by START I/O. The condi­
tions signaling the termination of an operation are
not made available to the program when command
chaining occurs.
Conditions that initiate I/O interruptions are asyn­
chronous to the activity in the CPU, and more than one
condition can occur at the same time. The channel and
the CPU establish priority among the conditions so that
only one interruption request is processed at a time.
The conditions are preserved in the I/O devices and
subchannels until accepted by the CPU. Execution of an I/O operation or chain of operations
thus involves up to four levels of participation. Except
for the effects of shared equipment, the CPU is tied up
for the duration of execution of START I/O, which
86
lasts at most until the addressed I/O device responds
to the first command. The subchannel is busy with the
execution from the time the operation is initiated at
the I/O device until the channel-end condition for the
last operation of the command chain is accepted by
thc CPU. The control unit may remain busy after the
subchannel has been released and may generate the
control-unit-end condition when it becomes free. Final­
ly, the I/O device is busy from the initiation of the
first command until the device-end condition associ­
ated with the last operation is cleared. A pending
device-end condition causes the associated device to
appear busy, but does not affect the state of any other
part of the system. A pending control unit end blocks
communications through the control unit to any device
attached to it, while a pending channel end normally
blocks all communications through the subchannel. Compatibility of Operation
The organization of the I/O system provides for a uni­
form method of controlling I/O operations. The capac­
ity of a channel, however, depends on its use and on
the model to which it belongs. Channels are provided
with different data-transfer capabilities, and an I/O device designed to transfer data only at a specific rate
(a magnetic tape unit or a disk storage for example)
can operate only on a channel that can accommodate
at least this data rate.
The data rate a channel can accommodate depends
also on the way the I/O operation is programmed. The
channel can sustain its highest data rate when no data
chaining is specified. Data chaining reduces the maxi­
mum allowable rate, and the extent of the reduction
depcnds on the frequency at which new ccw's are
fetched and on the address resolution of the first byte
in the new area. Furthermore, since the channel may
share main storage with the CPU and other channels,
activity in the rest of the system affects the accessi­
bility of main storage and, hence, the instantaneous
load the channel can sustain.
In view of the dependence of channel capacity on
programming and on activity in the rest of the system,
an evaluation of the ability of a specific I/O configu­
ration to function concurrently must be based on a
consideration of both the data rate and the way the I/O operations are programmed. Two systems employ­
ing identical complements of I/O devices may be able
to executc certain programs in common, but it is pos­
sible that other programs requiring, for example, data
chaining, may not run on one of the systems.
Previous Page Next Page