
2:538
Volume 2, Part 2: Interruptions and Serialization
• When an external or independent agent (I/O device, timer, another processor)
requires attention from the processor, an
interrupt
occurs. There are several types
of interrupts. An initialization interrupt occurs when the processor has received an
initialization request. A
Platform Management Interrupt
(PMI) can be generated
by the platform to request features such as power management. Initialization
interrupts and PMIs are PAL-based interruptions. An
external interrupt
occurs
when an agent in the system requires the OS to perform some service on its behalf.
External interrupts are IVA-based interruptions. Interrupts are delivered
asynchronously with respect to program execution. The instruction upon which an
interrupt is delivered may or may not be related to the interrupt itself.
• An
abort
is generated by the processor when a malfunction (Machine Check) is
detected, or when a processor reset occurs. Aborts are asynchronous with respect
to program execution. If caused by a particular instruction, an abort may be
delivered sometime after that instruction completes. Aborts are PAL-based
interruptions.
An interruption handler returns from interruption when it executes an
rfi
instruction.
The
rfi
instruction copies state from specific control registers known as
interruption
registers
into their corresponding architectural state (e.g. IIP is copied into IP and
execution begins at that instruction address). Whether or not the state that is restored
by the
rfi
is the same state that was captured when the interruption occurred is up to
the operating system.
3.2
Interruption Vector Table
The Interruption Vector Address (IVA) control register defines the base address of the
interruption vector table (IVT). Each IVA-based interruption has its own architected
offset into this table as defined in
Section 5.7, “IVA-based Interruption Vectors” on
. For the remainder of this section, “interruption” refers to an IVA-based
interruption, unless otherwise noted.
When an interruption occurs, the processor stops execution at the current IP, sets the
current privilege level to 0, and begins fetching instructions from the address of the
entry point to the interruption handler for the particular interruption that occurred. The
address of this entry point is defined by the base address of the IVT contained in the
IVA register and the architected offset into the table according to the interruption that
occurred.
The IVT is 32Kbytes long and contains the code for the interruption handlers. Execution
of the interruption handler begins at the entry point. The interruption handler may be
contained entirely in the IVT, or the handler may branch to code outside the IVT if more
space is needed.
When an interruption occurs, if the processor is operating with instruction address
translation enabled (PSR.it is 1), then the address in IVA is treated as a virtual address;
otherwise, it is treated as a physical address. Whenever an interruption may occur (i.e.
whenever external interrupts are not masked or disabled, or whenever an instruction
may raise a fault or trap), the software must ensure that the processor can safely
reference the IVT. As a result, the IVT must be permanently resident in physical
memory. If instruction address translation is enabled, the IVT must be mapped by an
instruction translation register and must point at a valid physical page frame. When
Содержание 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 ...