![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 293](http://html.mh-extra.com/html/intel/itanium-architecture-software-developers-volume-3-rev-2-3/itanium-architecture-software-developers-volume-3-rev-2-3_manual_2073404293.webp)
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.
Summary of Contents for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3
Page 1: ......
Page 11: ...x Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 13: ...1 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 33: ...1 22 Volume 1 Part 1 Introduction to the Intel Itanium Architecture ...
Page 57: ...1 46 Volume 1 Part 1 Execution Environment ...
Page 147: ...1 136 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 149: ...1 138 Volume 1 Part 2 About the Optimization Guide ...
Page 191: ...1 180 Volume 1 Part 2 Predication Control Flow and Instruction Stream ...
Page 230: ......
Page 248: ...236 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 250: ...2 2 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 264: ...2 16 Volume 2 Part 1 Intel Itanium System Environment ...
Page 380: ...2 132 Volume 2 Part 1 Interruptions ...
Page 398: ...2 150 Volume 2 Part 1 Register Stack Engine ...
Page 486: ...2 238 Volume 2 Part 1 IA 32 Interruption Vector Descriptions ...
Page 750: ...2 502 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 754: ...2 506 Volume 2 Part 2 About the System Programmer s Guide ...
Page 796: ...2 548 Volume 2 Part 2 Interruptions and Serialization ...
Page 808: ...2 560 Volume 2 Part 2 Context Management ...
Page 842: ...2 594 Volume 2 Part 2 Floating point System Software ...
Page 850: ...2 602 Volume 2 Part 2 IA 32 Application Support ...
Page 862: ...2 614 Volume 2 Part 2 External Interrupt Architecture ...
Page 870: ...2 622 Volume 2 Part 2 Performance Monitoring Support ...
Page 891: ......
Page 1099: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault ...
Page 1295: ...3 396 Volume 3 Resource and Dependency Semantics ...
Page 1296: ......
Page 1302: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1494: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 1647: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 1884: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 1885: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 1886: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 1898: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...