Orders that are executed
by
a specific type of
device
are
listed and described in the appropriate Xerox peripheral
equipment reference manual.
When an operational
10CD
is
fetched by the lOP, the
con-
tent
of
the order field, if required,
is
loaded into an order
register within the
device
controller/device.
If
two or
more
10CDs are required to define a logical record (as
de-
scribed under "Data Chain Flag"), the order obtained
from
the first 10CD prevai
Is
for all subsequent 10CDs within that
logi cal record and any orders contained within the subsequent
10CDs are ignored.
MEMORY
BYTE
ADDRESS
This
22-bit
field (bit positions 10-31), if requi red,
is
coded with the initial memory byte address for .the
I/o
op-
eration that
wi
II
be performed when the current IOCD
is
executed. When the IOCD
is
fetched
by
the lOP, the
con-
tent
of the memory byte address field
is
loaded into a
memory byte address register within the appropriate
I/O
subchannel of the lOP. Thereafter,
the
content of the
memory byte address register
is
incremented
(or
decremented
during
Read
Backward operations)
by
one for each byte
of
data
or information transmitted, even though access to main
memory
may
be inhibited (as described under "Skip Flag")
or the
data
is
rejected
by
a memory unit (as described under
"Write Key").
Depending upon the characteristics of the
I/O
device,
the
content
of
bit positions 10-31
may
either
be ignored (e.
g.,
II
Rewind
II
order
for
maanetic
taoe
units)
or
soecifv
memorY
byte locations that
co;tain
supplement~1
co~trol
information
(e.
g.,
starting address for a disk seek operation). Refer to
an appropriate Xerox peripheral equipment reference man-
ual for further detai
Is.
FLAGS
Each operational 10CD contains
eight
control flags (bit
positions 32-39).
As
described below,
each
control flag
is
coded
to
specify a particular control function
that
may
be performed by the
lOP
either
during or
at
the end
of
the
current
IOC
D.
Data Chain Flag
(Bit
Position 32). Coding
ofthe
data
chain
flag
is
dependent upon the number
of
10CDs required to
define the
data
transfers for a logical record.
If
two or
more
10CDs are required (e.
g.,
to perform a
"gather-write"
or a
"scatter-read
II
operation), the
data
chain flag
of
each
operational
IOCD,
except
the last IOCD,
must
be coded as
a
1.
The
data chain flag of the last 10CD or the only
10CD
(if the record is defined by a single 10CD) is coded
as
O.
If
data
chaining
is
specified and no error conditions
are encountered, the
lOP
wi
II
automatically fetch the next
operational
10CD when the byte count (described later)
of
the current IOCD
is
reduced to zero. (Note:
The
lOP
may
also fetch and execute a control 10CD containing a Transfer
in Channel command,
as
described later, before fetching
the next operational
10CD.)
As
a result of fetching the
next operational
10CD,
all parameters,
except
the
I/O
order, are updated and the
device
controller/device
con-
tinue to
operate
as if the
I/o
operation were defined by
a single
IOCD (i.
e.,
the
data
chain operation
is
transparent
to the
device
controller/device).
If
data
chaining
is
not
specified, the
lOP
wi
II
generate a "count done" signal when
the byte count
of
the current 10CD
is
reduced to zero.
The
"count done" signal indicates
that
the
lOP
has completed
all
data
transfers for the current logical record. However,
as described under "Interrupt on Channel
End
Flag", the
I/o
order
is
not completed until the
device
signals a
"chan-
nel end".
Interrupt
at
Zero Byte Count Flag
(Bit
Position 33).
If
an
I/O
interrupt
is
to be requested when the byte count of the
current
10CD
is
reduced to zero, the Interrupt
at
Zero
Byte Count (IZC) flag must be coded as a
1.
If
the
I/O
interrupt level within the interrupt system (location X
'
5C)
is armed,
enabled,
and not inhibited, the request will be
processed
by
the
BP
in accordance with the priority that
prevai
Is
within the interrupt system, the lOPs, and the
I/O
subchannels within an MIOP.
The
occurrence
of
an
I/O
interrupt because of a zero byte count condition
is
reported
as status information (bit position
10
of
register
R)
when the
BP
executes
an
AIO instruction (normally part of
the
I/O
interrupt handling routine).
The
I/O
interrupt request
may
be processed without interfering with the
I/o
operation.
(Note:
An
I/O
interrupt
may
be requested
at
"channel end"
or on "unusual end" condition, as described later. )
Command Chain Flag
(Bit
Position 34). Command chaining
permits an
I/O
device
to
execute
a multiple number of
orders relating to the same
I/O
operation in a consecutive
manner (e.
g.,
when reading a multi-record file, the
I/O
device
may automatically receive a new
Read
order upon
compl eti
ng
the current
Read
order
wi
thout the
BP
execut-
ing another
SIO
instruction). Command chaining,
if
re-
quired, is specified by coding the command chain flag as
a 1 in the
IOCD
of
each
record,
except
the last.
If command chaining
is
specified, the
lOP
wi
II
fetch the
next operational
10CD when the
device
signals a "channel
end"
unless terminated
by
an "unusual end" condition.
As
a result, new parameters
are
stored in the appropriate
registers within the
I/o
subchannel and a new
I/o
order
is received by the device
controller/device.
Thus,
an
lOP
wi
II
automati
ca
IIy access
mai
n memory and
fetch the next operational
10CD
if
either
data
chaining or
command chaining
is
specified.
If
data
chaining and com-
mand chaining are both specified in the same command
doubleword, a
data
chaining operation
wi
II
be performed
if
the byte count is reduced to zero before the
device
signals
a
"channel end" and a command chaining operation will be
performed
if
a "channel end" occurs before the byte count
is reduced to zero.
If
neither
data
chaining or command
chaining
is
specified, the
I/O
operation is completed when
the
device
signals a "channel
end".
Note
that
command
chaining
is
inhibited
by
"unusual
end".
Input/Output
Processor (lOP) Fundamentals 127