Motorola MC68030 User Manual page 369

Enhanced 32-811 microprocessor
Hide thumbs Also See for MC68030:
Table of Contents

Advertisement

The next logical step toward increased operating system complexity, with
shared user and supervisor virtual memory maps, is to keep the supervisor
addresses separate but to give each user task its own use of the remainder
of the virtual space. For example, each user task could have the virtual mem-
ory space from zero to 512 Mbytes; the operating system programs and data
would occupy the remainder of the space, from 512 Mbytes up to 4 Gbytes.
Each user task has its own set of translation tables. The supervisor root
pointer mayor may not be used, depending on whether the user tables also
map the supervisor space. As in the preceding method, the user cannot access
the operating system portion of the address space unless the operating sys-
tem allows it or wishes to share common routines. The advantages of this
scheme are that it provides a much larger virtual address space for each user
task and it avoids virtual memory fragmentation problems. Disadvantages
of this scheme include the requirement for slightly more complex table man-
agement and the restriction of operating system access to only the current
user task.
There are few absolute rules in the use of the MC68030 MMU. In general,
the statement regarding restricting operating system access to only one user
task using the scheme described in the preceding paragraph holds true.
However, by using the entire 4-Gbyte virtual address space and cross map-
ping the address space, the supervisor can access each user task space as
a distinct portion of its own supervisor map. If each user task is limited to a
16-Mbyte virtual address space and the supervisor only requires a 16-Mbyte
address space, 256 such address spaces can be mapped simultaneously. The
supervisor translation tables can include each of these spaces, and the su-
pervisor can access each task using indexed addressing with a register that
contains the proper constant for a particular task. This constant provides °a
supervisor-to-user virtual address conversion. A systems programmer can
implement some very sophisticated functions that exploit the flexibility of
the MMU.
The most complex systems and those that implement virtual machine ca-
pability completely separate the virtual address spaces of the supervisor and
all user tasks, or possibly even those of individual supervisor tasks. Each
user or supervisor task has its own virtual memory space starting at zero
and extending to 4 Gbytes. Using the function code, a 4-Gbyte address space
for the program and another for its data can be provided for each task. Both
the SRP and the CRP are probably used, since nothing is common among
the various spaces. The operating system uses the MOVES instruction to
interact with the user space. The advantages of this implementation are the
maximum availability of the virtual space and a complete logical separation
MOTOROLA
MC68030 USER'S MANUAL
9-67
-

Advertisement

Table of Contents
loading

Table of Contents