![Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS VOLUME 3 REV 2.3 Manual Download Page 47](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_2073404047.webp)
1:36
Volume 1, Part 1: Execution Environment
3.2
Memory
This section describes an Itanium architecture-based application program’s view of
memory. This includes a description of how memory is accessed, for both 32-bit and
64-bit applications. The size and alignment of addressable units in memory is also
given, along with a description of how byte ordering is handled.
The system view of memory and of virtual memory management is given in
“Addressing and Protection” in Volume 2
. The IA-32 instruction set view of memory
and virtual memory management is defined in
Section 10.6, “System Memory Model”
.
3.2.1
Application Memory Addressing Model
Memory is byte addressable and is accessed with 64-bit pointers. A 32-bit pointer
model without a hardware mode is supported architecturally. Pointers which are 32 bits
in memory are loaded and manipulated in 64-bit registers. Software must explicitly
convert 32-bit pointers into 64-bit pointers before use. For details on 32-bit addressing,
refer to
“32-bit Virtual Addressing” on page 2:71
3.2.2
Addressable Units and Alignment
Memory can be addressed in units of 1, 2, 4, 8, 10 and 16 bytes.
It is recommended that all addressable units be stored on their naturally aligned
boundaries. Hardware and/or operating system software may have support for
unaligned accesses, possibly with some performance cost. 10-byte floating-point values
should be stored on 16-byte aligned boundaries.
Bits within larger units are always numbered from 0 starting with the least-significant
bit. Quantities loaded from memory to general registers are always placed in the
least-significant portion of the register (loaded values are placed right justified in the
target general register).
Instruction bundles (three instructions per bundle) are 16-byte units that are always
aligned on 16-byte boundaries.
3.2.3
Byte Ordering
The UM.be bit in the User Mask controls whether loads and stores use little-endian or
big-endian byte ordering for Itanium architecture-based code. When the UM.be bit is 0,
larger-than-byte loads and stores are little endian (lower-addressed bytes in memory
correspond to the lower-order bytes in the register). When the UM.be bit is 1,
x2
33
Processor implements
mpy4
and
mpyshl4
instructions (see
instruction in
rv
63:34
Table 3-8.
CPUID Register 4 Fields (Continued)
Field
Bits
Description
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 ...