English
Language : 

MC68030 Datasheet, PDF (318/602 Pages) Motorola, Inc – ENHANCED 32-BIT MICROPROCESSOR
Memory Management Unit
(UNABLE TO LOCATE ART)
Figure 9-22. Example Translation Tree Using Indirect Descriptors
The page descriptor located at the address given by the indirect descriptor must not have a
DT field with a long or short encoding (it must either be a page descriptor or invalid).
Otherwise, the descriptor is treated as invalid, and the MC68030 creates an ATC entry with
an error condition signaled (bit set).
9.5.3.3 TABLE SHARING BETWEEN TASKS . A page or pointer table can be shared
between tasks by placing a pointer to the shared table in the address translation tables of
more than one task. The upper (nonshared) tables can contain different settings of
protection bits allowing different tasks to use the area with different permissions. In Figure
9-23 two tasks share the memory translated by the table at the B level. Note that task "A"
cannot write to the shaded area. Task "B", however, has the WP bit clear in its pointer to the
shared table; thus, it can read and write the shared area. Also note that the shared area
appears at different logical addresses for each task.
9.5.3.4 PAGING OF TABLES. It is not required that the entire address translation tree for
an active task be resident in main memory at once. In the same way that only the working
set of pages must reside in main memory, only the tables that describe the resident set of
pages need be available in main memory. This paging of tables is implemented by placing
the "invalid" code ($0) in the DT field of the table descriptor that points to the absent table(s).
When a task attempts to use an address that would be translated by an absent table, the
MC68030 is unable to locate a translation and takes a bus error exception when the
execution unit retries the bus cycle that caused the table search to be initiated.
It is the responsibility of the system software to determine that the invalid code in the
descriptor corresponds to nonresident tables. This determination can be facilitated by using
the unused bits in the descriptor to store status information concerning the invalid encoding.
When the MC68030 encounters an invalid descriptor, it makes no interpretation (or
modification) of any fields of this descriptor other than the DT field, allowing the operating
system to store system-defined information in the remaining bits. Typical information that is
stored includes the reason for the invalid encoding (tables paged-out, region not allocated,
. . .etc.) and possibly the disk address for nonresident tables.
Figure 9-24 shows an address translation table in which only a single page table (table n) is
resident and all other page tables are not resident.
9-30
MC68030 USER’S MANUAL
MOTOROLA