The CPU program initiates I/O operations with
the instructionSTART I/O or START I/O FAST RELEASE. These instructions identify the channel
and device and cause the channel to fetch the chan
nel 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
CCW. The CCW specifies the command to be execu
ted and the storage area, if any, to be used.When the CAW has been fetched, some channels
consider the execution ofSTART I/O FAST RE LEASE complete. The results of the execution of
the instruction to that point are indicated by setting
the condition code in the program status word(PSW) and, under certain conditions, by storing
pertinent information in the channel status word(CSW). If the channel is not operating in burst mode and
if the sub channel associated with the addressedI/O device is available, the channel attempts to select the
device by sending the address of the device to all
controll units attached to the channel. A control unit
thatreGognizes the address connects itself logically
to the channel and responds to its selection by re
turning the address of the selected device. The chan
nel subsequently sends the command code part of
theCCW over the interface, and the device responds
with a status byte indicating whether it can execute
the command.
At this time, the execution ofSTART I/O and of ST ART I/O FAST RELEASE, if not previously
considered complete, is completed. The results of
the attempt to initiate the execution of the command
are indicated by setting the condition codein the PSW and, under certain conditions, by storing perti
nent information in theCSW. 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 re
ceipt of the command code.
An][/0 operation may involve transfer of data to
one storage area, designated by a singleCCW, or to
a number of noncontiguous storage areas. In the
latter case, generally a list of CCWs is used for exe
cution of theI/O operation, each CCW designating a
contiguous storage area, and the CCWs are said to
be coupled by data chaining. Data chaining is speci
fied by a flag in the CCW and causes the channel to
fetch another CCW upon the exhaustion or filling of
the storage area designated by the current CCW.190 System/370 Principles of Operation
The storage area designated by a CCW fetched on
data chaining pertains totheU 0 operation already
in progress at theI/O device, and the I/O device is
not notified when a new CCW is fetched. Provision
is made in the CCW format for the programmer to
specify that, when the CCW is decoded, the channel
request anI/O interruption as soon as possible,
thereby notifying the CPU program that chaining
has progressed to a particular CCW in the channel
program.
To complement the dynamic address translation
facility available in the CPU, which can make data
stored in more than one noncontiguous page of main
storage appear as one storage area, channel indirect
data addressing is available. A flag in the CCW spec
ifies that an indirect-data-address list is to be used to
designate the storage areas for that CCW. Each time
the boundary of a2,048-byte block of storage is
reached, the list is referenced to determine the next
block of storage to be used. By extending the stor
age addressing capabilities of the channel, channel
indirect data addressing permits essentially the same
CCW sequences to be used for a program running
with dynamic address translation in the CPU that
would be used if it were operating with equivalent
contiguous real storage.
The concluding of anI/O operation normally is
indicated by two conditions: channel end and device
end. The channel-end condition indicates that theI/O device has received or provided all data associ
ated with the operation and no longer needs channel
facilities. The device-end signal indicates that theI/O device has concluded execution of the opera
tion. The device-end condition can occur concur
rently with the channel-end condition or later.
Operations that keep the control unit busy after
releasing channel facilities may, under certain condi
tions, cause a third type of signal. This signal, called
control unit end, may occur only concurrently with
or after channel end and indicates that the control
unit has become available for initiation of another
operation.
The conditions signaling the concluding of anI/O operation can be brought to the attention of the
program byI/O interruptions or, when the CPU is
disabled forI/O interruptions from the channel, by
programmed interrogation of theI/O device. In
either case, these conditions cause storing of theCSW, which contains additional information con
cerning the execution of the operation. At the time
the channel-end condition is generated, the channel
identifies to the program the last CCW used and
provides its residual byte count, thus indicating the
extent of main storage used. Both the channel and
the device can provide indications of unusual condi-
the instruction
and device and cause the channel to fetch the chan
nel 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
CCW. The CCW specifies the command to be execu
ted and the storage area, if any, to be used.
consider the execution of
the instruction to that point are indicated by setting
the condition code in the program status word
pertinent information in the channel status word
if the sub channel associated with the addressed
device by sending the address of the device to all
controll units attached to the channel. A control unit
that
to the channel and responds to its selection by re
turning the address of the selected device. The chan
nel subsequently sends the command code part of
the
with a status byte indicating whether it can execute
the command.
At this time, the execution of
considered complete, is completed. The results of
the attempt to initiate the execution of the command
are indicated by setting the condition code
nent information in the
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 re
ceipt of the command code.
An
one storage area, designated by a single
a number of noncontiguous storage areas. In the
latter case, generally a list of CCWs is used for exe
cution of the
contiguous storage area, and the CCWs are said to
be coupled by data chaining. Data chaining is speci
fied by a flag in the CCW and causes the channel to
fetch another CCW upon the exhaustion or filling of
the storage area designated by the current CCW.
The storage area designated by a CCW fetched on
data chaining pertains to
in progress at the
not notified when a new CCW is fetched. Provision
is made in the CCW format for the programmer to
specify that, when the CCW is decoded, the channel
request an
thereby notifying the CPU program that chaining
has progressed to a particular CCW in the channel
program.
To complement the dynamic address translation
facility available in the CPU, which can make data
stored in more than one noncontiguous page of main
storage appear as one storage area, channel indirect
data addressing is available. A flag in the CCW spec
ifies that an indirect-data-address list is to be used to
designate the storage areas for that CCW. Each time
the boundary of a
reached, the list is referenced to determine the next
block of storage to be used. By extending the stor
age addressing capabilities of the channel, channel
indirect data addressing permits essentially the same
CCW sequences to be used for a program running
with dynamic address translation in the CPU that
would be used if it were operating with equivalent
contiguous real storage.
The concluding of an
indicated by two conditions: channel end and device
end. The channel-end condition indicates that the
ated with the operation and no longer needs channel
facilities. The device-end signal indicates that the
tion. The device-end condition can occur concur
rently with the channel-end condition or later.
Operations that keep the control unit busy after
releasing channel facilities may, under certain condi
tions, cause a third type of signal. This signal, called
control unit end, may occur only concurrently with
or after channel end and indicates that the control
unit has become available for initiation of another
operation.
The conditions signaling the concluding of an
program by
disabled for
programmed interrogation of the
either case, these conditions cause storing of the
cerning the execution of the operation. At the time
the channel-end condition is generated, the channel
identifies to the program the last CCW used and
provides its residual byte count, thus indicating the
extent of main storage used. Both the channel and
the device can provide indications of unusual condi-