Volume 2, Part 1: Addressing and Protection
2:45
Addressing and Protection
4
This chapter defines operating system resources to translate 64-bit virtual addresses
into physical addresses, 32-bit virtual addressing, virtual aliasing, physical addressing,
memory ordering and properties of physical memory. Register state defined to support
virtual memory management is defined in
provides
complete information on virtual memory faults.
Note:
Unless otherwise noted, references to “interruption” in this chapter refer to
IVA-based interruptions. See
“Interruption Definitions” on page 2:95
.
The following key features are supported by the virtual memory model.
• Virtual Regions are defined to support contemporary operating system Multiple
Address Space (MAS) models of placing each process within a unique address
space. Region identifiers uniquely tag virtual address mappings to a given process.
• Protection Domain mechanisms support the Single Address Space (SAS) model,
where processes co-exist within the same virtual address space.
• Translation Lookaside Buffer (TLB) structures are defined to support
high-performance paged virtual memory systems. Software TLB fill and protection
handlers are utilized to defer translation policies and protection algorithms to the
operating system.
• A Virtual Hash Page Table (VHPT) is designed to augment the performance of the
TLB. The VHPT is an extension of the processor’s TLB that resides in memory and
can be automatically searched by the processor. A particular operating system page
table format is not dictated. However, the VHPT is designed to mesh with two
common translation structures: the virtual linear page table and hashed page table.
Enabling of the VHPT and the size of the VHPT are completely under software
control.
• Sparse 64-bit virtual addressing is supported by providing for large translation
arrays (including multiple levels of hierarchy similar to a cache hierarchy), efficient
translation miss handling support, multiple page sizes, pinned translations, and
mechanisms to promote sharing of TLB and page table resources.
4.1
Virtual Addressing
As seen by Itanium architecture-based application programs, the virtual addressing
model is fundamentally a 64-bit flat linear virtual address space. 64-bit general
registers are used as pointers into this address space. IA-32 32-bit virtual linear
addresses are zero extended into the 64-bit virtual address space.
, the 64-bit virtual address space is divided into eight 2
61
byte
virtual regions. The region is selected by the upper 3-bits of the virtual address.
Associated with each virtual region is a region register that specifies a 24-bit region
identifier (unique address space number) for the region. Eight out of the possible 2
24
virtual address spaces are concurrently accessible via the 8 region registers. The region
identifier can be considered the high order address bits of a large 85-bit global address
space for a single address space model, or as a unique ID for a multiple address space
model.
Содержание 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 ...