EasyManuals Logo
Home>Xerox>Desktop>Alto I

Xerox Alto I User Manual

Xerox Alto I
82 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #15 background imageLoading...
Page #15 background image
Alto Hardware Manual Section
2:
Microprocessor
11
switch
to
another
task
only
if
a higher priority
task
has a
wakeup
signal held true,
or
if
the current task
no longer
has
a wakeup signal true. In the latter
case,
control
goes
to a lower priority task. The lowest
priority
task
is
the CPU emulator,
which
is
always
requesting wakeup.
If
the processor executes the TASK function (Fl=2) during an instruction, the current task register
is
loaded (at the end
of
the instruction)
with
the number
of
the highest priority task currently requesting a
wakeup. This causes the next instruction
to
be fetched
from
the ROM location specified
by
the saved
task's
MPC. One additional instruction
is
executed by the current task before the switch becomes
effective. This instruction
may
execute task-specific functions, but it must do no
NEXT
address
modification,
sinceĀ·
any such modification would affect the
new
task.
The situation for
two
streams
of
instructions A-F and J-M in two different
tasks
is
shown below:
Instruction Instruction
Address
stored in
being executed being fetched
MPC at end
of
cycle
A
B C
B C D
C
1
D E
D J
K
J2
K
L
K3
L M
L
E F
E
F
G
lInstruction C
allows
task switching.
New
task's
MPC
= J.
2Instruction J does an operation
which
removes
its task's wakeup request.
3Instruciion K
allows
task
switching, and the original
task
is
now
highest priority.
The
BLOCK
function
(Fl=3)
is
used,
by
convention, to
signal
a hardware device associated with the
currently running
task
to
remove
its
wakeup
signal.
This function
is
not accomplished
by
the Alto
microprocessor, but rather by the individual
device
interfaces.
Task
switches
must occur only at times
when
the current
task
has no state in any register (except R
registers dedicated
to
the task) and
has
no
main memory operation in progress, since there
is
no
provision
in
the hardware for saving this information. That
is,
all state important to the
task
must have
been stored in
safe
places
by
the end
of
the microinstruction after the one containing the TASK function.
It
is
not
legal
to
place TASK functions in
two
consecutive microinstructions.
INITIALIZATION
The only
way
in
which
the microprogram can affect the
task
structure
is
to
request a task
switch.
In
particular, it cannot affect the
MPCS
of
tasks
other than itself. This presents an initialization problem
which
is
solved
by
having each task start at the location which
is
its
task
number (thus the emulator task
finds its first instruction
to
execute at MPC =
0).
Task
numbers are written into the
MPC
RAM during a
reset
cycle,
which
may
be initiated manually or
by
a
CPU
instruction (see
SID
instruction in section
3.3).
Tasks ordinarily begin execution in
ROMO.
In order
to
start
tasks
in the RAM, there is a mechanism
for
modifying the initial MPC'S
of
tasks
so
that
they
will begin execution in
RAMO
(see section
8.4)
STANDARD TASKS
The standard
Alto
and its associated
device
controllers
use
many
of
the available
tasks.
Detailed
descriptions
of
the operation
of
most
tasksĀ·
are found
in
the sections
of
this manual relevant to the
hardware
devices.
Appendix D
is
a list
of
the standard tasks.

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Xerox Alto I and is the answer not in the manual?

Xerox Alto I Specifications

General IconGeneral
BrandXerox
ModelAlto I
CategoryDesktop
LanguageEnglish

Related product manuals