Alto Hardware Manual
NAME
MI
RaMO·
MI
RaMI
MI
RAMO
MI
RAMI
MI
RAM2
Section
8:
Control RAM,
ROM,
and s Registers
WHAT
The standard microcode
ROM.
Second bank
of
ROM
in the
2K
ROM
configuration.
The standard microcode writeable
RAM.
Second bank
of
RAM
in the
3K
RAM
configuration.
Third bank
of
RAM
in the
3K
RAM
configuration.
58
Switching among banks
is
controlled in two ways: (1) a RAM related task already running may "switch"
banks, and (2)
it
possible to initiate a task in either
ROMO
or
RAMO.
Bank switching is accomplished with a special transfer mechanism, available only to
the
emulator task,
in
the form
of
SWMODE,
a RAM-related
Fl.
SWMODE
will'switchthe bank
cjf
the
running task, taking effect
after the microinstruction following that in which the
SWMODE
appears.
In
other words, the emulator
task
SWMODE
behaves much like an address modifier. Tasks other than the emulator cannot switch
banks. The effect
of
SWMODE
depends on the
ROMIRAM
configuration, the bank in which the task
is
currently executing, and the value
of
NEXT
in the instruction following the one
that
asserts
SWMODE.
In
the
1K
RAM
configuration (neither the
2K
ROM
nor
the
3K
RAM
option installed):
If
currently go to
NEXT
in'
executing
in
RaMO
RAMO
RAMO
ROMO
In
the
2K
ROM
configuration (which includes
1K
of
RAM):
If
currently and
NEXT[l
J = 0 then else
executing in go to
NEXT
in go to
NEXT
in
RaMO
RAMO
ROMI
RaMI
.
RaMO
RAMO
RAMO
RaMO
ROMI
In
the
3K
RAM
configuration:
If
currently
executing in
NEXT[lJ=O
NEXT[lJ=l
ROMO
RAMO
RAMI
RAM2
NEXT[2J=0
NEXT[2J=1
RAMO
ROMO
ROMO
ROMO
RAM2
RAM2
RAM2
RAMI
NEXT[2]
=0
NEXT[2J=1
RAMI
RAMI
RAMO
RAMO·
RAMO
RAMI
RAMO
RAMO
If
the table above determines that control
is
to
be
transferred to the
RAM,
and
the
RAM
is not installed.
control remains in the bank
in
which the task is currently executing.
Many Alto IIs have the
2K
ROM
capability
but
contain nothing in
ROMI.
In
these Altos, the
SWMODE
operation
is
normally configured so that it behaves as
if
RaMI didn't exist
(Le.,
according to the first
table rather than the second). This is determined by the chip
in
position 51 on the control board.
If
it
is
labelled
SW2K
then RaMI exists,
but
if
SWIK
then
it
does not. The alternate chip is kept in
unused
socket 76.
SWMODE
is
actually defined in all RAM-related tasks,
not
just the' emulator; however,
it
does not work
correctly
in tasks other than the emulator in Altos with the
2K
ROM
or
3K
RAM
configuration.
Each
of
the 16 micro-tasks may
be
started either
in
RaMO
or
in
RAMO
when a hardware reset
("bootstrap") operation is performed,
regardless
of
whether the task is RAM-related A 16-bit "reset
mode