Interrupt (IRQ)

Interrupt (IRQ)

Jedes Computersystem besteht nicht nur aus Hauptprozessor (CPU) und Datenspeicher, sondern auch aus der Peripherie, die im Gehäuse eingebaut oder an den äußeren Schnittstellen angeschlossen ist. Bei diesen Geräten handelt es sich um Ein- und Ausgabegeräte. Sie können zum Beispiel Daten von außen entgegennehmen. Zum Beispiel typische Eingaben, wie Maus-Bewegung, Tastatur-Eingaben oder Netzwerk-Verkehr. Damit die CPU mitbekommt, dass Daten von außen anstehen, muss es die Möglichkeit geben, den Prozessor bei seiner Arbeit zu unterbrechen.

  1. Hierzu gibt es die Möglichkeit, dass der Prozessor alle Eingabe-Geräte zyklisch abfragt (Polling). Was bei der Vielzahl an Komponenten in einem Computer bedeuten würde, dass der Prozessor mit nichts anderem mehr beschäftigt wäre.
  2. Eine Alternative ist die sogenannten Unterbrechungsanforderung (to interrupt, unterbrechen), die dann eintritt, wenn Daten von außen anstehen. Dazu wurde die Möglichkeit geschaffen den Hauptprozessor auf definierte Weise bei der laufenden Arbeit zu unterbrechen.

Ablauf eines Interrupts

Ablauf eines Interrupts

Wenn ein Gerät Daten zur weiteren Verarbeitung zur Verfügung hat oder einfach nur eine Rückmeldung geben will, dann wird dem Prozessor in seiner laufenden Arbeit eine Unterbrechungsanforderung, also ein Interrupt-Request (IRQ) gesendet. Das passiert durch den Interrupt (Leitung), der dem betreffenden Gerät zugewiesen ist.
Wird zum Beispiel ein Taste auf der Tastatur gedrückt, dann schickt der Tastatur-Controller einen IRQ an den Prozessor. Der unterbricht seine aktuelle Tätigkeit und führt einen Befehl an einer bestimmten Speicheradresse aus, die vom IRQ-Eingang abhängig ist und auf den Tastatur-Treiber verweist. In den daraufhin ablaufenden Lese- und Schreiboperationen wird dafür gesorgt, dass der Buchstabe auf dem Bildschirm erscheint.

Interrupt-Auslösegründe

Bei jeder zeitkritischen Anwendung, bei der Daten an den Prozessor gesendet werden müssen, wird ein Interrupt ausgelöst. Für den IRQ können folgende Aktionen verantwortlich sein:

  • Mausbewegung
  • Datenempfang vom Modem
  • Tastatureingabe
  • Audioaufnahme durch die Soundkarte
  • Lesen von Speichermedien
  • Erfolgreicher Schreibvorgang

Damit aus Anwendersicht das System optimal funktioniert, ist die Gewichtung zwischen den Interrupts unterschiedlich. So kann sich die CPU um die wichtigen Aufgaben kümmern. Bei Überlastung kann es trotzdem dazu kommen, dass wichtige Daten nicht rechtzeitig oder nur verzögert vom Prozessor verarbeitet werden können.

Interrupt-Verwaltung

Als es noch ISA-Steckkarten gab, mussten die Interrupts per Jumper konfiguriert werden. Später mit den PCI-Steckkarten konnten die Interrupts per Software eingestellt werden. Mit APIC kann das Betriebssystem die Interrupts eigenständig verwalten. Der Anwender muss an dieser Stelle keine Hand mehr anlegen. Mit der vollautomatischen Interrupt-Verwaltung durch APIC und dem Betriebssystem wurde dem PC-Bastler eine der lästigsten Aufgaben abgenommen, die es jemals gab.

Der APIC (Advanced Programmable Interrupt Controller), nicht zu verwechseln mit ACPI, ist eine Steuereinheit für Interrupts in einem Computer.
In Multi-Prozessor-Systemen besitzen die Prozessoren einen Local APIC, über den sie mit den anderen Prozessoren und dem I/O-APIC des Motherboards kommunizieren. Das ist notwendig, damit bei einer Interrupt-Auslösung eindeutig ist, welcher der Prozessoren für diesen Interrupt zuständig ist.
Durch APIC ist es einem Betriebssystem möglich, sofern es APIC unterstützt, Interrupts mehrfach zu belegen. Aus diesem Grund ist APIC heute in jedem Prozessor und auf jedem Motherboard integriert.
Der Einsatz von immer mehr Erweiterungskarten hat dringend nach APIC-Unterstützung durch Chipsatz und Betriebssystem verlangt. Der APIC-Modus hat der Interrupt-Architektur des PCs deutliche Verbesserungen gebracht. Ressourcenkonflikte treten heute praktisch nicht mehr auf.

Ablauf mit APIC-Modus

Beim Systemstart übernimmt zunächst das BIOS die IRQ-Verteilung, um die Geräte nutzen zu können. Zum Beispiel, um das Betriebssystem von der Festplatte oder einem anderen Laufwerk starten zu können. Nach dem Start des Betriebssystems übernimmt es die Kontrolle der IRQ-Verwaltung und nimmt an der IRQ-Verteilung des BIOS Änderungen vor.
Moderne Betriebssysteme erledigen die IRQ-Verwaltung auf APIC-tauglicher Hardware sehr geschickt und ohne manuelle Konfiguration durch den Anwender. Aus diese Grund ist eine manuelle Änderung der IRQ-Verteilung nicht sinnvoll und in der Regel auch gar nicht möglich. In der Regel sind alle Betriebssysteme im APIC-Modus installiert.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was Sie über Computertechnik wissen müssen.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen