
1:78
Volume 1, Part 1: Application Programming Model
only during the epilog phase and is initialized to one more than the number of epilog
stages. If the qualifying predicate is zero during the speculative stages of the prolog,
EC will be decremented during this part of the prolog, and the initialization value for EC
is increased accordingly.
4.5.2
Branch Prediction Hints
Information about branch behavior can be provided to the processor to improve branch
prediction. This information can be encoded in two ways: with branch hints as part of a
branch instruction (referred to as hints), and with separate Branch Predict instructions
(
brp
) where the entire instruction is hint information. Hints and
brp
instructions do not
affect the functional behavior of the program and may be ignored by the processor.
Branch instructions can provide three types of hints:
•
Whether prediction strategy:
This describes (for COND, CALL and RET type
branches) how the processor should predict the branch condition. (For the loop type
branches, prediction is based on LC and EC.) The suggested strategies that can be
hinted are shown in
•
Sequential prefetch:
This indicates how much code the processor should prefetch
at the branch target (shown in
). Please see the processor-specific
documentation for further information.
•
Predictor deallocation:
This provides re-use information to allow the hardware to
better manage branch prediction resources. Normally, prediction resources keep
track of the most-recently executed branches. However, sometimes the
most-recently executed branch is not useful to remember, either because it will not
be re-visited any time soon or because a hint instruction will re-supply the
information prior to re-visiting the branch. In such cases, this hint can be used to
free up the prediction resources.
Table 4-26.
Whether Prediction Hint on Branches
Completer
Strategy
Operation
spnt
Static Not-Taken
Ignore this branch, do not allocate prediction resources for this
branch.
sptk
Static Taken
Always predict taken, do not allocate prediction resources for
this branch.
dpnt
Dynamic Not-Taken
Use dynamic prediction hardware. If no dynamic history
information exists for this branch, predict not-taken.
dptk
Dynamic Taken
Use dynamic prediction hardware. If no dynamic history
information exists for this branch, predict taken.
Table 4-27.
Sequential Prefetch Hint on Branches
Completer
Sequential Prefetch
Hint
Operation
few
Prefetch few lines
When prefetching code at the branch target, stop prefetching
after a few (implementation-dependent number of) lines.
many
Prefetch many lines
When prefetching code at the branch target, prefetch more
lines (also an implementation-dependent number).
Содержание 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 ...