English
Language : 

MC68030 Datasheet, PDF (343/602 Pages) Motorola, Inc – ENHANCED 32-BIT MICROPROCESSOR
Memory Management Unit
9.9 DEFINING AND USING PAGE TABLES IN AN OPERATING SYSTEM
Many factors must be considered when determining how to use the MMU in an operating
system. The MC68030 provides the flexibility required to optimize an operating system for
many system implementations. The example operating system described in the next section
presents one approach to operating system design, with many of the tradeoffs discussed.
9.9.1 Root Pointer Registers
An operating system can use the CPU root pointer (CRP) register alone or both the CRP
and the supervisor root pointer (SRP) registers to point to the top level address translation
table(s). The choice depends on the complexity of the memory layout for the system. When
only the CRP is used, it must point to a translation table that maps all supervisor and user
references. However, the supervisor and user translation tables can be separate even when
only the CRP register is used. When the index to the top level translation table is the function
code value (FCL in TC register is set), supervisor and user tables are separate at all lower
levels. With proper structuring of the address tables, both methods can provide the same
functionality, but each has its advantages.
When the translation tables use the CRP and function code lookup, supervisor and user
accesses are separate, and each task can have different supervisor and user mappings.
Alternatively, the entries in the function code tables that correspond to the supervisor spaces
for each task can all point to the same tables to provide a common mapping for all supervisor
references.
When the mapping of the supervisor address space is identical for all tasks, the SRP can be
used in conjunction with the CRP to provide a more simple and efficient way to define the
mapping. This technique suppresses the use of the function code (unless the program and
data spaces require distinct mappings) and separates supervisor and user accesses at the
root pointer level of the translation tables. A single translation table maps all supervisor
accesses without maintaining a large number of supervisor pointers in the translation tables
for each task, resulting in reduced bus activity for table searches.
MOTOROLA
MC68030 USER’S MANUAL
9-55