I/o
subchannel (i.
e.,
data
transfers
between
the
device
and
data
buffers, updati ng
the
memory
byte
address
and
byte
count,
and
functions as
specified
by the control flags)
are
performed in a normal manner.
For
input
operations,
the Skip flag (in
conjunction
with
data
chaining)
provides the
capabi
lity
to
selectively
read
portions
of
a record.
For
output
operations,
the
lOP
wi
II
generate
and transmit
zeros
(XIOOI)
unti I
the
byte
count
is
reduced
to
zero.
Thus,
for
example,
if
the
10CD
contains
a Punch Binary
order,
a
byte
count
of
120, and the S flag is
coded
as.a
1, a
blank
card
may
be
punched
without
accessing
main memory
for
data.
WRITE
KEY
This
four-bit
field
(bit positions
40-43),
if
required,
may
be
coded
with
an
appropriate
write
key. During
input
op-
erations
and
providing
the
Skip control flag is
coded
as
aD,
the
lOP
will
access
main memory
and
furnish a memory unit
with up
to
four bytes of
data
or information
accompanied
with
a
four-bit
write
key.
If
the
write
key matches
the
preassigned
write
lock for
the
memory word
location
ac-
cessed, or
if
either
the
key
or lock has a
value
of 0000,
the
memory
unit
accepts
and
stores
the
information.
If
the
write
key does not match
the
write
lock,
and
neither
the
key
nor
the
lock has a
value
of
0000, the memory
unit
re-
jects
the
information, does not disturb
the
previous
content,
and
transmits a
Write
Lock
Violation
(WLV)
signal
to
the
lOP.
The
write
key/write
lock
relationship
is compared
every
time a memory word
location
is
accessed
for storing
data
or information.
(Note:
The
write
key/write
lock
re-
lationship may
change
during
an
input
operation
when
the
byte
address is
incremented
(or decremented) across a mem-
ory
page
boundary. )
As
long as the
write
key matches the write lock for
each
memory word
location
accessed,
or the
value
of
either
the
lock
or
the
key
is 0000, the
input
operation
is performed
cs
specified
by
the
other
parameters
within
this IOCD;
or
the
input
operation
is
terminated
by an "unusual
end"
con-
dition
which
can
not
be
inhibited
(i.
e.,
memory address
error, control
check
fault,
or
lOP
memory error).
If
the
HTE
control
flag
is
coded
as a 1 when a
WLV
signal
is
received,
the
I/O
operation
is
terminated
immediately.
If
either
the ICE
or
IUE
control flag is coded as a 1, an
I/O
interrupt
is
requested.
If
the
HTE
control flag is
coded
as a ° when a
WLV
signal
is
received,
the
I/O
operation
continues
i.n
a normal
man-
ner,
even
though the
data
or
information may be
rejected
by a memory
unit.
When
the
lOP
receives
a
WLV
signal,
the
WLV
bit
within
the
status information
register
is
set
to 1
and
remains
set
until a new
I/o
operation
is
initiated
within
this
I/O
sub-
channel
by an
SIO
instruction. Thus,
after
the
first
WLV
signal has
been
recorded,
subsequent
WL.V
signals have
no
146
Input/Output
Processor (lOP) Fundamentals
further
effect
upon the
WLV
bit.
The status
of
the
WLV
bit
is
reported
when the
BP
executes
an
SIO,
no,
TDV,
HIO,
or
AIO
instruction.
The
contents
of
the
write
key
field
is
not
required
and
may
be
ignoredwhen
the
write
key/write
lock memory protection
feature
is
not
operative
(i.
e.,
during
any
output
operation
or during any
input
operation,
if
the
Skip control flag
of
the
current
10CD
is
coded as a 1).
BYTE
COUNT
This
16-bit
field
(bit positions
48-63),
if
required,
may be
coded
to
specify
the
total
number
of
data
or
information
bytes
that
are
to be transmitted by the
current
10CD.
The minimum number
of
bytes is 1
and
the
maximum
is
65,356
bytes (16,384 words). When the
10CD
is
fetched,
the
content
of
the
byte
count
field
is
loaded into a byte
count
register
within
the
appropriate
I/o
subchannel.
Thereafter,
the
content
of
the
byte
count
register is
decre-
mented by
one
for
each
byte
transmitted
and
then tested
for a
zero
byte
count
condition.
(Note:
As
a
consequence
of
decrementing
before testing for a
zero
byte
count
condi-
tion,
an
initial
byte
count
value
of
a
is
interpreted
as
65,356
bytes.)
Unless the
I/O
operation
is terminated
(e.
g.,
as
the
result
of
detecting
an "unusual
end"),
data
is transmitted until the
byte
count
is
reduced
to zero. At
any
time,
the
progress
of
the
I/o
operation
may be
ascer-
tained
by
evaluating
the
current
byte
count
which is
furnished
as
status information when
the
BP
executes
an
SIO,
no,
HIO,
or
TDV
instruction. {That is,
current
byte
count
is
equal
to the number
of
bytes remaining
to
be
trans-
mitted
and
initial
byte
count
minus
current
byte
count
is
equal
to the number
of
bytes transmitted.} When the
byte
count
is
reduced
to
zero,
the MIOP may perform the
fol-
lowing functions:
1.
Transmit a
"count
done"
signal
to
the
device
controller/
device
if
data
chaining
is
not
specified.
2. Request an
I/o
interrupt,
if
the
IZC
flag is
coded
as a
i.
3.
Fetch the
next
IOCD,
if
the
data
chain
flag
is
coded
as a
1.
Depending upon
the
characteristics
of
the
I/o
device,
certain
I/o
orders (e.
g.,
Rewind for
magnetic
tape
units)
may
not
require
a
byte
count
field.
In
such
case,
the byte
count
fie
Id
is ignored. Refer to an
appropriate
Xerox
pe-
ripheral
equipment
reference
manual for further
detai
Is.
CONTROL
lOCO
A control
IOCD
may
contain
either
a Transfer in Channel
or a
Stop command.