Volume 2, Part 1: Addressing and Protection
2:63
fault is raised. If the region-based short-format VHPT entry contains no reserved bits or
encodings, it is installed into the TLB, and the processor again attempts to translate the
failed instruction or data reference. If the long-format VHPT entry’s tag specifies the
correct region identifier and virtual address, and the entry contains no reserved bits or
encodings, it is installed into the TLB, and the processor again attempts to translate the
failed instruction or data reference. Otherwise the processor raises a TLB Miss fault. The
translation is installed into the TLB even if its VHPT entry is marked as not present
(p=0). Software may optionally search additional VHPT collision chains (associativities)
or search for translations within the operating system’s primary page tables.
Performance is optimized by placing frequently referenced translations within the VHPT
structure directly searched by the processor.
The VHPT walker is optional on a given processor model. Software can neither assume
the presence of a VHPT walker, nor that the VHPT walker will find a translation in the
VHPT. The VHPT walker can abort a search at any time for implementation-specific
reasons, even if the required translation entry is in the VHPT. Operating systems must
regard the VHPT walker strictly as a performance optimization and must be prepared to
handle TLB misses if the walker fails.
VHPT walks may be done speculatively by the processor's VHPT walker. Additionally,
VHPT walks triggered by non-speculatively-executed instructions are not required to be
done in program order. Therefore, if the walker is enabled and if the VHPT contains
multiple entries that map the same virtual address range, software must set up these
entries such that any of them can be used in the translation of any part of this virtual
address range. Additionally, if software inserts a translation into the TLB which is
needed for forward progress, and this translation has a smaller page size than the
translation which would have been inserted on a VHPT walk for the same address, then
software may need to disable the VHPT walker in order to ensure forward progress,
since this inserted translation may be displaced by a VHPT walk before it can be used.
4.1.5.3
Region-based VHPT Short Format
The region-based VHPT short format shown in
uses 8-byte VHPT entries to
support a per-region linear page table configuration. To use the short-format VHPT,
PTA.vf must be set to 0.
See
“Translation Insertion Format” on page 2:53
for a description of all fields. The VHPT
walker provides the following default values when entries are installed into the TLB.
• Virtual Page Number – implied by the position of the entry in the VHPT. The hashed
short-format entry is considered to be the matching translation.
• Region Identifiers are not specified in the short format. To ensure uniqueness,
software must provide unique VHPT mappings per region. Region identifiers
obtained from the referenced region register are tagged with the translation when
inserted into the TLB.
• Page Size – specified by the accessed region’s preferred page size
(RR[VA{63:61}].ps)
Figure 4-10. VHPT Short Format
63
53 52 51 50 49
12 11
9
8
7
6
5
4
2
1
0
ig
ed
rv
ppn
ar
pl
d a
ma
rv p
11
1
2
38
3
2
1
1
3
1
1
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 ...