Programming Note
Command chaining makes it possible for the program
to initiate transfer of multiple blocks of data by means
of a single START I/O. It also permits a sub channel to
be set up for execution of auxiliary functions, such as
positioning the disk access mechanism, and for data
transfer operations without interference by the pro­
gram at the end of each operation. Command chain­
ing, in conjunction with the status-modifier condition,
permits the channel to modify the normal sequence of
operations in response to signals provided by the I/O device.
Skipping
Skipping is the suppression of main-storage references
during an I/O operation. It is defined only for read,
read backward, and sense operations and is controlled
by the skip Bag, which can be specified individually
for each ccw. When the skip Hag is one, skipping oc­
curs; when zero, normal operation takes place. The
setting of the skip flag is ignored in all other oper­
ations.
Skipping affects only the handling of information
by the channel. The operation at the I/O device pro­
ceeds normally, and information is transferred to the
channel. The channel keeps updating the count but
does not place the information in main storage. If the
chain-command or chain-data flag is one, a new ccw
is obtained when the count reaches zero. In the case
of data chaining, normal operation is resumed if the
skip Hag in the new ccw is zero.
No checking for invalid or protected data addresses
takes place during skipping, except that the initial
data address in the ccw cannot exceed the addressing
capacity of the model.
Programming Note
Skipping, when combined with data chaining, permits
the program to place in main storage selected portions
of a block of information from an I/O device. Program-Controlled Interruption
The program-controlled interruption ( PCI) function
permits the program to cause an I/O interruption dur­
ing execution of an I/O operation. The function is con­
trolled by the PCI flag in the ccw. The flag can be on
either in the first ccw specified by START I/O or in a
ccw fetched during chaining. Neither the PCI Hag nor
the associated interruption affects the execution of the
current operation.
Whenever the PCI Hag in the ccw is on, the channel
attempts to interrupt the program. When the first ccw
associated with an operation contains the PCI Bag, 100 either initially or upon command chaining, the inter­
ruption may occur as early as immediately upon the
initiation of the operation. The PCI flag in a ccw
fetched on data chaining causes the interruption to
occur after all data designated by the preceding ccw
have been transferred. The time of the interruption,
however, depends on the model and the current ac­
tivity in the system and may be delayed even if the
channel is not masked. No predictable relation exists
between the time the interruption due to the PCI Hag
occurs and the progress of data transfer to or from the
area designated by the ccw.
If chaining occurs before the interruption due to
the PCI flag has taken place, the PCI condition is car­
ried over to the new ccw. This carryover occurs both
on data and command chaining and, in either case,
the condition is propagated through the transfer-in­
channel command. The PCI conditions are not stacked;
that is, if another ccw is fetched with a PCI Bag before
the interruption due to the PC! Hag of the previous
ccw has occurred, only one interruption takes place.
A csw containing the PCI bit may be stored by an
interruption while the operation is still proceeding or
upon the termination of the operation.
When the csw is stored by an interruption before
the operation or chain of operations has been termi­
nated, the command address is eight higher than the
address of the current ccw, and the count is unpre­
dictable. All unit-status bits in the csw are off. If the
channel has detected any unusual conditions, such as
channel data check, program check, or protection
check by the time the interruption occurs, the corre­
sponding channel-status bit is on, although the con­
dition in the channel is not reset and is indicated
again upon the termination of the operation.
Presence of any unit-status bit in the csw indicates
that the operation or chain of operations has been
terminated. The csw in this case has its regular for­
mat with the PCI bit added.
The setting of the PCI Bag is inspected in every ccw
except those specifying transfer in channel. In a ccw
specifying transfer in channel, the setting of the Bag
is ignored. The PCI Hag is ignored also during initial
program loading.
Programming Notes Since no unit-status bits are placed in the csw associ­
ated with the termination of an operation on the se­
lector channel by HALT I/O, the presence of a unit­
status bit with the PCI bit is not a necessary condition
for the operation to be terminated. When the selector
channel contains the PCI bit at the time the operation
is terminated by HALT I/O, the csw associated with
the termination is indistinguishable from the csw pro-
vided by an interruption during execution of the op­
eration.
Program-controlled interruption provides a means
of alerting the program of the progress of chaining
during an I/O operation. It permits programmed dy­
namic main-storage allocation. Commands The following table lists the command codes for the
six commands and indicates which Hags are defined
for each command. The Hags are ignored for all com­
mands for which they are not defined.
Write
Read
NAME
Read backward Control Sense
Transfer in channel NOTES FLAG CD CC SLI PCI CD CC SLI SKIP PCI CD CC SLI SKIP PCI CD CC SLI PCI CD CC SLI SKIP PCI CD Chain data CC Chain command SLI Suppress incorrect length SKIP Skip PCI Program-controlled interruption CODE MMMMMMOI MMMMMM10 MMMM 1100 MMMMMMII
MMMM 0100 x x x x 1000 All Hags have individual significance, except that
the cc and SLI Hags are ignored when the CD Hag is on.
The SLI Hag is ignored on immediate operations, in
which case the incorrect-length indication is sup­
pressed regardless of the setting of the Hag. The PCI Hag is ignored during initial program loading.
Write
A write operation is initiated at the I/O device, and the
subchannel is set up to transfer data from main storage
to the I/O device. Data in storage are fetched in an
ascending order of addresses, starting with the ad­
dress specified in the ccw.
A ccw used in a write operation is inspected for the CD, CC, SLI, and the PCI Hags. The setting of the skip
Hag is ignored. Bit positions 0-5 of the ccw contain
modifier bits.
Programming Note On writing magnetic tape, block-length is not defined,
and the amount of data written is controlled only by
the count in the ccw. Every operation terminated
under count control causes the incorrect-length indica­
tion, unless the indication is suppressed by the SLI Hag.
Read
A read operation is initiated at the I/O device, and the
subchannel is set up to transfer data from the device
to main storage. For devices such as magnetic tape
units, disk storage, and card equipment, the bytes of
data within a block are provided in the same sequence
as written by means of a write command. Data in
storage are placed in an ascending order of addresses,
starting with the address specified in the ccw.
A ccw used in a read operation is inspected for
every ·one of the five Hags -CD, CC, SLI, skip, and PCI. Bit positions 0-5 of the ccw contain modifier bits.
Read Backward
A read-backward operation is initiated at the I/O de­
vice, and the subchannel is set up to transfer data
from the device to main storage. On magnetic tape
units, read backward causes reading to be performed
with the tape moving backwards. The bytes of data
within a block are sent to the channel in a sequence
opposite to that on writing. The channel places the
bytes in storage in a descending order of address, start­
ing with the address specified in the ccw. The bits
within an eight-bit byte are in the same order as sent
to the device on writing.
A ccw used in a read-backward operation is in­
spected for everyone of the five Hags - CD, cc, SLI, skip, and PCI. Bit positions 0-3 of the ccw contain
modifier bits.
Programming Note
When data chaining is used during a read-backward
operation, the channel places data in storage in a de­
scending sequence but fetches ccw's in an ascending
sequence. Consequently, if a magnetic tape is to be
written so that it can be read in either the forward or
backward direction as a self-describing record, the
ccw must be written at both the beginning and the
end of the physical record. If more than one ccw is to
be used, the order of the ccw's must be reversed at the
end of the record since the storage areas associated
with the ccw's are used in reverse sequence. Further­
more, a ccw used for reading backward must describe
the associated storage area by specifying the highest
address of the area, whereas it normally cont ,IS the
lowest address.
Control
A control operation is initiated at the I/O device, and
the subchannel is set up to transfer data from main
storage to the device. The device interprets the data
as control information. The control information, if
any, is fetched from storage in an ascending order of
addresses, starting with the address specified in the
ccw. A control command is used to initiate at the I/O device an operation not involving transfer of data -
such as backspacing or rewinding magnetic tape or
positioning a disk access mechanism.
For most control functions, the entire operation is
specified by the modifier bits in the command code, Input/Output Operations 101
Previous Page Next Page