Volume 2, Part 1: Itanium
®
Architecture-based Operating System Interaction Model with IA-32 Applications
2:261
10.6.2
IA-32 Virtual Memory References
By definition, IA-32 instruction and data memory references are confined to 32-bits of
virtual addressing, the first 4 G-bytes of virtual region 0. However, IA-32 memory
references can be mapped anywhere within the implemented physical address space by
operating system code.
Virtual addresses are converted into physical addresses through the process defined in
Section 4.1, “Virtual Addressing” on page 2:45
. IA-32 references use the Itanium TLB
resources as follows.
•
Region Identifiers
–
Operating systems can place IA-32 processes within virtual
region 0, and use the entire 2
24
region identifier name space. By using region
identifiers there is no requirement to flush IA-32 mappings on a context switch.
•
Protection Keys
–
Operating systems can place mappings used by IA-32
processes within any number of protection domains. If PSR.pk is 1, all IA-32
references search the Protection Key Registers (PKR) for matching keys. If a key is
not found, a Key Miss fault is generated. Otherwise, key read, write, execute
permissions are verified.
•
TLB Access Bit
–
If this bit is zero, an Access Bit fault is generated during Itanium
or IA-32 instruction set memory references. Note: the processor does not
automatically set the Access bit in the VHPT on every reference to the page. Access
bit updates are controlled by the operating system.
•
TLB Dirty Bit
–
If this bit is zero, a Dirty bit fault is generated during any Itanium
or IA-32 instruction that stores to a dirty page. Note: the processor does not
automatically set the Dirty bit in the VHPT on every write. Dirty bit updates are
managed by the operating system.
10.6.3
IA-32 TLB Forward Progress Requirements
To ensure forward progress while executing IA-32 instructions, additional TLB resources
and replacement policies must be defined over and above the definition given in
Section 4.1.1.2, “Translation Cache (TC)” on page 2:49
. IA-32 instructions and data
accesses may not be aligned resulting in a worst case scenario for two possible pages
being referenced for every memory datum referenced during the execution of an IA-32
instruction. Furthermore, the worst case non-intercepted IA-32 opcode can reference
up to 4 independent data pages.
The Translation Cache’s (TC) are required to have the following minimum set of
resources to ensure forward progress. Given that software TLB fills can be used to
insert entries into the TLB and a hardware page table walker is not necessarily used,
the following requirements must be satisfied by the processor:
• Instruction Translation Cache
–
at least 1 way set associative with 2 sets, or 2
entries in a fully associative design. Replacement algorithms must not consistently
displace the last 2 entries installed by software.
• Data Translation Cache
–
at least 4 way set associative with 2 sets, or 8 entries in a
fully associative design. Replacement algorithms must not consistently displace the
last 8 entries installed by software or the last 8 translations referenced by an IA-32
instruction.
Содержание 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 ...