Download Print this page

Command Chaining; Skipping - IBM 4300 Manual

Processors principles of operation for ecps: vse mode
Hide thumbs Also See for 4300:

Advertisement

designated by the current CCW has been
transferred to storage or to the device, data
chaining causes the operation to continue, using the
storage area designated by the new CCW. The
contents of the command-code field of the new
CCW are ignored, unless they specify transfer in
channel.
Data chaining is considered to occur immediately
after the last byte of data designated by the current
CCW has been transferred to storage or to the
device. When the last byte of the transfer has been
placed in storage or accepted by the device, the
new CCW takes over the control of the operation
and replaces the pertinent information in the
subchannel.
If
the device signals channel end after
exhausting the count of the current CCW but
before transferring any data to or from the storage
area designated by the new CCW, the CSW
associated with the concluded operation pertains to
the new CCW.
If
programming errors are detected in the new
CCW or during its fetching, the error indication is
generated, and the device is signaled to conclude
the operation when it attempts to transfer data
designated by the new CCW.
If
the device signals
channel end after the new CCW takes control but
before transferring any data designated by the new
CCW, program check or protection check is
indicated in the CSW associated with the
termination. The contents of the CSW pertain to
the new CCW unless a program check or protection
check is generated while fetching the new CCW or
while fetching or executing an intervening
transfer-in-channel command. A data address
which causes a program check or protection check
gives an error indication only after the I/O device
has attempted to transfer data to or from the
addressed storage location.
When data chaining during an output operation,
the channel may fetch the new CCW from storage
ahead of the time data chaining occurs. Similarly,
some block-multiplexer channels may prefetch the
new CCW when data chaining during input. Any
programming errors in a pre fetched CCW, however,
do not affect the execution of the operation until
all data designated by the current CCW has been
transferred to the I/O device on output or to
storage on input.
If
the device concludes the
operation before all data designated by the current
CCW has been transferred or if data chaining is
suppressed for any other reason, the errors
associated with the pre fetched CCW are not
indicated to the program.
Only one CCW describing a data area may be
prefetched.
If
the prefetched CCW specifies
transfer in channel, only one more CCW may be
fetched before the exhaustion of the current CCW.
Programming Note
Data chaining may be used to rearrange data as it
is transferred between storage and an I/O device.
Data chaining permits data to be transferred to or
from noncontiguous areas of storage, and, when
used in conjunction with the skipping function (see
the section
11
Skipping
11
later in this chapter), data
chaining enables the program to place in storage
selected portions of a block of data.
When, during an input operation for a channel
that does not prefetch CCWs on input, the program
specifies data chaining to a location into which data
has been placed under the control of the current
CCW, the channel, in fetching the next CCW,
fetches the new contents of the location. This is
true even if the location contains the last byte
transferred under the control of the current CCW.
When, on input, a channel program data-chains to
a CCW placed in storage by the CCW specifying
data chaining, the block is said to be self-
describing. A self-describing block contains one or
more C CW s that specify storage locations and
counts for subsequent data in the same block.
The use of self-describing blocks is equivalent to
the use of unchecked data. An I/O data-transfer
malfunction that affects validity of a block is
signaled only at the completion of data transfer.
The error normally does not prematurely terminate
or otherwise affect the execution of the operation.
Thus, there is no assurance that a CCW,read as
data is valid until the operation is completed.
If
the CCW is in error, the use of the CCW in the
current operation may cause subsequent data to be
placed in wrong storage locations with resultant
destruction of the contents of those locations.
Self -describing blocks cannot be used with a
channel that pre fetches CCWs when data chaining
on input.
Command Chaining
During command chaining, the new CCW fetched
by the channel specifies a new 110 operation. The
channel fetches the new CCW and initiates the
new operation upon receipt of the device-end signal
for the current operation. When command
chaining takes place, the completion of the current
operation does not generate an interruption
condition, and the count indicating the amount of
data transferred during the current operation is not
made available to the program. FOYoperations
Chapter 12. Input/Output Operations
12-33

Advertisement

loading