the interface during the time a burst is transferred.
The burst can consist of a few bytes, a whole block
of data, a sequence of blocks with associated control
and status information (the block lengths may be
zero), or a channel status condition which monopol­
izes the channel.
Some channels can tolerate an absence of data
transfe(during a burst-mode operation, such as oc­
curs when reading a long gap on tape, for not more
than approximately one-half minute. Equipment
malfunction may be indicated when an absence of
data transfer exceeds this time.
In byte-interleave mode, the facilities in the chan­
nel may be shared by a number of concurrently op­
erating I/O devices. In this mode all I/O operations
are split into short intervals of time during which
only a segment of information is transferred over the
interface. During such an interval, only one device is
logically connected to the channel. The intervals
associated with the concurrent operation of multiple I/O devices are sequenced in response to demands
from the devices. The channel controls are occupied
with anyone operation only for the time required to
transfer a segment of information. The segment can
consist of a single byte of data, a few bytes of data,
a status report from the device, or a control se­
quence used for initiation of a new operation.
A short burst of data can be handled in either or burst mode. The distinction be­
tween a short burst occurring in the byte-interleave
mode and an operation in the burst mode is in the
length of the bursts. A channel that can operate in
either mode determines its mode of operation by
"time-out." Whenever the burst causes the device to
be connected to the channel for more than approxi­
mately 1 00 microseconds, the channel is considered
to be operating in the burst mode. Ordinarily, devices with a high data transfer rate
operate with the channel in burst mode, and slower
devices run in byte-interleave mode. Some control
units have a manual switch for setting the mode of
operation. Operation in burst and byte-interleave modes is
differentiated because of the way the channels re­
spond to I/O instructions. A channel operating a
device in the burst mode appears busy to new I/O instructions, whereas a channel operating one or
more devices in the byte-interleave mode is available
for initiating an operation on another device. If a
channel that can operate in either mode happens to
be communicating with an I/O device at the instant
a new I/O instruction is issued, action on the in­
struction is delayed by the channel until the eurrent
mode of operation is established by time-out. A new I/O operation is initiated only after the channel has
188 System/370 Principles of Operation
serviced all outstanding requests for data transfer
from devices previously placed in operation.
Types of Channels
A system can be equipped with three types of chan­
nels: selector, byte-multiplexer, and block­
multiplexer. Channels are classified according to
their capability for multiplexing and to the modes of
operation they can sustain. A byte-multiplexer chan­
nel can operate either in byte-interleave mode or in
burst mode, depending on the device. A selector
channel operates only in burst mode and allows no
multiplexing. A block-multiplexer channel operates
only in burst mode and can allow multiplexing be­
tween blocks.
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 opera­
tion. The capability of a channel to permit multiplex­
ing depends upon whether it has more than one sub­
channel.
The selector channel has one subchannel and
always forces the I/O device to transfer data in the
burst mode. The burst extends over the whole block
of data, or, when command chaining is specified,
over the whole sequence of blocks. The selector
channel cannot perform any multiplexing and there­
fore can be involved in only one data-transfer opera­
tion at a time. In the meantime, other I/O devices
attached to the channel can be executing previously
initiated operations that do not involve communica­
tion with the channel, such as backspacing tape.
When the selector channel is not executing an opera­
tion or a chain of operations and is not processing an
interruption, it monitors the attached devices for
status information.
The byte-multiplexer channel contains multiple
subchannels and can operate in either byte­
interleave or burst mode. In byte-interleave mode,
more than one device may operate concurrently,
each on a separate subchannel. In burst mode, only
one device on the channel may be transferring data.
The mode of operation is determined by the I/O device, and the mode can change at any time. The
data transfer associated with an operation can occur
partially in the byte-interleave mode and partially in
the burst mode.
The block-multiplexer channel has mUltiple sub­
channels and always forces the I/O device to trans­
fer data in burst mode. When multiplexing is al­
lowed on the block-multiplexer channel, the burst is
forced to extend only over the block of data. Multi­
plexing is permitted between blocks of data when
command chaining is specified or when command
retry is performed. Whether or not multiplexing oc­
curs between blocks depends on the state of the
block-multiplexing control bit, the design of the I/O device, and, on some models, whether the subchan­
nel is shared or nonshared.
The mUltiplexing capability of a block-multiplexer
channel is under control of the block multiplexing
control bit, bit 0 of control register O. When this bit
is zero, multiplexing is inhibited, and when it is one,
multiplexing is allowed.
Whether a block-multiplexer channel executes an I/O operation with multiplexing inhibited or allowed
is determined by the state of the block multiplexing
control bit at the time the operation is initiated by
ST ART I/O or START I/O FAST RELEASE and
applies to that operation until the involved sub chan­
nel becomes available.
Both byte-multiplexer and block-multiplexer
channels vary in the number of subchannels they
contain. When multiplexing, they can sustain concur­
rently one I/O operation per subchannel, provided
that the total load on the channel does not exceed its
capacity. Each subchannel appears to the program as
an independent selector channel, except in those
aspects of communication that pertain to the physi­
cal channel (for example, individual subchannels on
a multiplexer channel are not distinguished as such
by the TEST CHANNEL instruction or by the
masks controlling I/O interruptions from the chan­
nel). When a multiplexer channel is not servicing an I/O device, it monitors its devices for data and for
interruption conditions.
When a multiplexer channel is transferring data in
burst mode, the sub channel associated with the burst
operation monopolizes the data-transfer facilities of
the channel. Other subchannels on the multiplexer
channel cannot respond to requests from devices
until the burst is completed.
Subchannels on a multiplexer channel may be
either nonshared or shared.
A sub channel is referred to as nonshared if it is
associated and can be used only with a single I/O device. A nonshared sub channel is used with devices
that do not have any restrictions on the concurrency
of channel program operations, such as the IBM
3211 Printer Modell or one drive of a 3330 Disk
Storage.
A subchannel is referred to as shared if data
transfer to or from a set of devices implies the use of
the same subchannel. Only one device associated
with a shared subchannel may be involved in data
transmission at a time. Shared subchannels are used
with devices, such as magnetic tape units or some
disk-access mechanisms, that share a control unit.
For such devices, the sharing of the subchannel does
not restrict the concurrency of I/O operations since
the control unit permits only one device to be in­
volved in a data-transfer operation at a time. I/O devices may share a control unit without necessarily
sharing a sub channel. For example, each transmis­
sion line attached to the IBM 2702 Transmission
Control is assigned a nonshared subchannel, al­
though all of the transmission lines share the com­
mon control unit.
Programming Note
A block-multiplexer channel can be made to operate
as a selector channel by the appropriate setting of
the block multiplexing control bit. However, since a
block-multiplexer channel inherently can interleave
the execution of multiple I/O operations and since
the state of the block multiplexing control bit can be
changed at any time, it is possible to have one or
more operations that permit multiplexing and an
operation that inhibits multiplexing being executed
simultaneously by a channel.
Therefore, to ensure complete compatibility with
selector channel operation, all operational sub chan­
nels on the block-multiplexer channel must be avail­
able or operating with multiplexing inhibited when
the use of that channel as a selector channel is be­
gun. All subsequent operations should then be initi­
ated with the block multiplexing control bit inhibit­
ing mUltiplexing.
System Operation
Input/ output operations are initiated and controlled
by information with three types of formats: instruc­
tions, channel command words (CCWs), and orders.
Instructions are decoded by the CPU and are part of
the CPU program. CCWs are decoded and executed
by the channels and I/O devices, and initiate I/O operations, such as reading and writing. One or more
CCWs arranged for sequential execution form a
channel program. Both instructions and CCWs are
fetched from main storage and their formats are
common for all types of I/O devices, although the
modifier bits in the command code of a CCW may
specify device-dependent conditions for the execu­
tion of an operation at the device.
Functions peculiar to a device, such as rewinding
tape or positioning the access mechanism on a disk
drive, are specified by orders. Orders are decoded
and executed by I/O devices. The control informa­
tion specifying an order may appear in the modifier
bits of a control-CCW command code, may be trans­
ferred to the device as data during a control or write
operation, or may be made available to the device by
other means.
Input/Output Operations 189
Previous Page Next Page