HP 3000 III Series Manual page 279

Table of Contents

Advertisement

I/O System
7-30.
Typical I/O Program Operation. Figure 7-13 illustrates the
sequence of operations occurring as the result of an SIO instruc-
tion.
The sequence is as follows:
a.
The SIO instruction
(decoded by the CPU)
fetches the device
number given at S-K
(1, figure 7-l3f
in the stack (2),
and
puts the TOS into the first word of its DRT entry as the
I/O
progr am pointe r.
b.
SIO then sends the device number
(3) to the lOP Control Reg-
ister and sends an SIO command (4) to the lOP.
c.
The lOP issues the SIO command
(5) to the Device
Controller
and execution by the hardware begins.
The CPU is now free to
continue execution elsewhere.
d.
On demand from the MUltiplexer Channel,
the lOP obtains
the
program pointer
(6) from the DRT.
(The Selector Channel ob-
tains the program pointer directly, not via the lOP.)
As il-
lustrated previously
in figure 7-4,
the address is obtained
by mul tiplying the dev ice number by four.
The progr am point-
er is the first word of the four-word DRT entry.
e.
The program pointer points to the first doubleword of the I/O
program (7).
The pointer is
Lpdated to point
at each
I/O
program double word as the program progresses.
(The Selector
Channel, to minimize memory fetches, copies the pointer value
into a register and updates the pointer internally;
the Mul-
tiplexer Channel updates the pointer directly in the DRT.)
f.
The sample I/O program operates as follows.
The
first
dou-
bleword
(7) contains a CONTROL order which enables the hard-
ware I/O subsystem for this device.
The
second
doubleword
contains a READ order which causes the subsystem to read 4096
words (or 8192 bytes) into the data buffer (8) whose starting
location is given in the IOAW word.
Since the data
chaining
bit
is
on, the next (third) doubleword is also a READ order
which specifies the remaining count required to
fulfill
the
I/O request. (Additional READ orders could be given for larg-
er requests.) The IOAW will either specify an additional buf-
fer area contiguous to the first 4096-word buffer if
desired
or, in another part of memory.
g.
When the transfer is complete,
the final doubleword contains
an
END
order, which obtains the result of the transfer (de-
vice status)
and loads it into the IOAW;
the END order then
tells the
controller to generate an interrupt to
inform the
software that the transfer is complete.
h.
At the
completion of an I/O
program,
the Selector
Channel
returns the
current program pointer
value to the DRT.
The
Multiplexer Channel does not take any special action since it
updates the DRT afte r each order fe tch.
7-25

Advertisement

Table of Contents
loading

Table of Contents