2:86
Volume 2, Part 1: Addressing and Protection
ld x = [b]
cmp.eq p1 = x, ‘new’
(p1)
br target
...
target:
ld y = [a]
if the second processor observes the store to [b], it will also observe the store to [a].
The flush cache (
fc
,
fc.i
) instruction follows data dependency ordering.
fc
and
fc.i
are ordered only with respect to previous and subsequent load, store, or semaphore
instructions to the same line, regardless of the specified memory attribute. Subsequent
memory operations to the same line need not wait for prior
fc
or
fc.i
completion
before being globally visible.
fc
and
fc.i
are not ordered with respect to memory
operations to different lines.
mf
does not ensure visibility of
fc
and
fc.i
operations.
Instead, the
sync.i
instruction synchronizes
fc
and
fc.i
instructions, and the
sync.i
is made visible using an
mf
instruction.
4.4.8
Not a Thing Attribute (NaTPage)
A NaTPage attribute prevents non-speculative references to a page, and ensures that
speculative references to the page always defer the Data NaT Page Consumption fault.
However, as described in
“Speculation Attributes” on page 2:79
issue memory references to a NaTPage. As a result, all NaTPages must be backed by a
valid physical page.
Speculative or speculative advanced loads to pages marked as a NaTPage cause the
deferred exception indicator (NaT or NaTVal) to be written to the load target register,
and the memory reference is aborted. However, all other effects of the load instruction
such as post-increment are performed. Instruction fetches, loads, stores and
semaphores (including IA-32), but except for Itanium speculative loads, pages marked
as NaTPage raise a NaT Page Consumption fault.
A speculative reference to a page marked as NaTPage may still take lower priority
faults, if not explicitly deferred in the DCR.
See “Deferral of Speculative Load Faults” on
4.4.9
Effects of Memory Attributes on Memory Reference
Instructions
Memory attributes affect the following Itanium instructions.
•
ldfe
,
stfe
: Hardware support for 10-byte memory accesses to a page that is
neither a cacheable page with write-back write policy nor a NaTPage is optional. On
processor implementations that do not support such accesses, an Unsupported
Data Reference Fault is raised when an unsupported reference is attempted.
For extended floating-point loads the fault is delivered only on the normal,
advanced, and check load flavors (
ldfe
,
ldfe.a
,
ldfe.c.nc
,
ldfe.c.clr
). Control
speculative flavors of the
ldfe
instruction that target pages that are not cacheable
with write-back policy always defer the fault. Refer to
for details.
•
cmpxchg
and
xchg
: These instructions are only supported to cacheable pages with
write-back write policy.
cmpxchg
and
xchg
accesses to NaTPages causes a Data NaT
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...