Volume 1, Part 1: Application Programming Model
1:47
Application Programming Model
4
This section describes the architectural functionality from the perspective of the
application programmer. Itanium instructions are grouped into related functions and an
overview of their behavior is given. Unless otherwise noted, all immediates are sign
extended to 64 bits before use. The floating-point programming model is described
separately in
Chapter 5, “Floating-point Programming Model” in Volume 1
. Refer to
Volume 3: Intel® Itanium® Instruction Set Reference
for detailed information on
Itanium instructions.
The main features of the programming model covered here are:
• General Register Stack
• Integer Computation Instructions
• Compare Instructions and Predication
• Memory Access Instructions and Speculation
• Branch Instructions and Branch Prediction
• Multimedia Instructions
• Register File Transfer Instructions
• Character Strings and Population Count
• Privilege Level Transfer
4.1
Register Stack
As described in
“General Registers” on page 1:25
, the general register file is divided
into static and stacked subsets. The static subset is visible to all procedures and
consists of the 32 registers from GR 0 through GR 31. The stacked subset is local to
each procedure and may vary in size from zero to 96 registers beginning at GR 32. The
register stack mechanism is implemented by renaming register addresses as a
side-effect of procedure calls and returns. The implementation of this rename
mechanism is not otherwise visible to application programs. The register stack is
disabled during IA-32 instruction set execution.
The static subset must be saved and restored at procedure boundaries according to
software convention. The stacked subset is automatically saved and restored by the
Register Stack Engine (RSE) without explicit software intervention (for details on the
RSE see
Chapter 6, “Register Stack Engine”
). All other register files are
visible to all procedures and must be saved/restored by software according to software
convention.
4.1.1
Register Stack Operation
The registers in the stacked subset visible to a given procedure are called a register
stack frame. The frame is further partitioned into two variable-size areas: the local area
and the output area. Immediately after a call, the size of the local area of the newly
activated frame is zero and the size of the output area is equal to the size of the caller’s
output area and overlays the caller’s output area.
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 ...