
1:118
Volume 1, Part 1: IA-32 Application Execution Model in an Intel
®
Itanium
®
System Environment
EIP is added to the code segment base and zero extended into a 64-bit virtual address
on every IA-32 instruction fetch. If during an IA-32 instruction fetch, EIP exceeds the
code segment limit, a GPFault is generated on the referencing instruction. Effective
instruction addresses (sequential values or jump targets) above 4G-bytes are truncated
to 32 bits, resulting in a 4-G byte wraparound condition.
6.2.2.3
IA-32 Segment Registers
IA-32 segment selectors and descriptors are mapped to GR16 - GR29 and AR25 - AR26.
Descriptors are maintained in an unscrambled format shown in
. This format
differs from the IA-32 scrambled memory descriptor format. The unscrambled register
format is designed to support fast conversion of IA-32 segmented 16/32-bit pointers
into virtual addresses by Itanium architecture-based code. IA-32 segment register load
instructions unscramble the GDT/LDT memory format into the descriptor register
format on a segment register load. Itanium architecture-based software can also
directly load descriptor registers provided they are properly unscrambled by software.
When Itanium architecture-based software loads these registers, no data integrity
checks are performed at that time if illegal values are loaded in any fields. For a
complete definition of all bit fields and field semantics refer to the
Intel
®
64 and
IA-32 Architectures Software Developer’s Manual
.
Figure 6-4.
IA-32 Segment Register Selector Format
63
48 47
32 31
16 15
0
GS
FS
ES
DS
GR16
TSS
LDT
SS
CS
GR17
Figure 6-5.
IA-32 Code/Data Segment Register Descriptor Format
63 62 61 60 59 58 57 56 55
52 51
32 31
0
g d/b ig av p
dpl
s
type
lim{19:0}
base{31:0}
Table 6-2.
IA-32 Segment Register Fields
Field
Bits
Description
selector
15:0
Segment Selector value, see the
Intel
®
64 and IA-32 Architectures Software
Developer’s Manual
for bit definition.
base
31:0
Segment Base value. This value when zero extended to 64-bits, points to the start of the
segment in the 64-bit virtual address space for IA-32 instruction set memory references.
lim
51:32
Segment Limit. Contains the maximum effective address value within the segment for
expand up segments for IA-32 instruction set memory references. For expand down
segments, limit defines the minimum effective address within the segment. See the
Intel
®
64 and IA-32 Architectures Software Developer’s Manual
for details and
segment limit fault conditions. The segment limit is scaled by (lim << 12) | 0xFFF if the
segment’s g-bit is 1.
type
55:52
Type identifier for data/code segments, including the Access bit (bit 52). See the
Intel
®
64 and IA-32 Architectures Software Developer’s Manual
for encodings and
definition.
s
56
Non System Segment. If 1, a data segment, if 0 a system segment.
dpl
58:57
Descriptor Privilege Level. The DPL is checked for memory access permission for IA-32
instruction set memory references.
p
59
Segment Present bit. If 0, and a IA-32 memory reference uses this segment an
IA_32_Exception(GPFault) is generated for data segments (CS, DS, ES, FS, GS) and
an IA_32_Exception(StackFault) for SS.
Содержание 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 ...