Volume 2, Part 2: Memory Management
2:573
5.3.2
Long Format
The long format VHPT is organized as a hash table which contains a subset of all
translation entries. The long format VHPT entries contain a 8-byte field that is ignored
by the VHPT walker and can be used by the operating system to link VHPT entries to
software-walkable hash collision chains if it uses the VHPT as its primary page table.
The size of the long format VHPT is usually kept small enough to keep a mapping for it
in one of the translation registers (TRs), so it is not necessary to handle VHPT
translation faults.
The long format hash algorithm is based on the per-region preferred page size, but a
translation for a larger page can still be entered into the VHPT by subdividing the large
page into multiple smaller pages with the preferred page size and placing an entry for
the large page at all VHPT locations that correspond to the smaller pages.
5.3.3
VHPT Updates
Visibility of VHPT updates to a VHPT walker on another processor follows the rules
outlined in
Section 4.1.7, “VHPT Environment” on page 2:67
. Since a global TLB purge
has release semantics, prior modifications to the VHPT will be visible to operations that
occur after the TLB purge operation.
Atomic updates to short format VHPT entries can easily be done through 8-byte stores.
For atomic updates of long format VHPT entries, the “ti” flag in bit 63 of the tag field
can be utilized as follows:
• Set the “ti” bit to 1.
• Issue a memory fence.
• Update the entry.
• Clear the “ti” bit through a store with release semantics.
5.4
TLB Miss Handlers
The Itanium architecture enables lightweight TLB fault handlers by providing individual
entry points for different excepting conditions and by pre-setting the translation
insertion registers for the various types of TLB faults. The following subsections list the
typical steps for resolving each kind of fault.
5.4.1
Data/Instruction TLB Miss Vectors
These faults occur when the data or instruction TLB required for a data access or
instruction fetch is not found in the processor TLBs, the VHPT walker is enabled, and:
• Either the VHPT walker aborted the walk (for any reason and at any time), or
• The VHPT walker found the translation but the insert failed (due to tag mismatch in
the long format or badly formed PTE), or
• The walker is not implemented on this processor.
There is a separate vector for each fault type (data and instruction).
Содержание 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 ...