Volume 2, Part 1: System State and Programming Model
2:19
The control registers are different from the general registers and other registers. Most
control registers require an explicit data serialization between the writing of a control
register and the reading of that same control register. (See
for
serialization requirements for specific control registers.)
The Data Serialize (
srlz.d
) instruction performs explicit data serialization. Instruction
serialization operations (
rfi
,
srlz.i
, and interruptions) also perform a data
serialization operation.
Data Serialization Example:
mov rr[reg] = reg
//move into region register
;;
//end of instruction group
srlz.d
//serialize region register modification
ld
//perform a dependent load
The serializing instruction and the instruction to be serialized (the one writing the
resource) must be in two different instruction groups. Operations dependent on the
serialization and the serialization can be in the same instruction group, but the
srlz
instruction must be before the dependent instruction slot.
3.2.3
Definition of In-flight Resources
When the value of a resource that requires an explicit instruction or data serialization is
changed by one or more writers, that resource is said to be
in-flight
until the required
serialization is performed. There can be multiple in-flight values if multiple writers have
occurred since the last serialization.
An instruction that reads an in-flight resource will see one of the in-flight values or the
state prior to any of the unserialized writers. However, whether such a reader sees the
original or one of the in-flight values is not predictable.
For a reader of an in-flight resource, this definition includes (but is not limited to) the
following possible outcomes:
• The reader of an in-flight resource may see the most-recently-serialized value or
any of the in-flight values each time it is executed
–
seeing the value from a
particular writer one time does not guarantee that the same writer’s value will be
seen by that reader the next time.
• Multiple readers of an in-flight resource may see different values
–
each may see
the most-recently-serialized value or any of the in-flight values, independent of
what other readers may see.
• If a single execution of an instruction reads an in-flight resource more than once
during its execution, each read may see a different value.
Thus, the only way to guarantee that the latest value is seen by a reader is to perform
the required serialization.
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 ...