请输入您要查询的百科知识:

 

词条 Interrupt vector table
释义

  1. Background

  2. Interrupt handlers

     Handling methods  "Predefined"  "Fetch"  "Interrupt acknowledge" 

  3. See also

  4. References

  5. External links

{{short description|Data structure}}{{about|the general concept|its implementation found in x86 processors|Interrupt descriptor table}}

An "interrupt vector table" (IVT) is a data structure that associates a list of interrupt handlers with a list of interrupt requests in a table of interrupt vectors. Each entry of the interrupt vector table, called an interrupt vector, is the address of an interrupt handler. While the concept is common across processor architectures, IVTs may be implemented in architecture-specific fashions. For example, a dispatch table is one method of implementing an interrupt vector table.

Background

Most processors have an interrupt vector table, including chips from Intel, AMD, Infineon, Microchip[1] Atmel,[2] NXP, etc.

Interrupt handlers

{{main|Interrupt handler}}

Handling methods

An interrupt vector table is used in the three most popular methods of finding the starting address of the interrupt service routine:

"Predefined"

The "predefined" method loads the program counter (PC) directly with the address of some entry inside the interrupt vector table. The jump table itself contains executable code. While in principle an extremely short interrupt handler could be stored entirely inside the interrupt vector table, in practice the code at each entry is a single jump instruction that jumps to the full interrupt service routine (ISR) for that interrupt. The Intel 8080[3], Atmel AVR[4][5] and all 8051 and Microchip microcontrollers[6] use the predefined approach.

"Fetch"

The "fetch" method loads the PC indirectly, using the address of some entry inside the interrupt vector table to pull an address out of that table, and then loading the PC with that address.[6] Each and every entry of the IVT is the address of an interrupt service routine. All Motorola/Freescale microcontrollers use the fetch method.[6]

"Interrupt acknowledge"

For the "interrupt acknowledge" method, the external device gives the CPU an interrupt handler number. The interrupt acknowledge method is used by the Intel Pentium and many older microprocessors.[6]

When the CPU is affected by an interrupt, it looks up the interrupt handler in the interrupt vector table, and transfers control to it.

See also

  • Interrupt Descriptor Table (x86 Architecture implementation)

References

1. ^"dsPIC33F Family Reference Manual" section 29.1.1 Interrupt Vector Table
2. ^"AVR Libc User Manual" section: Introduction to avr-libc's interrupt handling
3. ^{{Cite book|url=https://openlibrary.org/books/OL24210843M/Intel_8080_microcomputer_systems_user%27s_manual|title=Intel 8080 Microcomputer Systems User's Manual|last=|first=|date=September 1975|publisher=Intel Corporation|year=|isbn=|location=|pages=2-11 Interrupt Sequences|oclc=2058546}}
4. ^Roger L. Traylor. "Interrupts: AVR interrupt servicing"
5. ^ Gary Hill. "Atmel AVR Interrupt and Timing Subsystems: ATMEGA328P interrupt vector table"
6. ^{{cite book |last=Huang |first=Han-Wat |title=Pic Microcontroller: An Introduction to Software and Hardware Interfacing |url=https://books.google.com/books?id=CB9GaAU1dwsC&pg=PA247 |accessdate=22 April 2013 |year=2005 |publisher=Cengage Learning |isbn=978-1-4018-3967-3 |page=247}}

External links

  • Intel® Architecture Software Developer's Manual, Volume 3: System Programming Guide
    • [https://web.archive.org/web/20081221050950/http://download.intel.com/design/processor/manuals/253668.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A:System Programming Guide, Part 1] (see CHAPTER 6, INTERRUPT AND EXCEPTION HANDLING and CHAPTER 10, ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER)]
  • Motorola M68000 Exception and Vector Table

1 : Interrupts

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/29 20:27:14