Volume 2, Part 2: I/O Architecture
2:615
I/O Architecture
11
I/O devices can be accessed from Itanium architecture-based programs using regular
loads and stores to uncacheable space. While cacheable Itanium memory references
may be reordered by the processor, uncacheable I/O references are always presented
to the platform in program order. This “sequentiality” of uncacheable references is
discussed in
Section 2.2.2, “Memory Attributes” on page 2:524
and in more detail in
Section 4.4.7, “Sequentiality Attribute and Ordering” on page 2:82
.
Additionally, uncacheable memory pages are defined to be “non-speculative” which
causes all data and control speculative loads to uncacheable pages to defer. Control
speculative loads to uncacheable memory return a NaT/NaTVal to their target register.
Data speculative loads to uncacheable memory return zero to their target register. For
details, refer to
Section 4.4.6, “Speculation Attributes” on page 2:79
.
When configuring chipset registers or setting up device registers, it is sometimes
required to know when a memory transaction has been completed. Completion means
the processor received acknowledgment that the transaction finished successfully in the
platform, and that all its side-effects have occurred and will be visible to the next
memory operation (issued by the same processor). To ensure completion of prior
accesses on the platform, the Itanium architecture provides the
mf.a
instruction. Unlike
the
mf
instruction that waits for
visibility
of prior operations, the
mf.a
waits for
completion
of prior operations on the platform. More details in
.
To fully leverage the large set of existing platform infrastructure and I/O devices, the
architecture also supports the IA-32 platform I/O port space. The Itanium instruction
set does not provide IN and OUT instructions, but they can be emulated. The I/O port
space can be mapped into user-space, and IA-32 applications can use IN and OUT
instructions to directly communicate with the I/O port space. More details in
.
The Itanium architecture provides a high-performance, high-bandwidth uncacheable
memory attribute that supports write-coalescing. This allows the processor to burst
writes to uncacheable locations at much higher bandwidth. The Itanium architecture
does
not
guarantee the FIFO delivery of write-coalescing stores. More details in
Section 4.4.5, “Coalescing Attribute” on page 2:78
.
11.1
Memory Acceptance Fence (mf.a)
An
mf
instruction ensures that all cache coherent agents have observed all prior
memory operations made by the processor issuing the
mf
. However, it does
not
ensure
that those operations have completed, in the Itanium architecture parlance it does not
ensure that they have been “accepted” by the external platform. For instance, a load
may have been made visible to all processors by snooping their caches, but the data
return may still be in progress. Such a load would be visible, but not complete.
Содержание 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 ...