
Sun Microelectronics
52
UltraSPARC User’s Manual
See Section 8.3, “Alternate Address Spaces,” on page 146 for a summary of the
UltraSPARC ASI map.
6.6 ASI Value, Context, and Endianness Selection for Translation
The MMU uses a two-step process to select the context for a translation:
1.
The ASI is determined (conceptually by the Integer Unit) from the
instruction, trap level, and the processor endian mode
2.
The context register is determined directly from the ASI.
The ASI value and endianness (little or big) are determined for the I-MMU and
D-MMU respectively according to Table 6-6 and Table 6-7 on page 53.
Note:
The secondary context is never used to fetch instructions. The I-MMU
uses the value stored in the D-MMU Primary Context register when using the
Primary Context identifier; there is no I-MMU Primary Context register.
Note:
The endianness of a data access is specified by three conditions: the ASI
specified in the opcode or ASI register, the PSTATE current little endian bit, and
the D-MMU invert endianness bit. The D-MMU invert endianness bit does not
affect the ASI value recorded in the SFSR, but does invert the endianness that is
otherwise specified for the access.
Note:
The D-MMU Invert Endianness (IE) bit inverts the endianness for all
accesses to translating ASIs, including LD/ST/Atomic alternates that have
specified an ASI. That is,
LDXA [%g1]ASI_PRIMARY_LITTLE
will be big-endian
if the IE bit is on. Accesses to non-translating ASIs are not affected by the
D-MMU’s IE bit. See Section 8.3, “Alternate Address Spaces,” on page 146 for
information about non-translating ASIs
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com