Memory Management Unit
M68060 USER’S MANUAL
table for each demand, then the process of making such demands builds the translation
For example, consider an operating system that is preparing the system to execute a previ-
ously unexecuted task that has no translation table. Rather than guessing what the memory-
usage requirements of the task are, the operating system creates a translation table for the
task that maps one page corresponding to the initial value of the program counter (PC) for
that task and one page corresponding to the initial stack pointer of the task, leaving the other
branches with invalid descriptors. All other branches of the translation table for this task
remain unallocated until the task requests access to the areas mapped by these branches.
This technique allows the operating system to construct a minimal translation table for each
task, conserving physical memory utilization and minimizing operating system overhead.
Figure 4-14. Translation Table Using Shared Tables
ROOT INDEX POINTER INDEX PAGE INDEX PAGE OFFSET
$3B $15 $01
TABLE ENTRY # =
TABLE $3B TABLE $15
TABLE $00 TABLE $00 TABLE $00
$EC $54 $04
ADDRESS OFFSET =
* PAGE FRAME ADDRESS SHARED BY TASK A AND B; WRITE PROTECTED FROM TASK A.