Transfer in
Channel.
A
controllOCD
containing
a Transfer
in Channel command has the following format:
The Transfer in Channel command is
executed
within the
lOP
and
has no
direct
effect
on
any
of the
I/O
elements
external
to
the
addressed
lOP.
The primary purpose of this
command is
to
permit branching within
the
command list
{i.
e.,
fetching the next operational
10CD
from a pair of
memory word locations other
than
the
next two
consecutive
word locations}.
When the
lOP
executes
the Transfer in Channel command,
it
loads the command address register
of
the appropriate
I/O
subchannel with the contents
of
bit
positions 13-31
(the
"next
command doubleword address" field), fetches
and
loads the new
operational
10CD
into appropriate
reg-
isters within the
I/O
subchannel and order register within
the
device
controller/device
(unless
data
chaining is
spec-
ified), and then
executes
the new
10CD.
(Bit
posi-
tions
8-12
and 32-61
are
ignored and should be coded as
zeros. )
If
data
chaining
or
command chaining is specified in the
10CD
preceding the
10CD
containing
a Transfer in Channel
command, the
chaining
flags
are
not
significant
to nor
altered
by the Transfer in Channel command.
When used in conjunction with command
chaining,
Transfer
in Channel command
facilitates
the control
of
devices
such
as unbuffered card punches
or
unbuffered line printers. For
example, assume
that
it
is desired to present the same
card
image twelve times to
an
unbuffered card punch. The punch
counts the number
of
times
that
a record is presented to
it
and
automatically
generates
a "chain modifier" signal when
twelve rows have been punched.
The
command address
register within the
I/o
subchannel is incremented by two
by the
"chain
modifier" signal and the
next
consecutive
10CD
within the command list is skipped over {not
fetched
or executed}. A command list for punching two cards might
be
as shown in the following example:
Locations Description
of
Command
A, A +
1 Punch
row
for card
1,
command
chain.
A + 2, A
+3
Transfer in Channel to location
A.
A
+4,
A
+5
Punch
row
for card 2, command
chain.
130
Input/Output
Processor (lOP) Fundamentals
Locations
Description
of
Command
A
+6,
A + 7 Transfer in Channel to location A
+4.
A+8,
A+9
Stop
The
Transfer in Channel command can be used also in
con-
junction with
data
chaining.
As
one example, consider
a situation often encountered in
data
acqUisition
applica-
tions, where
data
is transmitted in extremely long,
con-
tiguous streams.
In
this case, the
data
can
be stored
alternately
in two or more buffer storage areas
so
that
computer processing can be
carried
out
on
the
data
in one
buffer whi
Ie
additional
data
is
being input into the
other
buffer.
The
command list for such an
application
might be
shown in the following example:
Locations
Descri pti on of Command
B,
B + 1
Read
data,
store in buffer 1,
data
chain.
B+2,
B
+3
Store into buffer 2,
data
chain.
B+4,
B+5
Transfer in Channel to location
B.
If
the
lOP
encounters two successive Transfer in Channel
commands, an
lOP
control error (IOPCE) occurs and the
I/O
operation is terminated immediately.
An
10PCE
is
reported as status information (bit
13
of
register
Rul)
when
the
BP
executes
an
SIO,
HIO, TIO, or
TDV
instruction.
STOP
A control IOCD with a Stop command has the following
format:
The
Stop command causes
certain
devices
to stop,
generate
a "channel
end"
signal,
and also request an
I/o
interrupt
if
bit
0 in the IOCD
is
coded as a 1. If the
I/O
interrupt