
Volume 2, Part 2: Memory Management
2:571
The
ptc.ga
variant of the global purge instruction behaves just like the
ptc.g
variant,
but it also removes any ALAT entries which fall into the address range specified by the
global shootdown from all remote processors’ ALATs. The
ptc.ga
variant is intended to
be used whenever a translation is remapped to a different physical address to ensure
that any stale ALAT entries are invalidated. Note that the
ptc.ga
is not guaranteed to
affect the issuing processor's ALAT; processor implementations may optionally remove
matching entries from the local ALAT, therefore software must perform a local ALAT
invalidation via the
invala
instruction on the processor issuing the
ptc.ga
to ensure
the local ALAT is coherent.
Note that processors based on the Itanium architecture may support one or more
implementation-dependent purge sizes; some implementations may include a
region-wide purge. The PAL_VM_PAGE_SIZE firmware call returns the supported page
sizes for purges for a particular processor implementation. Refer to
for details. When software wishes to purge an address range
that is much larger than the largest supported purge size from all TCs in the coherence
domain, performance may be enhanced by issuing inter-processor interrupts to all
processors and using the
ptc.e
on each processor,
instead of issuing many
ptc.g
instructions from one processor.
ptc.g
instructions do not apply to processors outside the coherence domain of the
processor issuing the
ptc.g
instruction. Systems with multiple coherence domains must
use a platform-specific method for maintaining TLB coherence across coherence
domains.
5.3
Virtual Hash Page Table
The Itanium architecture defines a data structure that allows for the insertion of TLB
entries by a hardware mechanism. The data structure is called the “virtual hash page
table” (VHPT) and the hardware mechanism is called the VHPT walker.
Unlike the IA-32 page tables, the Itanium VHPT itself is virtually mapped, i.e. VHPT
walker references can take TLB faults themselves. Virtual mapping of the page tables is
needed because the page tables for 2
64
address space are quite large and typically do
not fit into physical memory.
The Itanium architecture prescribes the format of a leaf-node page table entry (PTE)
seen by the VHPT walker, but does not impose an OS page table data structure itself. As
summarized in
, the architecture support two different VHPT formats:
•
Short
format uses 8-byte PTEs, and is a linear page table. The short format VHPT
does not contain protection key information (there are not enough PTE bits for
that). Short format is a per-region linear page table, i.e. the PTEs and hash function
are independent of the RID. The short format prefers use of a self-mapped page
table. The short format VHPT is an efficient representation for address spaces that
contain only a few large clusters of pages, like the text, data, and stack segments
of applications running on a MAS operating system.
•
Long
format uses 32-byte PTEs, and is a hashed page table. The hash function
embedded in hardware. The long format supports protection keys and the use of
multiple page sizes in a region. The long format hash and tag functions incorporate
the RID, and allows multiple address space translations to be present in the same
VHPT. The long format is expected to be used either as a cache of the real OS page
Содержание 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 ...