erate at a time (magnetic tape units and disk access
mechanisms, for example), and the control unit is
shared among a number of I/O devices. On the other
hand, in 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 per­
formed by the control unit can be merged with those
performed by the I/O device. In view of this, the con­
trol unit normally is not identified, and execution of I/O operations is described in this manual as if the I/O devices communicated directly with the channel. Ref­
erence is made to the control unit only when a func­
tion performed by it is emphasized 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 con­
necting different types of I/O devices to the CPU and
to main storage. It accepts control information 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 channel assembles or disassembles
data and synchronizes the transfer of data bytes over
the interface with main-storage cycles. To accomplish
this, the channel maintains and updates an address
and a count that describe the destination or source of
data in main storage. When an I/O device provides
signals that should be brought to the attention of the
program, the channel again converts the signals to a
format compatible to that used in the CPU. The channel contains all the 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 overlappcd with the activity
in the CPU. The only main-storage cycles rcquired
during I/O operations in such channels are those need­
ed to transfer data and control information 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 concurrently attempt to refer
to the same main storage.
Alternatively, the system may use to a greater or
lesser extent the facilities of the CIJU for controlling I/O devices. When the CPU and the channel share common
84
equipment, interference varies from delaying the CPU by occasional cycles to a complete lockout of CPU activity, depending on the extent of sharing and on the I/O data rate. The sharing of the equipment, however,
is accomplished automatically, and the program is not
aware of CPU delays, except for an increase in execu­
tion time.
Modes of Operation
Data can be transferred between main storage and an I/O device in two modes: burst and multiplex.
In burst mode, the I/O device monopolizes all chan­
nel controls and stays logically connected on the I/O interface for the transfer of a burst of information. Only one dcvice can be communicating with the
channel during the time a burst is transferred. The
burst can consist of a few bytes, a whole block of data,
or a sequence of blocks with associated control and
status information.
In multiplex mode, the facilities in the channel may
bc shared by a number of concurrent I/O operations.
The multiplex mode causes all I/O operations to be
split into short intervals of time during which only a
segment of information is transferred over the inter­
face. The intervals associated with different operations
are intermixed in response to demands from the I/O devices. The channel controls are occupied with any
one opcration 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, or a control
sequence such as initiation of a new operation or a
status report from the device.
Short bursts of data can appear in both the burst
and multiplex modes of operation. The distinction be­
tween a short burst occurring in the multiplex mode
and an operation in the burst mode is in the length of
the bursts. Whenever the burst causes the device to
be connccted to the channel for more than approxi­
mately 100 microseconds, the channel is considered to
be operating in the burst mode. Operation in burst and multiplex modcs is differ­
entiated because of the way the channels respond to
r/o instructions. A channel operating in the burst mode
appears busy to new I/O instructions, whereas a chan­
nel operating in the multiplex mode is available for
initiation of new operations. A channel that can op­
erate in both modes determines its mode of operation
by time-out. If such a channel happens to be com­
municating with an I/O device at the instant a new I/O instruction is issued, action on the instruction is
delayed until the current mode of operation is estab­
lished. New I/O operations are initiated only after the
channel has serviced all outstanding requests for data
transfer for previously initiated operations.
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
Previous Page Next Page