Memory Management Unit
9-60
MC68030 USER’S MANUAL
MOTOROLA
9.9.3.3 LIMIT FIELDS.
Except for a table indexed by function code, every pointer and page
table can have a defined limit on its size. Defining limits provides flexibility in the operating
system and saves memory in the translation tables. The limit field of a table descriptor limits
the size of the table to which it points. The limit can be either an upper or a lower limit, using
either the lower or higher addresses within the range of the table. Since a task seldom
requires the maximum number of possible virtual pages, this reduction in table size is
practical.
For example, when an operating system uses 4K-byte pages and runs numerous small
tasks that average 80K bytes each in size, each task requires a 20-entry page table. The
system can limit the size of each table to 80 bytes, or 800 bytes for ten tasks. Without the
limit, an operating system running ten of these tasks would require 40K bytes of space for
the page tables alone (one table per page).
Memory savings required for translation tables is especially significant for artificial
intelligence systems these systems tend to require very large memory maps. By using limit
fields, each table is only as large as the number of active entries within it. This limit can
change as the table grows. For higher level tables, each table only grows as the additional
entries require. The use of three or four levels of tables facilitates the management of these
tables.
9.9.3.4 EARLY TERMINATION PAGE DESCRIPTORS.
A page descriptor residing in a
pointer table is an early termination page descriptor mapping an entire block of pages. That
is, it maps a contiguous range of virtual addresses to a contiguous range of physical
addresses. For example, an operating system could reserve a 32K-byte area for special
supervisor I/O peripheral devices. This area can be mapped with a single early termination
descriptor to save translation table size and table search overhead. The descriptor can use
the limit field to reduce the size of the contiguous block when the block size is smaller than
the virtual address space that the particular descriptor represents. The MC68030 creates
multiple ATC entries (one for each page) for the range of virtual addresses represented by
the early termination descriptor as the pages are accessed.