2:82
Volume 2, Part 1: Addressing and Protection
• It takes an External interrupt, but if it had not taken an External interrupt, it would
have met one of the above qualifications (execute without fault, take an Unaligned
Data Reference fault, or take a Data Debug fault)
Data-speculative loads are treated the same as normal loads, and if an in-order
execution of the program requires the execution of a data speculative load, it
constitutes a verified reference. Control-speculative loads to limited-speculation pages
always defer and thus never constitute verified references.
It is not necessary for a processor to determine whether a reference will complete
without generating a machine check for it to be a verified reference. If software actually
references a physical address which will cause a machine check, hardware may
generate multiple speculative references to the same page, potentially causing multiple
machine checks.
Processors may access verified pages normally, as they would WB pages, including the
use of caching, pipelining and hardware-generate speculative references to improve
performance.
Calling the PAL_PREFETCH_VISIBILITY procedure forces the processor to clear the
storage holding the addresses of verified pages.
4.4.7
Sequentiality Attribute and Ordering
Memory ordering is defined in
Section 4.4.7, “Memory Access Ordering” on page 1:73
This section defines additional ordering rules for non-cacheable memory, cache
synchronization (
sync.i
) and global TLB purge operations (
ptc.g
,
ptc.ga
).
As described in
Section 4.4.7, “Memory Access Ordering” on page 1:73
read-after-write, write-after-write, and write-after-read dependencies to the same
memory location (memory dependency) are performed in program order by the
processor. Otherwise, all other memory references may be performed in any order
unless the reference is specifically marked as ordered. No ordering exists between
instruction accesses and data accesses or between any two instruction accesses. IA-32
memory references follow a stronger processor consistency memory model.
Memory Ordering” on page 2:265.
for IA-32 memory ordering details. Explicit ordering
takes the form of a set of Itanium instructions: ordered load and check load (
ld.acq
,
ld.c.clr.acq
), ordered store (
st.rel
), semaphores (
cmpxchg
,
xchg
,
fetchadd
),
memory fence (
mf
), synchronization (
sync.i
) and global TLB purge (
ptc.g
,
ptc.ga
).
The
sync.i
instruction is used to maintain an ordering relationship between instruction
and data caches on local and remote processors. The global TLB purge instructions
maintain multiprocessor TLB coherence.
For VHPT walks, visibility is defined by the memory read(s) which retrieves translation
information, and the associated insertion of the translation into the TLB. VHPT walks
are performed asynchronously with respect to program execution, and each walker
VHPT read (which appears as though it were performed atomically) is made visible at
some single point in the program order. Ordering constraints from
do not
prevent VHPT walks from becoming visible.
Содержание ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Страница 1: ......
Страница 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 12: ...1 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I Application Architecture Guide ...
Страница 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Страница 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Страница 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Страница 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Страница 230: ......
Страница 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 249: ...2 1 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part I System Architecture Guide ...
Страница 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Страница 380: ...2 132 Volume 2 Part 1 Interruptions ...
Страница 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Страница 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Страница 749: ...2 501 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Part II System Programmer s Guide ...
Страница 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Страница 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Страница 808: ...2 560 Volume 2 Part 2 Context Management ...
Страница 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Страница 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Страница 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Страница 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Страница 891: ......
Страница 941: ...3 42 Volume 3 Instruction Reference cmp illegal_operation_fault PR p1 0 PR p2 0 Interruptions Illegal Operation fault ...
Страница 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Страница 1191: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Страница 1296: ......
Страница 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 1564: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1565: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1568: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1583: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 1663: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 1668: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...