Loading...
Memory Management Unit
4-18
M68060 USER’S MANUAL
MOTOROLA
table for each demand, then the process of making such demands builds the translation
table.
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-LEVEL
TABLES
POINTER-LEVEL
TABLES
PAGE-LEVEL
TABLES
0111011001010100001XXXXXXXXXXXXX
ROOT INDEX POINTER INDEX PAGE INDEX PAGE OFFSET
LOGICAL ADDRESS
$76543210 =
$3B $15 $01
TABLE ENTRY # =
TABLE $3B TABLE $15
TABLE $00 TABLE $00 TABLE $00
$3B
$EC $54 $04
ADDRESS OFFSET =
FRAME ADDRESS*
ROOT POINTER
$15 $01
TASK A
TASK B
ROOT POINTER
W-BIT CLEAR
* PAGE FRAME ADDRESS SHARED BY TASK A AND B; WRITE PROTECTED FROM TASK A.
W-BIT SET
$00003000
Loading...
Terms of Use | Privacy Policy | DMCA Policy
2006-2020 Rsmanuals.com