avai
lable
to a program. The
register
block
pointer
can
be
changed
when
the
basic
processor is in
the
master mode
or
the
master-protected
mode.
Only
the
first
16
general
reg-
isters
of
a
register
block
may be used by programs; the last
eight
are
reserved.
Each
of
the first
16
general
registers in a
register
block
is
identifi
ed
by a
4-bi
t
code
in the range
0000
2
through 11112
{O
through 15 in
decimal
notation,
or
X'O'
through X'F' in
hexadecimal
notation}. Any
or"
these 16 registers
can
be
used as a
fixed-point
temporary
data
storage
location,
or
to
contain
control information such as a
data
address, .count,
pointer,
etc.
General
registers 1 through 7
can
be used
as
index
registers.
MEMORY
CONTROL
STORAGE
The memory control
storage
for the memory map and the
associated
memory
access
protection
codes
are
contained
in the Memory
Interface
(MI). Memory control
storage
for
the
4-bit
write
locks
are
contained
in
the
memory units.
Memory control
storage
can
be
modified when
the
basic
processor is in
the
master mode
or
the
master-protected
mode.
MEMORY
MAP
Two
terms
are
essential
in understanding
the
memory
map-
ping
concept:
actual
(i.
e.,
absolute
or
real)
address
and
'!h·t~d
0dd!"ess.
An
actual
address is used
within
the
memory
unit
(memory
address registers) to
access
a
specific,
physical memory
lo-
cation
for
storage
or
retrieval
of
information as
required
by
the
execution
sequence
of
an
instruction.
Actual
addresses
are
fixed and
are
dependent
on
the
wired-in
hardware.
A virtual address refers to a
logical
location
as
required
by
an
individual
program. Like
an
actual
address, a
virtual
address may
designate
a
location
that
contains
a program
instruction, an
element
of
data,
a
data
address
(indirect
address),
or
it
may also be an
explicit
quantity.
Normally,
virtual addresses
are
derived
from programmer-supplied
labels
through an assembly (or compi lation) process followed
by a loading process. Virtual addresses
m~y
also be
com-
puted during a program's
execution.
Virtual addresses
in-
clude
all
instruction
addresses,
indirect
addresses, and
addresses used as counts within a stored program, as
well as
those instructions computed by
the
program. (See "Virtual
and Real Memory",
later
in this
chapter.)
Memory mapping transforms virtual addresses as seen by
the
individual
program into
actual
addresses as seen by
the
memory system. Thus, when the memory map is in
effect,
any
program
can
be broken
into
512-word
pages and
dy-
namically
relocated
throughout memory in
whatever
pages
of
space
are
avai
lable.
When
the
memory map
is
not in
effect,
all
virtual address
values
above
1510
are
used by
the
memory as
actual
ad-
dresses. Virtual addresses 0 through
15
are
alwayst
used by
the
basic
processor as
general
register
addresses
rather
than
as memory
addresses.
For
example,
if
an
instruction
uses
virtual
address 5 to address
the
location
where
a result is
to
be
stored,
the
basic
processor stores
that
result in
gen-
eral
register
5 in
the
current
register
block
instead
of
in
memory
location
5.
When
the
basic
processor
is
operating
with
the
memory map
in
effect,
virtual
addresses 0 through
15
are
still
used
as
general
register
addresses. Virtual addresses
above
15
are
transformed
into
actual
addresses by
replacing
the
high-
order
portion
of
the
virtual
address
with
a
value
obtained
from
the
memory
map.
(The memory map address
replace-
ment process
is
described
in "Memory Address Control
",
later
in this
chapter.)
MEMORY ACCESS PROTECTION
When
the
basic
processor
is
operating
with
the
memory map
in
the
slave
mode
or
the
master-protected
mode,
the
access
protection
codes
determine
whether
the
program may
access
instructions from,
read
from, or
write
into
specific
regions
of
the
virtual
address continuum (virtual memory).
If
the
slave
mode
or
master-protected
f}1ode
program
attempts
to
access
a
protected
region
of
virtua I memory, a
trap
occurs
(see "Memory Address Control
",
"Virtual and Real
Mem-
ory",
and
"Trap System",
later
in this
chapter).
MEMORY
WRITE
PROTECTION
The memory
write-protection
feature
operates
independently
of
access
protection
and
the
memory
map.
The
4-bit
write
lock
operates
in
conjunction
with a
4-bit
field,
called
the
write
key,
in bits
32-35
of
the
Program Status Words (PSWs).
The lock
and
the
key
de
term i ne
whether
any
program may
alter
any
word
of
main memory. The
write
key
can
be
changed
when
the
basic
processor
is
in the master mode or
the
master-protected
mode.
(The functions
of
the
write
lock
and
key
are
described
in "Memory Address Control
",
later
in this
chapter.)
COMPUTER
MODES
The
basic
processor
operates
in
one
of
three
modes: master,
master-protected,
or
slave.
The
operation
mode is
deter-
mined by
the
setting
of
three
bits (bits
8,
9,
and
61)
of
the
Program Status Words (PSWs). (See "Program Status Words",
later
in this
chapter.)
Additionally,
the
basic
processor
operates
in a mapped mode or
an
unmapped
mode.
t
Except for
the
READ
DIRECT
(RD)/WRITE
DIRECT
0/VD)
in-
structions which
can
read from and store
into
these
locations.
Basi
c Processor
11