IRQ
Unter einem Interrupt Request, kurz IRQ, zu deutsch Unterbrechungs- aufforderung, versteht
man ein Signal, das von bestimmten peripheren Geräten (Tastatur, Maus,
Festplattencontroller usw.) mittels eines speziellen Controllers an den Prozessor gesandt
wird und diesem mitteilt, daß ihm Daten zugesandt werden sollen.
Hat der Prozessor das Signal erhalten, unterbricht er seine laufende Tätigkeit, speichert
die dafür verwendeten Daten in einem extra Puffer und wendet sich dem entsprechenden
Gerät zu. Nachdem die die Unterbrechung veranlassende Datenverarbeitung beendet ist,
setzt er die zuvor unter- brochende Tätigkeit exakt am Ausstiegspunkt wieder fort.
Durch diese Technik und die Tatsache, daß der Interruptcontroller selbstätig die
sogenannten Interruptleitungen ständig hinsichtlich einer Unter- brechungsaufforderung
überprüft, ist es möglich, daß beispielsweise die Maus in laufenden Anwendungen
bewegt, eine Eingabe mit der Tastatur getätigt und Daten auf die Festplatte geschrieben
und gelesen werden können.
IRQ-Leitungen stellen für den Prozessor also quasi die Verbindungstür nach außen dar,
die offen gehalten wird, um ihn, besonders bei hoher Auslastung, für Nachrichten
wichtiger peripherer Geräte zugänglich zu halten.
Die Interrupt Signale werden über spezielle Leitungen an den Prozessor gesandt, ihre
Anzahl und die der sie überwachenden Einheiten ist in AT-compatiblen Geräten auf 15
Leitungen und 2 Controller beschränkt.
Wer nun meint, das wäre für den Anschluß zusätzlicher Erweiterungs- steckkarten und
peripherer Geräte genug, wird sehr schnell eines besseren belehrt.
Spätestens bei Verwendung eines zweiten Festplattencontroller, den Einsatz eines
CD-Rom-Laufwerks und der Verwendung von Sound-, Video- und zusätzlicher Grafikkarte wird
man feststellen, daß dem nicht so ist.
Tatsächlich sind die meisten Interruptleitungen bereits standardmäßig für wichtige
periphere Einheiten und Schnittstellen vergeben und die wenigen freien Leitungen reichen
häufig nicht aus, um jedes gewünschte Gerät zu implementieren.
Gegebenenfalls müssen sich zwei Einheiten eine Leitung teilen, was allerdings nicht in
jedem Fall möglich ist und besonders bei Geräten, die ständig Prozessorzeit fordern, zu
Fehlfunktionen führen kann. Daß sich beispielsweise Maus und Tastatur eine Leitung
teilen, ist nicht möglich.
Die vom Controller an den Prozessor geleiteten Unterbrechungsanforde- rungen werden mit
unterschiedlichen Prioritäten geschickt und behandelt.
Durch diese als Interrupt Ebene bezeichnete Technik wird sichergestellt, daß wichtige
Hardwarekomponenten wie beispielsweise Festplattencontroller bevorzugt behandelt werden.
Typische IRQ Verteilung in einem AT compatiblen Gerät:
IRQ Gerät
0 Timer
1 Tastatur
2 umgeleitet auf IRQ 9
3 2te serielle Schnittstelle (COM2)
4 1te serielle Schnittstelle (COM1)
5 2te parrallele Schnittstelle (LPT2)
6 Diskettenlaufwerk
7 1te paralelle Schnittstelle (LPT1)
8 Echtzeit-Uhr
9 zurückgeleitet von IRQ 2
10
11
12
13 Coprozessor
14 1ter Festplattenkontroller
15 2ter Festplattencontroller
Kommt es durch die Verwendung eines Unterbrechungskanals durch zwei oder mehr Geräte zu
einem sogenannten Interruptkonflikt, sind häufig schwerwiegende Fehlfunktionen, bis hin
zum Systemabsturz die Folge.
Als Lösung kommt in diesem Fall nur die Verwendung verschiedener Kanäle oder aber der
Verzicht auf eines der den Konflikt verursachenden Geräte in Frage.