Volume 2, Part 2: Memory Management
2:561
Memory Management
5
This chapter introduces various memory management mechanisms of the Itanium
architecture: region register model, protection keys, and the virtual hash page table
usage models are described. This chapter also discusses usage of the architecture
translation registers and translation caches. Outlines are provided for common TLB and
VHPT miss handlers.
5.1
Address Space Model
The Itanium architecture provides a byte-addressable 64-bit virtual address space. The
address space is divided into 8 equally-sized sections called regions. Each region is 2
61
bytes in size and is tagged with a unique region identifier (RID). As a result, the
processor TLBs can hold translations from many different address spaces concurrently,
and need not be flushed on address space switches. The regions provide the basic
virtual memory architecture to support multiple address space (MAS) operating
systems.
Additionally, each translation in the TLB contains a protection key that is matched
against a set of software maintained protection key registers. The protection keys are
orthogonal to the region model and allow efficient object sharing between different
address spaces. The protection key registers provide the basic virtual memory
architecture to support single address space (SAS) operating systems.
5.1.1
Regions
For each of the eight regions, there is a corresponding region register (RR), which
contains a RID for that region. The operating system is responsible for managing the
contents of the region registers. RIDs are between 18 and 24 bits wide, depending on
the processor implementation. This allows an Itanium architecture-based operating
system to uniquely address up to 2
24
address spaces each of which can be up to 2
61
bytes in virtual size. An address space is made accessible to software by loading its RID
into one of the eight region registers.
Address Translation:
The upper 3 bits of a 64-bit virtual address (bits 63:61) identify
the region to which the address belongs; these are called the virtual region number
(VRN) bits. When a virtual address is translated to a physical address, the VRN bits
select a region register which provides the RID used for this translation. Each TLB entry
contains the RID tag bits for the translation it maps; these are matched against the RID
bits from the selected region register when the TLB is looked up during address
translation. Address translation only succeeds if the RID and VPN bits from the virtual
address match the RID and VPN bits from the TLB entry. Note that the VRN bits are
used only to select the region register, are not matched against the TLB entries.
Inserting/Purging of Translations:
When a translation is inserted into the processor
TLBs (either by software, or by the processor's hardware page walker), the VRN bits of
the virtual address translation being inserted are used only to index the corresponding
Содержание 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 ...