Interrupts erklärt: Typen, Mechanismen und Anwendungen im modernen Computing
Moderne PCs verlassen sich auf Interrupt Requests zur Koordination von Hardwarefunktionen. Das Konzept reicht zurück zum UNIVAC 1103 in 1953, wobei der IBM 650 1954 Interrupt-Masking einführte. Die Zuweisung distinkter IRQ-Leitungen zu einzelnen Geräten ist essenziell für effizienten Betrieb. Wenn Peripheriegeräte wie Tastaturen oder Mäuse CPU-Aufmerksamkeit benötigen, generieren sie Interrupts, die die entsprechende Interrupt Service Routine (ISR) triggern. ISRs sind unverzichtbar für zeitkritische Tasks, Datentransfers, Fehlerbehandlung, Watchdog-Timer und Traps.
Was ist ein Interrupt?
Definition: Ein Interrupt ist ein Eingangssignal, das die sofortige Aufmerksamkeit des Prozessors fordert und höchste Priorität unter Hardware- und Softwareereignissen hat. Im frühen Computing mussten Prozessoren jedes Peripheriegerät und Programm nach Signalen abfragen (polling), was Taktzyklen verschwendete und Performance degradierte. Der Interrupt-Mechanismus invertierte dieses Modell: Ein Peripheriegerät oder Softwaremodul signalisiert der CPU, die ihren aktuellen Task unterbricht, ihren Zustand sichert und die passende ISR ausführt. Nach ISR-Abschluss stellt die CPU ihren vorherigen Zustand wieder her und setzt die Ausführung fort.

Interrupt-Typen
Interrupts werden grob in zwei Kategorien klassifiziert.
Hardware-Interrupts
Dies sind elektronische Signale, die von externen Geräten an die CPU gesendet werden und anzeigen, dass sie sofortigen Service benötigen. Tastaturanschläge, Mausbewegungen und Sensoralarme sind typische Beispiele. Hardware-Interrupts sind asynchron und können zu jedem Zeitpunkt während der Instruktionsausführung eintreffen.
Hardware-Interrupts unterteilen sich weiter:
- Maskierbare Interrupts – Das Interrupt-Mask-Register des Prozessors steuert, ob eine bestimmte Interrupt-Quelle aktiviert oder deaktiviert ist. Jedes Bit im Register korrespondiert zu einer spezifischen IRQ-Leitung; ein gesetztes Bit erlaubt das Bedienen des Interrupts, ein gelöschtes blockiert es.
- Nicht-maskierbare Interrupts (NMI) – NMIs haben höchste Priorität und können vom Prozessor nicht deaktiviert werden. Sie werden typischerweise für kritische Events wie Watchdog-Timer-Ablauf oder Hardwarefehler genutzt.
Software-Interrupts
Die CPU selbst kann einen Interrupt generieren, indem sie eine spezielle Instruktion ausführt oder wenn eine Ausnahmebedingung während der Programmausführung auftritt. Software-Interrupts ermöglichen Systemcalls, Exception Handling und Trap-Routinen.
Trigger-Methoden
Interrupt-Leitungen können durch einen Logikpegel oder einen Signalflankenübergang getriggert werden. Diese beiden Ansätze unterscheiden sich darin, wie die Quelle die CPU signalisiert.
Level-getriggerte Interrupts
In diesem Modus bleibt die Interrupt-Leitung so lange asserted, wie die Quelle Service benötigt. Bleibt die Quelle aktiv während der ISR läuft, ruft die CPU den Handler nach Abschluss erneut auf. Level-getriggerte Eingänge können problematisch sein, wenn das Signal lange asserted bleibt.
Edge-getriggerte Interrupts
Ein Edge-getriggerter Interrupt feuert sofort, wenn das Signal von Low auf High oder High auf Low wechselt. Die CPU hängt nicht vom Signalpegel ab, sondern nur vom Übergang, was diesen Modus für schnelle, einmalige Events geeignet macht.

