![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 863](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_2073404863.webp)
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.
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 ...