
1:72
Volume 1, Part 1: Application Programming Model
The following instructions are defined for flush control: flush cache (
fc
,
fc.i
) and flush
write buffers (
fwb
). The
fc
instruction invalidates the cache line in all levels of the
memory hierarchy above memory. If the cache line is not consistent with memory, then
it is copied into memory before invalidation. The
fc.i
instruction ensures the data
cache line associated with an address is coherent with the instruction caches. The
fc.i
instruction is not required to invalidate the targeted cache line nor write the targeted
cache line back to memory if it is inconsistent with memory, but may do so if this is
required to make the targeted cache line coherent with the instruction caches. The
fwb
instruction provides a hint to flush all pending buffered writes to memory (no indication
of completion occurs).
summarizes the memory hierarchy control instructions and hint
mechanisms.
4.4.6.2
Memory Consistency
In the Itanium architecture, instruction accesses made by a processor are not coherent
with respect to instruction and/or data accesses made by any other processor, nor are
instruction accesses made by a processor coherent with respect to data accesses made
by that same processor. Therefore, hardware is not required to keep a processor’s
instruction caches consistent with respect to any processor’s data caches, including that
processor’s own data caches; nor is hardware required to keep a processor’s instruction
caches consistent with respect to any other processor’s instruction caches. Data
accesses from different processors in the same coherence domain are coherent with
respect to each other; this consistency is provided by the hardware. Data accesses
from the same processor are subject to data dependency rules; see
below.
The mechanism(s) by which coherence is maintained is implementation dependent.
Separate or unified structures for caching data and instructions are not architecturally
visible. Within this context there are two categories of data memory hierarchy control:
allocation and flush. Allocation refers to movement towards the processor in the
hierarchy (lower numbered levels) and flush refers to movement away from the
processor in the hierarchy (higher numbered levels). Allocation and flush occur in
line-sized units; the minimum architecturally visible line size is 32 bytes (aligned on a
32-byte boundary). The line size in an implementation may be smaller in which case
the implementation will need to move multiple lines for each allocation and flush event.
An implementation may allocate and flush in units larger than 32 bytes.
In order to guarantee that a write from a given processor becomes visible to the
instruction stream of that same, and other, processors, the affected line(s) must be
made coherent with instruction caches. Software may use the
fc.i
instruction for this
Table 4-19. Memory Hierarchy Control Instructions and Hint Mechanisms
Mnemonic
Operation
.nt1
and.
nta
completer on loads
Load usage hints
.nta
completer on stores
Store usage hints
Prefetch line at post-increment address on loads and stores
Prefetch hint
lfetch,
lfetch.fault
with
.nt1
,.
nt2
, and
.nta
hints
Prefetch line
fc,
fc.i
Flush cache
fwb
Flush write buffers
Содержание 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 ...