EasyManua.ls Logo

Sun Microsystems UltraSPARC-I - Page 51

Sun Microsystems UltraSPARC-I
410 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Sun Microelectronics
36
UltraSPARC User’s Manual
Non-faulting loads are issued with ASI_PRIMARY_NO_FAULT{_LITTLE}, or
ASI_SECONDARY_NO_FAULT{_LITTLE}. A store with a NO_FAULT ASI causes
a
data_access_exception
trap (with SFSR.FT=8, Illegal RW).
When a non-faulting load encounters a TLB miss, the operating system should at-
tempt to translate the page. If the translation results in an error (for example, ad-
dress out of range), a 0 is returned and the load completes silently.
Typically, optimizers use non-faulting loads to move loads before conditional
control structures that guard their use. This technique potentially increases the
distance between a load of data and the first use of that data, in order to hide la-
tency; it allows for more flexibility in code scheduling. It also allows for im-
proved performance in certain algorithms by removing address checking from
the critical code path.
For example, when following a linked list, non-faulting loads allow the null
pointer to be accessed safely in a read-ahead fashion if the OS can ensure that the
page at virtual address 0
16
is accessed with no penalty. The NFO (non-fault access
only) bit in the MMU marks pages that are mapped for safe access by non-fault-
ing loads, but can still cause a trap by other, normal accesses. This allows pro-
grammers to trap on wild pointer references (many programmers count on an
exception being generated when accessing address 0
16
to debug code) while ben-
efitting from the acceleration of non-faulting access in debugged library routines.
5.3.5 PREFETCH Instructions
Table 5-2 shows which UltraSPARC models support the PREFETCH{A} instruc-
tions.
UltraSPARC models that do not support PREFETCH treat it as a NOP.
5.3.5.1 PREFETCH Behavior and Limitations
UltraSPARC processors that do support PREFETCH behave in the following
ways:
All PREFETCH instructions are enqueued on the load buffer, except as noted
below.
Table 5-2 PREFETCH{A} Instruction Support
UltraSPARC-I UltraSPARC-II
PREFETCH{A}
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

Table of Contents