Systemimplementierung
Interrupts sind in der Hardware als dedizierte Kontrollleitungen oder in Speichersubsysteme eingebettet verdrahtet. Bei Implementierung über einen Programmable Interrupt Controller (PIC) teilen sich mehrere Quellen einen einzelnen CPU-Pin, was Verdrahtung vereinfacht und Prioritätsarbitrierung ermöglicht.
Gemeinsame Interrupt Requests (IRQs)
Bei Edge-getriggerten Interrupts hält ein Pull-Up oder Pull-Down Widerstand die Leitung in einem bekannten Zustand. Jedes Geräts Puls propagiert entlang der geteilten Leitung, und die CPU sampelt die Leitung an der fallenden Flanke, um sicherzustellen, dass kein Puls verpasst wird. Ältere ISA-Boards nutzten geteilte IRQs, was Kontention verursachen konnte; moderne PCI-Architekturen mildern dies durch dedizierte Controller und dynamische Allokation.
Hybrid
Hybride Systeme kombinieren Edge-Triggering mit Level-Verifikation, um sicherzustellen, dass ein aktives Signal nicht ignoriert wird. Dieser Ansatz ist üblich für nicht-maskierbare Eingänge und reduziert False Positives.
Message-Signaled Interrupt
Statt einer dedizierten Leitung sendet das Gerät eine Nachricht über einen Bus wie PCI Express, um die CPU zu benachrichtigen. Dies eliminiert physische Pins und unterstützt höheren Durchsatz.
Doorbell
Ein Doorbell-Interrupt ist ein software-getriebenes Signal, bei dem das Gerät Daten in einen geteilten Speicherbereich schreibt und dann den Interrupt triggert, sodass die CPU die bereiten Daten verarbeiten kann.
Multiprocessor IPI
In Multi-Core-Systemen kann ein Prozessor einen Inter-Processor-Interrupt (IPI) an einen anderen senden, um Tasks zu koordinieren oder Events über Cores zu signalisieren.
Typische Anwendungen
- Behandlung von Hardware-Timern und Verarbeitung von Tastatur-/Mauseingaben.
- Reagieren auf zeitkritische oder Echtzeit-Events.
- Verwalten von Datentransfer zu und von Peripheriegeräten.
- Behandeln von Hochprioritätssignalen wie Power-Down-Requests, Traps und Watchdog-Timern.
- Melden anomaler CPU-Events.
- Ermöglichen geordnetes Herunterfahren bei externem Stromausfall.
- Generieren periodischer Interrupts für absolute Zeitmessung.
FAQs
1. Warum werden Interrupts genutzt?
Interrupts lenken den CPU-Fokus auf dringende Hardware- oder Software-Tasks und ermöglichen zeitnahe Reaktionen ohne ständiges Polling.
2. Was ist NMI?
NMI steht für Non-Maskable Interrupt, ein Signal, das vom Prozessor nicht deaktiviert werden kann und für kritische Events reserviert ist.
3. Was ist die Funktion der Interrupt-Acknowledge-Leitung?
Sie signalisiert dem Gerät, dass die CPU bereit ist, einen Interrupt zu empfangen, sodass das Gerät die ISR-Adresse auf den Bus legen kann.
4. Beschreiben Sie einen Hardware-Interrupt. Nennen Sie Beispiele.
Hardware-Interrupts werden von externen Geräten generiert – Tastaturanschläge, Mausklicks oder Sensorausgaben – die sofortigen CPU-Service erfordern.
5. Beschreiben Sie einen Software-Interrupt.
Software-Interrupts werden vom Prozessor durch spezielle Instruktionen aufgerufen, wie Systemcalls oder Exception-Handling-Routinen.
6. Welcher Interrupt hat die höchste Priorität?
- Nicht-maskierbare Interrupts (NMIs) und Traps haben die höchste Priorität.
7. Nennen Sie einige Anwendungen von Interrupts.
- Schnelle Reaktion auf Echtzeit-Events.
- Datentransfer mit Peripheriegeräten.
- Behandlung kritischer Tasks wie Power-Down und Watchdog-Timer.
- Melden anomaler CPU-Events.
8. Was ist ein hybrider Systemimplementierungstyp?
Ein hybrides System nutzt sowohl Edge-Triggering als auch Level-Verifikation, um sicherzustellen, dass echte Events erfasst werden, während spurious Trigger reduziert werden.
Dieser Artikel untersucht die Signifikanz von Interrupts, detailliert ihre Typen, Systemintegration und praktische Anwendungen.
Eingebettet
- Titan-Drähte: Typen, Eigenschaften und industrielle Anwendungen
- 13 Typen feuerfester Materialien und ihre wichtigsten industriellen Anwendungen
- Hafniumoxid (HfO₂): Struktur, Eigenschaften und Schlüsselanwendungen
- Funktionsweise und Hauptanwendungen von Distanzsensoren
- AD8232 EKG-Sensor verstehen: Funktionalität und Anwendungen
- HC-SR04 Ultraschallsensor: Funktionsweise und Hauptanwendungen
- Spannungssensoren: Funktionsweise und Schlüsselanwendungen in modernen Energiesystemen
- Lambda (Sauerstoff-) Sensor: Funktion, Betrieb und wichtige Automobilanwendungen
- 3D-Druck (Additive Fertigung): Verfahren, Materialien & Anwendungen
- Gasschweißverfahren: Oxyacetylen, Oxybenzin, MAPP, Propan, Wasserstoff