
2:80
Volume 2, Part 1: Addressing and Protection
Prefetches are enabled if a speculative translation exists. Prefetches are asynchronous
data and instruction memory accesses that appear logically to initiate and finish
between some pair of instructions. This access may not be visible to subsequent flush
cache (
fc
,
fc.i
) and/or TLB purge instructions. This behavior is
implementation-dependent.
The processor will not initiate memory references (16-byte instruction bundle fetches,
IA-32 instruction fetches, RSE fills and spills, VHPT references, and data memory
accesses) to non-speculative pages until all previous control dependencies (predicates,
branches, and exceptions) are resolved; i.e., the memory reference is required by an
in-order execution of the program. Additionally, for references to non-speculative
pages, the processor:
• May not generate any memory access for a control or data speculative data
reference.
• Will generate exactly one memory access for each aligned, non-speculative data
reference. (Misaligned data references may cause multiple memory accesses,
although these accesses are guaranteed to be non-overlapping – each byte will be
accessed exactly once.)
• May generate multiple 16-byte memory accesses (to the same address) for each
16-byte instruction bundle fetch reference.
To ensure virtual and physical accesses to non-speculative pages are performed in
program order and only once per program order occurrence, the rules in
and
are defined. Software should also ensure that RSE spill/fill transactions are
not performed to non-speculative memory that may contain I/O devices; otherwise,
system behavior is undefined.
Table 4-13.
Permitted Speculation
Memory
Attribute
Load
(ld)
a
a. Includes the faulting form of line prefetch (
lfetch.fault
).
Speculative
Load
(ld.s)
b
b. Includes the non-faulting form of line prefetch (
lfetch
), which does not cause a cache fill if the memory
attribute is non-speculative or limited speculation.
Advanced
Load
(ld.a)
Speculative
Advanced
Load (ld.sa)
Hardware-generated
Speculative
References
c
c. Hardware-generated speculative references include non-demand instruction prefetches (including IA-32),
hardware-generated data prefetch references, and eager RSE memory references.
Speculative
Yes
Yes
Yes
Yes
Yes
Non-speculative
Yes
Always Fail
Always Fail
Always Fail
Prohibited
Limited Speculation
Yes
Always Fail
Yes
Always Fail
Limited
d
d. The processor may only issue hardware-generated speculative references to a 4K-byte physical page if it is a
verified page.
Table 4-14.
Register Return Values on Non-faulting Advanced/Speculative
Loads
Memory
Attribute
Speculative Load
(ld.s)
Advanced Load
(ld.a)
Speculative Advanced Load
(ld.sa)
Success
Failure
Success
Failure
Success
Failure
Speculative
Value
Nat
a
Value
N/a
Value
NaT
Non-speculative
N/A
Nat
b
N/A
Zero
c
N/A
NaT
Limited Speculation
N/A
Value
N/a
N/a
NaT
Содержание 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 ...