Volume 2, Part 2: Interruptions and Serialization
2:543
For example, assume that GR2 contains the new value for IVA and that PSR.i is 1. To
modify the IVA register, software would perform the following code sequence, where
the code page is mapped by an instruction translation register or instruction translation
is disabled:
rsm psr.i
// external interrupts disabled upon next instruction
mov cr[iva] = r2
;;
srlz.i
// writing IVA requires instruction serialization
;;
ssm psr.i
// external interrupts will be re-enabled after next srlz
3.3.4
Resource Serialization upon rfi
An
rfi
instruction also performs an instruction and a data serialization operation when
it is executed. Any values that were written to processor register resources by
instructions in an earlier instruction group than the
rfi
will be observed by the
returned-to instruction, except for those register resources which are also written by
the
rfi
itself, in which case the value written by the
rfi
will be observed. This makes
the interruption handler more efficient by avoiding additional data and instruction
serialization operations before returning to the interrupted context.
3.4
Interruption Handling
The Itanium architecture-based operating systems need to distinguish the following
interruption handler types:
• Lightweight interruptions: Lightweight interruption handlers are allocated 1024
bytes (192 instructions) per handler in the IVT. These are discussed in
.
• Heavyweight interruptions: Heavyweight interruption handlers are allocated only
256 bytes (48 instructions) per handler in the IVT. These are discussed in
.
• Nested interruptions: If an interruption is taken when PSR.ic was 0 or was in-flight,
a nested interruption occurs. Nested interruptions are discussed in
3.4.1
Lightweight Interruptions
Lightweight interruption handlers are allocated 1024 bytes (192 instructions) per
handler in the IVT. Typically, lightweight handlers are written in Itanium
architecture-based assembly code, and run in their entirety with interruption collection
turned off (PSR.ic = 0) and external interrupts disabled (PSR.i = 0). Because these
lightweight handlers are usually very short and performance-critical, they are intended
to fit entirely in the space allocated to them in the IVT. An example of a lightweight
interruption handler is the Data TLB vector (offset 0x0800). The first 20 vectors in the
IVT, offsets 0x0000 (VHPT Translation vector) through 0x4c00 (reserved), are
lightweight vectors. Typical lightweight handlers deal with instruction, data or VHPT TLB
Misses, protection key miss handling, and page table dirty or access bit updates.
Содержание 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 ...