EasyManua.ls Logo

Apple Lisa - Loading the MMU Registers

Apple Lisa
79 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Confidential
Lisa
Hardware Reference Manual
LOADING
THE
MMU
REGISTERS
To
set
up
the
MMU,
the
Operating
System must
initialize
the
SORG
and
SLIM
registers
of each of
the
128 segments.
To
set
these
registers,
the
memory
map
must
be
disabled.
The
MMU
can
be
disabled
by
setting
the
SETUP
bit.
SETUP
is
set
at
power
on
~en
the
map
registers
are
uninitialized,
and whenever
the
map
registers
are
being
loaded.
When
the
memory
map
is
disabled,
the
Special
I/O
address
space
is
enabled,
and only
the
MMU
registers
and
boot
ROM
can
be
acessed.
In
this
state
the
system hardware decodes
addresses
from
the
68000
in
the
following
manner:
SPECIAL
I/O
ADDRESS
DECODE
7-Jul-81
23
22
21
20
19
18 17
16
15
14
13
12
11 10
9 8 7 6 5 4 3 2 1 0
t
---------------·--~~--~I--+I----------,-------~--------
I
~-----_+
I segment number Ix
IR
1M
I
ROM
address
IS
I x x xl
+--------·--·-----------+--r~I~~---~----------
I
----------+
Bit
16
is
ignored.
Bit
14
(M)
turns
the
memory
map
on
(1)
or
off
(0).
If
the
map
is
off,
bit
15
(R)
selects
either
the
system
ROM
(0),
or
an
MMU
register
~1).
If
the
ROM
is
selected,
the
low
14
bits
are
the
address
in
ROM.
If
the
HMO
is
selected,
the
high
order
bits
are
the
segment
number
of
the
register
to
be
accessed
and
bit
3
determines
whet~r
the
Segment
Origin
register
(f),
or
the
Segment
Limit
register
<B
is
accessed.
Bits
0 - 2
are
unused.
When
the
system.is
powered on,
the
SETUP
bit
is
set.
The
power
on
vectors
at
address
0
are
fetched
from
ROM
and can branch to
the
boot
program
in
the
ROM.
The
boot program can
be
addressed
by
any segment
number.
It
is
recommended
that
segment
127
be
programmed
to
decode
special
I/O
and
that
the
boot program
jump
to segment
127
when
it
begins
execution.
The
boot program can
initialize
the
MMU
registers
so
that
context
0
addresses
RAM
with
the
low
16
segments and system
I/O
with
segment 126. Since
this
makes
all
the
address
space
in
the
system
accessible,
the
system can
act
as
though
no
memory
map
were
present.
The
boot program can
then
turn
off
the
SETUP
bit,
but
the
program can
continue
to
run from
ROM
because segment
127
has
been
programmed to
special
I/O.
The
Operating
System can
then
be loaded
into
RAM
and
begin
normal
execution.
When
the
Operating
System wants
to
load
the
MMU
registers,
the
program
it
uses
must
be
located
at
a
logical
address
that
has
bit
14
set.
If
bit
14
is
set
and
the
program
is
in
supervisor
mode
with
the
SEG
bits
set
correctly,
the
SETUP
bit
can
be
set
and
the
program
continues
to
execute
out
of
RAM
as
long
as
the
address
emitted
has
bit
14
set.
Whe~
the
actual
write
to
the
HMO
register
occurs,
bit
14
must
be
0 and
bit
15
must
be
set.
Once
the
MHO
has been
set
up,
the
SETUP
bit
must
be
cleared
to
return
to
normal
operation.
The
SETUP
bit
can
be
set
by
a
read
or
write
at
the
address
$00E010
in
I/O
space,
and
reset
by
a
read
or
write
at
$00E012.
Page
15

Related product manuals