Der Advanced Programmable Interrupt Controller (kurz APIC, nicht zu verwechseln mit ACPI) sorgt für die Verteilung von Interrupts in x86- und Itanium-basierenden Computersystemen.

Der APIC besteht im Gegensatz zum PIC aus zwei Komponenten, dem

  • Local APIC, normalerweise Teil der CPU, und dem
  • I/O-APIC im Chipsatz.

Für die CPU-Familien Pentium, Pentium Pro, Pentium II und Pentium III (Generation P5 und P6) kommt ein zusätzliches APIC-Bus-System dazu, das die einzelnen APICs untereinander verbindet. Seit dem Pentium 4 (Generation NetBurst und Core) werden die Nachrichten zwischen den APICs über den normalen plattformspezifischen System-Bus ausgetauscht.

Vereinfacht funktioniert das System so, dass der I/O-APIC die Interrupt Requests von den Geräten im System entgegennimmt, und sie als Interrupt Messages auf die Local APICs in den Prozessoren des Systems verteilt. Die Local APICs leiten dann wiederum den jeweils höchstpriorisierten Interrupt an den CPU-Kern weiter. Ist dieser abgearbeitet, leitet der Local APIC den nächsten Interrupt weiter.

Das APIC-System wurde ursprünglich von Intel entwickelt, um die Interruptverteilung in Multiprozessorsystemen zu ermöglichen, was mit dem vorhandenen XT-PIC nicht realisierbar war. Mittlerweile verwenden auch immer mehr Einzelprozessorsysteme das APIC-System, da es noch weitere Probleme des XT-PIC beseitigt:

  • Mehr Eingänge für Interruptleitungen verringern die Wahrscheinlichkeit, dass sich mehrere Geräte einen Interrupt teilen müssen.
  • Mehr Flexibilität: Jeder Interrupt kann separat konfiguriert werden.
  • Prioritäten der Interrupts können nahezu beliebig festgelegt werden.
  • Message-Signaled Interrupts werden unterstützt.
  • Prozessoren können sich gegenseitig Interrupts schicken (Interprocessor Interrupts).
  • Schnellere Programmierung, vor allem des Local APIC.

APIC wird heute von allen aktuellen Betriebssystemen unterstützt, ist aber auch für eine Reihe von Fehlern verantwortlich, da die Implementierungen teilweise fehlerhaft sind.

Bearbeiten

📚 Artikel Terkait di Wikipedia

Programmable Interrupt Controller

Ein Programmable Interrupt Controller (PIC) ist ein integrierter Schaltkreis zur Verwaltung mehrerer Hardware-Interrupts und zu deren geordneter Weiterleitung

Inter Processor Interrupt

x86-basierten Multiprozessorsystemen wird ein IPI über den Advanced Programmable Interrupt Controller versendet. Manuals for Intel® 64 and IA-32 Architectures

Sockel 5

vereinfachte Dual-Processing, den nun in die CPU integrierten Advanced Programmable Interrupt Controller – APIC genannt – und die Stromsparmodi des neuen Pentium-Typs

RP2040

für typische Applikationen. QSPI Bus-Controller, unterstützt bis zu 16 MB externen Flash-Speicher DMA-Controller DMA-Busmaster sind verfügbar, um sich

RTAI

sogenannte Advanced Programmable Interrupt Controller in Multiprozessor-Systemen. Dieser hat unter anderem die Aufgabe, die auftretenden Interrupts den einzelnen

Arm Cortex-M

ARMv6-M-Architektur Von-Neumann-Architektur (anders als M3 und M4) Wake-Up-Interrupt-Controller Interrupt-Vektor-Tabellen-Verschiebung ins RAM Befehlssatz Thumb – fast

Liste von Abkürzungen (Computer)

Programmers/Programming Interface oder Adaptive Planungsintelligenz APIC Advanced Programmable Interrupt Controller APIPA Automatic Private IP Addressing APL A Programming

Texas Instruments TI-99/4A

TI floppy disk controller card. Abgerufen am 25. Februar 2015 (englisch).  Thierry Nouspikel: The TI-99/4A Tech Pages - The controller card ROM. Abgerufen