next up previous contents
Nächste Seite: Bussteuerung Aufwärts: Allgemeiner Aufbau und Funktion Vorherige Seite: Ein-/Ausgabeoperationen   Inhalt

Interruptssystem

Eine Interruptanforderung (engl. interrupt request, IRQ) ist eine Anforderung nach einer Unterbrechung des laufenden Rechnerprogramms, um eine zeitlich nicht mit diesem Programm korrelierte Interruptserviceroutine (ISR) starten zu können. Diese sogenannten Hardware-Interrupts können z.B. folgende Quellen haben:

Neben diesen typischen Hardware-Interruptanforderungen gibt es bei Mikroprozessoren noch prozessorintern ausgelöste Software-Interrupts, sogenannte Traps. Sie entsprechen einer Programmunterbrechung nach einem Softwarefehler, beispielsweise bei Erkennen eines nichtdefinierten Operationscodes oder bei Division durch Null. Diese intern ausgelösten Traps treten synchron mit der Befehlsabarbeitung auf.

Eine Interruptanforderung wird wie folgt bearbeitet. Das laufende Programm, das selbst eine Interrupt-Serviceroutine niedriger Priorität sein kann, wird definiert unterbrochen. Dabei wird der aktuelle Prozessorzustand auf den Stack gerettet, damit nach Beendigung der ISR das unterbrochene Programm korrekt fortgesetzt werden kann. Die Interruptquelle wird identifiziert, und es wird zur angeforderten ISR verzweigt. Dabei müssen Prioritäten bei der Bearbeitung mehrerer gleichzeitig vorliegender Interruptanforderungen berücksichtigt und gegebenenfalls zeitweise ausgewählte Interruptanforderungen durch Maskierung unterdrückt werden. Nichtmaskierbare Interrupts führen in jedem Fall zur Interruptbearbeitung.


next up previous contents
Nächste Seite: Bussteuerung Aufwärts: Allgemeiner Aufbau und Funktion Vorherige Seite: Ein-/Ausgabeoperationen   Inhalt
Lars Tornow 2003-04-02