English
Language : 

MC68030 Datasheet, PDF (351/602 Pages) Motorola, Inc – ENHANCED 32-BIT MICROPROCESSOR
Memory Management Unit
The average task for this system is a compiler or text editor that requires only 192K bytes of
memory, or 24 8K-byte pages. Using short page descriptors, the page table occupies 96
bytes.
Page tables can reside at any 16-byte boundary; the limit fields of the MMU can provide the
area needed without requiring excess space. This results in an address table area small
enough to be completely resident in physical memory. The operating system does not need
to page the table areas.
The paging hardware of many computer systems requires lower level tables to reside at
page boundaries, effectively using one or more entire pages. This requires 80K bytes for the
page tables for 10 tasks (10 tables, one 8K-byte page per table). Then, when the memory
required for an upper level of tables is added, at a minimum of 8K bytes per task, the total
comes to over 160K bytes. Table base addresses in the MC68030 are zero modulo 16
addresses. This results in a dramatic savings of memory for address table space; instead of
using 80K bytes for the page tables for 10 tasks, (10 tables, one 8K-byte page per table),
the MC68030 needs 960 bytes. Instead of 8K bytes per task for the upper level of tables,
the tables require 2560 bytes in the MC68030. The fragmentation that may occur in
allocating smaller tables could increase the memory requirement but would still remain less
than 160K bytes.
The translation table tree for the example system consists of two levels. The upper level is
a fixed table that contains 32 entries, each of which is a long-format table descriptor that
points to a lower level page table. Each page table maps as many as 16 Mbytes of virtual
address space. Since the upper level table is small (256 bytes), it can easily fit in the main
control block of the task. When the system dispatches a new task, it loads a pointer to the
upper level table for the task into the CRP register. Each lower level table consists of 0-2048
short-format page descriptors. The limit entry in the table descriptor for a page table
determines the size of the table. For the average 192K-byte task, the upper level table
usually has one valid entry, and this entry points to a lower level table with an average size
of 96 bytes. A task that requires more than 16 Mbytes uses more than one valid entry in the
higher level table.
MOTOROLA
MC68030 USER’S MANUAL
9-63