English
Language : 

MC68030 Datasheet, PDF (345/602 Pages) Motorola, Inc – ENHANCED 32-BIT MICROPROCESSOR
Memory Management Unit
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 memory 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 may
or 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 system 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 management 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 mapping 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 supervisor 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 capability 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 of addresses. Virtual machine implementations require
maximum availability of virtual space. The disadvantages are the more complex table
management and the more restrictive accesses to other address spaces.
MOTOROLA
MC68030 USER’S MANUAL
9-57