GE PAC 4020 System Manual page 9

Table of Contents

Advertisement

Quadritect Memory Protection
This optional feature virtually assures that a
new program being debugged on-line under the
GE/PAC Free-Time System cannot interfere with
running process programs, the Real-Time Operating
System, the
1/
0 equipment or any other part of the
hardware, the software or the process
;
Quadritect permits the identification of four
possible types of protection for each 64-word block
of core memory:
read, execute or write (anything allowable) -- 11
read or execute, but not write -- 01
read or write, but not execute -- 10
inaccessible (nothing allowable) -- 00
The instruction portions of the program being
debugged will use as appropriate areas defined as 11
and 01; data portions, 10.
This status information is stored in up to 64
protect status words in core locations 100 - 177 8 ,
each of which gives the status for eight 64-word
blocks, or 512 words.
Figure 2 shows their layout.
When Quadritect is enabled (by setting the
trapping mode flip-flop with a special "OUT" com -
mand), special hardware immediately begins
examining instruction operation codes and operand
addresses and fetching from core into the protect
status word register (PSWR) the status word de-
scribing the block being referenced. When a ref-
erence is attempted to a block not described by the
present
word,
the relevant word is fetched.
The
status word address register keeps track of which
512-word block is covered by the word presently in
the PSWR.
In no case is any instruction in a program being
debugged allowed to execute
1/
0 instructions, to
prevent errors and conflicts with the Real-Time
Operating System (RTOS).
1/0
calls to RTOS and
certain other situations too complex to handle solely
by hardware, are trapped, examined by software,
and executed only
if
they reference
1/0
devices or
subsystems specified by the programmer as allow-
able. This feature
,
combined with the Quadritect
hardware, allows the programmer to check out his
program's logic under severe restrictions, then
gradually remove constraints as he identifies and
corrects errors and progresses toward his goal -:-
a correctly running program.
Attempted violations of Quadritect or the
software restructions causes a branch to core lo-
cation 20 8 , which in turn transfers control to a
diagnostic program. This progran1 then turns off
6
the offending program and prints out a summary of
the attempted violation, to help the programmer
diagnose and correct his error.
It
is important to realize the Quadritect does
require some software, is intended primarily for
on-line debugging using the Free-Time System
rather than for normal operations, and at any one
instant can enforce only one of the four possible
types of protection for each core block.
If
Quadritect
were left enabled during normal operations, it could
practically protect only those fixed areas (not
subject to dynamic relocation) whose selected type
of protection applied to all system programs.
In this Quadritect approach, GE offers flexible,
in-depth protection useful when protection is really
needed - during on-line debugging - rather than
offering a modest level of protection active at all
times and really adequate at no time.
MPSW
MPSW Field
Core Block
Location
Bits
Protected
1008
1, 0
0-778
4, 3
100-177
7, 6
200-277
10, 9
300-377
13, 12
400-477
16, 15
500-577
19, 18
600-677
22, 21
700-777
1018
1, 0
1000-1077
I
4, 3
1100-1177
I
I
I
I
I
I
I
I
I
I
+
+
'
23
20
17
14
11
8
5
2
0
[X1
lX1
~
[X1
~
w w
~
u~~ \~codes
Protect Code
Read
Write
Execute
11
../
../
v'
01
v'
x
v'
10
v'
v'
x
00
x
x
x
Figure 2
Memory Protect Status Words (MPSW)

Advertisement

Table of Contents
loading

Table of Contents