Volume 2, Part 1: Interruptions
2:101
• If more than one trap is triggered (such as Unimplemented Instruction Address
trap, Lower-Privilege Transfer trap, and Single Step trap) the highest priority
trap is taken. The ISR.code contains a bit vector with one bit set for each trap
triggered.
A sequential execution model is presented in the preceding description.
Implementations are free to use a variety of performance techniques such as pipelined,
speculative, or out-of-order execution provided that, to the programmer, the illusion
that instructions are executed sequentially is preserved.
5.4
PAL-based Interruption Handling
PAL-based interruption handling requires the processor to transfer control to the PAL
firmware. The PAL firmware will execute handling code and set up the architected exit
state before transferring control to the SAL firmware. See
for more details on the architected exit state between the PAL and
SAL firmware layers for PAL-based interruption handling.
It is strongly recommended that software ensure that, if machine check aborts are
masked (PSR.mc), external interrupts are also masked (PSR.i). This will avoid cases
where a corrected machine check interrupt (a lower priority interrupt) is handled before
a machine check abort, which would cause an escalation in machine check abort
severity when machine check aborts are unmasked.
5.5
IVA-based Interruption Handling
IVA-based interruption handling is implemented as a fast context switch. On IVA-based
interruptions, instruction and data translation is left unchanged, the endian mode is set
to the system default, and delivery of most PSR-controlled interruptions is disabled
(including delivery of asynchronous events such as external interrupts). The processor
is responsible for saving only a minimal amount of state in the interruption resource
registers prior to vectoring to the Itanium architecture-based software handler.
When an interruption occurs, the processor takes the following actions:
1. If PSR.ic is 0:
• IPSR, IIP, IIPA, IIB0-1, and IFS.v are unchanged.
• Interruption-specific resources IFA, IIM, and IHA are unchanged.
If PSR.ic is 1:
• PSR is saved in IPSR. If PSR is in-flight, IPSR will get the most recent in-flight
value of PSR (i.e., PSR is serialized by the processor before it is written into
IPSR). For Itanium traps, the value written to IPSR.ri is the next instruction slot
that would have been executed if there had been no trap. For all other
interruptions, the value written to IPSR.ri is the instruction slot on which the
interruption occurred (1 for interruptions on the L+X instruction of an MLX). For
interruptions in the IA-32 instruction set, IPSR.ri is set to 0.
• IP is written into IIP. For faults and external interrupts, the saved IP is the IP at
which the interruption occurred. For traps, the saved IP is the value after the
execution of the IA-32 or Itanium instruction which caused the trap. For
Содержание 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 ...