Address Translation; Translation Disabled; Translation Enabled - Freescale Semiconductor MPC850 User Manual

Mpc850 family integrated communications microprocessor
Table of Contents

Advertisement

8.3 Address Translation

The core generates 32-bit effective addresses (EA) for memory accesses. Setting MSR[IR]
and MSR[DR] enables the effective-to-real translation for instruction fetching and data
accesses, respectively. Section 8.3.1, "Translation Disabled," describes behavior when
translation is disabled. Section 8.3.2, "Translation Enabled," describes behavior when
translation is enabled.

8.3.1 Translation Disabled

Because the IMMU and DMMU are separate, translation can be disabled or enabled
independently for data and instruction accesses by clearing MSR[DR] and MSR[IR],
respectively. When translation is disabled, the effective address is also the physical address.
Because the page translation mechanism is not used, the protection attributes that are part
of the page table structure cannot be used, so defaults are used. The default for whether
accesses are cache-inhibited are programmed through Mx_CTR[CIDEF]. Data accesses
can be either write-through (memory writes go both to the cache and to external memory)
or write back (memory writes directly affect the cache only and memory is updated
indirectly, such as when a modified data in the cache is cast-out by newer data at a different
address that maps to the same cache block). The default is configured by
MD_CTR[WTDEF].
Also, when translation is disabled (real mode), the entire memory space is treated as
guarded by default. The implications of this are:
1. Speculative load/store accesses are stalled until they are no longer speculative.
2. Speculative instruction fetches outside of the current real-mode page are stalled until
they are no longer speculative. The size of real-mode page is determined by
MI_CTR[PPM]. If MI_CTR[PPM] = 0, the real-mode page size is 4 Kbytes; if
MI_CTR[PPM] = 1, the real-mode page size is 1 Kbyte.
This behavior can result in significant performance degradation.

8.3.2 Translation Enabled

Translations are generated on a per-page basis and are stored in tables in memory. Along
with the translation, each table entry holds attributes for that page, for example, whether a
location is cacheable.
Recently used translations are kept in translation lookaside buffers (TLBs) in hardware. In
the MPC850, software handles the table lookup and TLB reload with little hardware
assistance. This offers a flexible translation table structure choice, because many systems
would not benefit from a full-featured hardware translation mechanism.
Chapter 8. Memory Management Unit
Address Translation

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc850deMpc850dslMpc850sr

Table of Contents