Transfer of information to and from main storage,
other than to or from the central processing unit or via
the direct control path, is referred to as input and out­
put operation. An inputloutput (1/0) operation in­
volves the use of an inputloutput device. Input! out­
put devices perform 110 operations under control of
control units, which are attached to the central proc­
essing unit (cpu) by means of channels.
This portion of the manual describes, from the pro­
gramming point of view, the control of 110 devices by
the channels and the CPU. The programmed control
procedures apply to all 1/0 operations and are inde­
pendent of the type of 110 device, its speed, or its
mode of op·eration. Attachment of Input/Output Devices Input / Output Devices
Input! output devices provide external storage and a
means of communication between data processing
systems or between a system and the external world.
Input! output devices include such equipment as card
read-punches, magnetic tape units, direct-access-stor­
age devices (disk or drum), typewriter-keyboard de­
vices, printers, TELE-PROCESSING devices, and process
control equipment.
Most types of 110 devices, such as printers, card
equipment, or tape devices, deal directly with external
documents, and these devices are physically distin­
guishable and identifiable. Other types consist only of
electronic equipment and do not directly handle
physical recording media. The channel-to-channel
adapter, for example, provides a channel-to-channel
data transfer path, and the data never reach a physical
recording medium outside main storage; the IBM 2702
Transmission Control handles transmission of informa­
tion between the data processing system and a remote
station, and its input and output are signals on a
transmission line. Furthermore, the equipment in this
case may be time-shared for a number of concurrent
operations, and it is denoted as a particular 110 device
only during the time period associated with the opera­
tion on the corresponding remote station.
Input! output devices may be accessible from one or
more channels. Devices accessible from one channel
normally are attached to one control unit only. A
device can be made accessible to two or more chan­
nels by switching it between two or more control units, Input / Output Operations
each attached to a different channel, or by switching
the control unit between two or more channels. Control Units
The control unit provides the logical capability neces­
sary to operate and control an 110 device and adapts
the characteristics of cach device to the standard form
of control provided by the channel.
All communications betwccn the control unit and
the channel take place over the 110 interface. The
control unit accepts control signals from the channel,
controls the timing of data transfer over the 110 inter­
face, and provides indications concerning thc status
of the device.
The 110 interface provides an information format
and a signal sequence common to all 1/0 devices. The
interface consists of a set of lines that can connect a
number of control units to the channel. Except for the
signal used to establish priority among control units,
all communications to and from the channel occur
over a common bus, and any signal provided by the
channel is available to all control units. At anyone
instant, however, only one control unit is logically
connected to the channel. Thc selection of a control
unit for communication with the channel is controlled
by a signal that passes serially through all control units
and permits, sequentially, each control unit to respond
to the signals provided by the channel. A control unit
remains logically connected on the interface until it
has transferred the information it needs or has, or until
the channel signals it to disconnect, whichever occurs
earlier.
The 110 device attached to the control unit may be
designed to perform only certain limited 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 com­
mands 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 110 de­
vice. In the case of most electromechanical devices, a
well-defined interface exists betwecn 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 is rcquired to op- Input/Output Operations 83
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.
Previous Page Next Page