EasyManua.ls Logo

Cray CRAY-1 - Memory Field Protection

Default Icon
216 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...
Suppose
further
that
while B
is
executing,
an
interrupt
flag
sets
initiating
an
exchange
sequence. Since B cannot
alter
the
XA
register,
the
exit
is
back
to the monitor
program.
Program
8
1
s parameters
swap
back
into
Bls
exchange package area; the monitor
program
parameters held in
8
1
s
package
during the execution interval
swap
back
into the operating
registers.
The
monitor,
upon
resuming execution, determines
that
an
interrupt
has
caused the
exchange
and
sets
the
XA
register
to
call
the proper
interrupt
processor into execution.
It
does
this
by
setting
XA
to point to the
exchange
package
for
program
C.
Then,
it
clears the
interrupt
and
initiates
execution of C
by
executing a
004
exit
instruction.
Depending
on
the design of the operating system, the
interrupt
processor
program
could execute in monitor
mode
or in user
mode.
MEMORY
FIELD
PROTECTION
Each
object
program
at
execution time
has
a designated
field
of
memory
holding
instructions
and
data.
The
field
limits
are specified
by
the
monitor
program
when
the object
program
is
loaded
and
initiated.
The
field
may
begin
at
any
word
address
that
is
a multiple of
16
and
may
continue to another address
that
is
also a multiple of
16.
The
field
limits
are contained in
two
registers,
the base address
register
(BA)
and
the
limit
address
register
(LA),
which
are described
later
in
this
subsection.
All
memory
addresses contained in the object
program
code
are
relative
to the base address
which
begins the defined
field.
It
is,
therefore,
not possible for
an
object
program
to read or
alter
any
memory
location
with a lower absolute address than the base address.
Each
object
program
reference to
memory
is
also checked against the
limit
address to determine
if
the address
is
within the
bounds
assigned. A
memory
reference
beyond
the assigned
field
limit
is
prevented
from
reading or
altering
the
memory
content
and
for a non-monitor
mode
program, creates
an
error
condition
that
terminates
program
execution.
The
program
or operand range flag
is
set
2240004
3-46
E

Table of Contents