2:66
Volume 2, Part 1: Addressing and Protection
in which the VHPT is enabled, the operating system is required to maintain a per-region
linear page table. As defined in
, the VHPT walker uses the virtual address,
the region’s preferred page size, and the PTA.size field to compute a linear index into
the short-format VHPT.
The size of the short-format VHPT (PTA.size) defines the size of the mapped virtual
address space. The maximum architectural table size in the short format is 2
52
bytes
per region. To map an entire region (2
61
bytes) using 4Kbyte pages, 2
(61-12)
= 2
49
pages must be mappable. A short-format VHPT entry is 8 bytes = 2
3
bytes large. As a
result, the maximum table size is 2
(61-12+3)
= 2
52
bytes per region. If the short format
is used to map an address space smaller than 2
61
, a smaller short-format table
(PTA.size<52) can be used. Mapping of an address space of 2
n
with 4KByte pages
requires a minimum PTA.size of (n-9).
In the short format, the
thash
instruction returns the region-based short-format index
defined in
. The
ttag
instruction is not used with the short format. VHPT
translation and TLB miss faults write the IHA register with the region-based
short-format index defined in
4.1.6.2
Long-format VHPT Hash
The long-format VHPT is a single large contiguous hash table that resides in the region
defined by PTA.base. As defined in
, the VHPT walker uses the virtual
address, the region identifier, the region’s preferred page size, and the PTA.size field to
compute a hash index into the long-format VHPT. PTA{63:15} defines the base address
and the region of the long-format VHPT. PTA.size reflects the size of the hash table, and
is typically set to a number significantly smaller than 2
64
; the exact number is based on
operating system performance requirements.
The long-format hash function (
tlb_vhpt_hash_long
) and long-format tag generation
function are implementation specific. However, on all processor models the hash and
tag functions must exclude the virtual region number (virtual address bits VA{63:61})
from the hash and tag computations. This ensures that a unique 85-bit global virtual
address hashes to the same VHPT hash address, regardless of which region the address
is mapped to. All processor implementations guarantee that the most significant bit of
Figure 4-14. Region-based VHPT Short-format Index Function
Mask = (1 << PTA.size) - 1;
VHPT_Offset = (VA{IMPL_VA_MSB:0} u>> RR[VA{63:61}].ps) << 3;
VHPT_Addr = (VA{63:61} << 61) |
(((PTA{60:15} & ~Mask{60:15}) | (VHPT_Offset{60:15} &
Mask{60:15})) << 15) |
VHPT_Offset{14:0};
Figure 4-15. VHPT Long-format Hash Function
Mask = (1 << PTA.size) - 1;
HPN = VA{IMPL_VA_MSB:0} u>> RR[VA{63:61}].ps;
Hash_Index = tlb_vhpt_hash_long(HPN,RR[VA{63:61}].rid);
// model-specific hash function
VHPT_Offset = Hash_Index << 5;
VHPT_Addr = (PTA{63:61} << 61) |
(((PTA{60:15} & ~Mask{60:15}) | (VHPT_Offset{60:15}
& Mask{60:15})) << 15) | VHPT_Offset{14:0};
Содержание 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 ...