EasyManua.ls Logo

Sun Microsystems UltraSPARC-I - Page 53

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
38
UltraSPARC User’s Manual
5.3.6 Block Loads and Stores
Block load and store instructions work like normal floating-point load and store
instructions, except that the data size (granularity) is 64 bytes per transfer. See
Section 13.6.4, “Block Load and Store Instructions,” on page 230 for a full descrip-
tion of the instructions.
5.3.7 I/O and Accesses with Side-effects
I/O locations may not behave with memory semantics. Loads and stores may
have side-effects; for example, a read access may clear a register or pop an entry
off a FIFO. A write access may set a register address port so that the next access
to that address will read or write a particular internal registers, etc. Such devices
are considered order sensitive. Also, such devices may only allow accesses of a
fixed size, so store buffer merging of adjacent stores or stores within a 16-byte re-
gion will cause an access error.
The UltraSPARC MMU includes an attribute bit (the E-Bit) in each page transla-
tion, which, when set, indicates that access to this page cause side effects. Access-
es other than block loads or stores to pages that have this bit set have the
following behavior:
Noncacheable accesses are strongly ordered with respect to each other
Noncacheable loads with the E-bit set will not be issued until all previous
control transfers (including exceptions) are resolved.
Store buffer compression is disabled for noncacheable accesses.
Non-faulting loads are not allowed and will cause a
data_access_exception
trap
(with SFSR.FT = 2, speculative load to page marked E-bit).
A MEMBAR may be needed between side-effect and non-side-effect accesses
while in PSO and RMO modes.
5.3.8 Instruction Prefetch to Side-Effect Locations
UltraSPARC does instruction prefetching and follows branches that it predicts
will be taken. Addresses mapped by the I-MMU may be accessed even though
they are not actually executed by the program. Normally, locations with side ef-
fects or those that generate time-outs or bus errors will not be mapped by the
I-MMU, so prefetching will not cause problems. When running with the I-MMU
disabled, however, software must avoid placing data in the path of a control
transfer instruction target or sequentially following a trap or conditional branch
instruction. Data can be placed sequentially following the delay slot of a BA(,pt),
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

Table of Contents