Motorola 68451

The MC68451 is a Motorola (now Freescale) Memory Management Unit (MMU), which was primarily used in conjunction with the Motorola MC68010 microprocessor.



The MC68451 supported a 16 MB address space and provided a MC68000 or a MC68010 with support for memory management and protection of memory against unauthorized access. The block size was variable, so it was usually used for segment-based memory management. It supported the mapping of up to 32 memory segments or pages of a variable size from logical to physical addresses. To allow more segments or pages, the simultaneous use of multiple MC68451 MMUs was supported

In combination with a MC68010, the MC68451 permitted the realization of virtual memory. With the earlier MC68000, this was not possible due to the way the MC68000 treated memory access errors, i.e. processor state could not always be properly restored after a page fault; two MC68000s would be required, with the main CPU pausing when it got a memory access error, and the other CPU servicing the page fault. The limitation to 32 segment table entries per MMU made systems based on a MC68010 and a MC68451 slow, as they often had to modify the segment table due to its small size.

Motorola made a single-board computer module that demonstrated the combination of 68010 and 68451 for applications requiring virtual memory. H. Berthold AG used 12 MC68451 MMUs together with their UNOS variant vBertOS. Others (e.g. Sun Microsystems, Convergent Technologies) used their own proprietary MMUs instead of the MC68451.