ing devices between control units and control units
between channels. The time required for switching
occurs during device selection time and may be ig­
nored.
Control Units
A control unit provides the logical capabilities neces­
sary to operate and control an I/O device, and
adapts the characteristics of each device to the
standard form of control provided by the channel.
In most configurations, communication between
the control unit and the channel takes place over the I/O interface. The control unit accepts control sig­
nals from the channel, controls the timing of data
transfer over the I/O interface, and provides indica­
tions concerning the status of the device.
The I/O device attached to the control unit may
be designed to perform only certain limited opera­
tions, or it may perform many different operations.
A typical operation is moving the recording medium
and recording data. To accomplish these functions,
the device needs detailed signal sequences peculiar
to the type of device. The control unit decodes the
commands received from the channel, interprets
them for the particular type of device, and provides
the signal sequence required for execution of the
operation.
A control unit may be housed separately, or it
may be physically and logically integral with the I/O device or the CPU. In the case of most electrome­
chanical devices, a well-defined interface exists be­
tween the device and the control unit because of the
difference in the type of equipment the control unit
and the device contain. These electromechanical
devices often are of a type where only one device of
a group attached to a control unit is required to op­
erate at a time (magnetic tape units or disk-access
mechanisms, for example), and the control unit is
shared among a number of I/O devices. On the oth­
er hand, in some electronic I/O devices such as the
channel-to-channel adapter, the control unit does
not have an identity of its own.
From the user's point of view, most functions
performed by the control unit can be merged with
those performed by the I/O device. Therefore, this
manual normally does not make specific mention of
the control unit function; the execution of I/O oper­
ations is described as if the I/O devices communi­
cated directly with the channel. Reference is made to
the control unit only when emphasizing a function
performed by it or when sharing of the control unit
among a number of devices affects the execution of I/O operations.
Channels
The channel directs the flow of information between I/O devices and main storage. It relieves the CPU of
the task of communicating directly with the devices
and permits data processing to proceed concurrently
with I/O operations.
The channel provides a standard interface for
connecting different types of I/O devices to the CPU and to main storage. It accepts control infor­
mation from the CPU in the format supplied by the
program and changes it into a sequence of signals
acceptable to a control unit. After the operation with
the device has been initiated, the CPU is released for
other work, and the channel assembles or disassem­
bles data and synchronizes the transfer of data bytes
over the interface with main-storage cycles. To ac­
complish this, the channel maintains and updates an
address and a count that describe the destination or
source of data in main storage. Similarly, when an I/O device provides signals that should be brought
to the attention of the program, the channel trans­
forms the signals to information that can be used in
the CPU. The channel contains common facilities for the
control of I/O operations. When these facilities are
provided in the form of separate autonomous equip­
ment designed specifically to control I/O devices, I/O operations are completely overlapped with the
activity in the CPU. The only main-storage cycles
required during I/O operations in such channels are
those needed to transfer data and control informa­
tion to or from the final locations in main storage.
These cycles do not interfere with the CPU program,
except when both the CPU and the channel concur­
rently attempt to refer to the same main storage.
Alternatively, the system may use the facilities of
the CPU for controlling I/O devices. When the CPU and the channel, or the CPU, channel, and control
unit, share common facilities, I/O operations cause
interference to the CPU, varying in intensity from
occasional delay of a CPU cycle to a complete lock­
out of CPU activity. The intensity depends on the
extent of sharing and on the I/O data rate. The
sharing of the facilities, however, is accomplished
automatically, and the program is not affected by CPU delays, except for an increase in execution
time.
Modes of Operation
An I/O operation occurs in one of two modes: burst
or byte interleave.
In burst mode, the I/O device monopolizes the I/O interface and channel and stays logically con­
nected to the channel for the transfer of a burst of
information. No other device can communieate over
Input/Output Operations 187
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
Previous Page Next Page