Memory Management Unit (MMU)
4-12
Freescale Semiconductor
4.3.1.2.2
MMU Access
The MMU TLB control registers are memory-mapped. The TLB entries are read and written indirectly
through MMU control registers. Memory space for these resources is defined by a new supervisor program
model register, the MMU base-address register (MMUBAR). This defines a supervisor-mode, data-only
space. It has the highest priority for the data-processor local-bus address-mode determination.
4.3.1.2.3
Virtual Mode
Every processor local-bus instruction and data reference is a virtual or physical address mode access. The
following are always physical accesses:
•
All addresses for special mode (interrupt acknowledges, emulator mode operations, etc.) accesses
•
All addresses if the MMU is not enabled
If the MMU is enabled, the address mode for normal accesses is determined by the MMUBAR,
RAMBARs, and ACRs in the priority order listed:
•
Addresses that hit in these registers are treated as physical references. These addresses are not
translated and their address attributes are sourced from the highest priority mapping register they
hit.
•
If an address hits none of these mapping registers, it is a virtual address and is sent to the MMU. If
the MMU is enabled, the default CACR information is not used.
4.3.1.2.4
Virtual Memory References
The ColdFire MMU architecture references the MMU for all virtual mode accesses to the processor local
bus. MMU, SRAM and ACR memory spaces are treated as physical address spaces and all permissions
applying to these spaces are contained in the respective mapping register. The virtual mode access either
hits or misses in the TLB of the MMU. A TLB miss generates an access fault in the processor, allowing
software to either load the appropriate translation into the TLB and restart the faulting instruction or abort
the process. Each TLB hit checks permissions based on the access control information in the referenced
TLB entry.
4.3.1.2.5
Instruction and Data Cache Addresses
For a given page size, virtual address bits that reference within a page are called the in-page address. All
bits above this are the virtual page number. Likewise, the physical address has a physical page number and
in-page address bits. Virtual and physical in-page address bits are the same; the MMU translates the virtual
page number to the physical page number.
Instruction and data caches are accessed with the untranslated processor local-bus address. The translated
address is used for cache allocation. That is, caches are virtual-address accessed and physical-address
tagged. If instruction and data cache addresses are not larger than the in-page address for the smallest
active MMU page, the cache is physically accessed; if they are larger, the cache can have aliasing problems
between virtual and cache addresses. Software handles these problems by forcing the virtual address to be
equal to the physical address for those bits addressing the cache, but above the in-page address of the
smallest active page size. The number of these bits depends on cache and page sizes.
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...