
Volume 1, Part 1: IA-32 Application Execution Model in an Intel
®
Itanium
®
System Environment
1:131
6.2.3.1
Memory Endianess
Memory integer and floating-point (IEEE) data types are binary compatible between the
IA-32 and Itanium instruction sets. Itanium architecture-based applications and
operating systems that interact with IA-32 code should use “little-endian” accesses to
ensure that memory formats are the same. All IA-32 instruction data and instruction
memory references are forced to “little-endian.”
6.2.3.2
IA-32 Segmentation
Segmentation is not used for Itanium instruction set memory references. Segmentation
is performed on IA-32 instruction set memory references based on the state of
EFLAG.vm and CFLG.pe. Either Real Mode, VM86, or Protected Mode segmentation
rules are followed as defined in the
Intel
®
64 and IA-32 Architectures Software
Developer’s Manual
,
specifically:
•
IA-32 Data 16/32-bit Effective Addresses:
16 or 32-bit effective addresses are
generated, based on CSD.d, SSD.b and prefix overrides, by the addition of a base
register, scaled index register and 16/32-bit displacement value. Starting effective
addresses (first byte of multi-byte operands) larger than 16 or 32 bits are truncated
to 16 or 32-bits. Ending (last byte of multi-byte operands) 16-bit effective
addresses can extend above the 64K byte boundary, however, ending 32-bit
effective addresses are truncated to 32-bits and do not extend above the 4G-byte
effective address boundary. Refer to the
Intel
®
64 and IA-32 Architectures
Software Developer’s Manual
for complete details on wrap conditions.
•
IA-32 Code 16/32-bit Effective Addresses:
16 or 32-bit EIP, based on CSD.d, is
used as the effective address. Starting EIP values (first byte of multi-byte
instruction) larger than 16 or 32 bits are truncated to 16 or 32-bits. Ending (last
byte of multi-byte instruction) 16-bit effective addresses can extend above the 64K
byte boundary, however, ending 32-bit EIP values are truncated to 32-bits and do
not extend above the 4G-byte effective address boundary.
•
IA-32 32-bit Virtual Address Generation:
The resultant 16 or 32-bit effective
address is mapped into the 32-bit virtual address space by the addition of a
segment base. Full segment protection and limit checks are verified as specified by
the
Intel
®
64 and IA-32 Architectures Software Developer’s Manual
and
additional checks as specified in this section. Starting 32-bit virtual addresses are
truncated to 32-bits after the addition of the segment base. Ending virtual address
Figure 6-5.
Memory Addressing Model
Base
Index
Displacement
Base
Segmentation
+
16-/32-bit
32-bit Virtual
IA-32
Intel
®
Itanium
®
Address
Zero
64-bit Virtual
Address
Effective Address
Extend
Architecture
Содержание 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 ...