Search code examples
x86cpuinterrupt

CPU x86 - external interrupt invokes exception handler


If I will be wrong, please correct me. In x86 architecture, there are 256 interrupt vectors. The first 32 are exceptions/internal interrupts/synchronous interrupts. What will happen if external device provides as interrupt vector vector that is lower than 33? Or it cannot happen? If not so, why?


Solution

  • Answers for all your questions depends on the actual CPU family, the current processor mode (starting with the 80286 CPU) and external and internal specialised interrupt circuits (8259 PIC for 8086, LAPIC in 80386, x- and x2-apic in modern CPU families) . For example, the 8086 interrupt architecture had capacity for a maximum of 64 different maskable hardware interrupts and it was possible to assign a block of vectors to any 8-vector boundary in the interrupt table. Particularly, the IBM PC-XT had 8 maskable interrupt vectors starting from vector 8.