Unterbrechungsanforderungen (IRQ) und Konflikte

Dezember 2016

Unterbrechungsbegriff

Da der Prozessor nicht mehrere Informationen gleichzeitig bearbeiten kann (er bearbeitet eine Information auf einmal), kann ein laufendes Programm, mittels einer Unterbrechung, kurzzeitig unterbrochen werden, bis eine Unterbrechungsroutine ausgeführt ist. Das unterbrochene Programm kann anschließend seine Ausführung wieder aufnehmen. Es gibt 256 verschiedene Unterbrechungsadressen.

Eine Unterbrechung wird zu einer materiellen Unterbrechung, wenn sie von einer materiellen Komponente des Computers gefordert wird. Der Computer verfügt über zahlreiche Peripheriegeräte. Diese brauchen meist Zugang zu den Systemressourcen, sei es nur Zwecks Kommunikation.

Wenn ein Peripheriegerät Zugang zu einer Ressource haben möchte, schickt er dem Prozessor eine Unterbrechungsanforderung, damit dieser ihm seine Aufmerksamkeit schenkt. So verfügen die Peripheriegeräte über ein Unterbrechungsnummer, die IRQ (Interruption ReQuest, oder « Unterbrechungsanforderung ») genannt wird. Um es bildlich auszudrücken: jedes Peripheriegerät zieht an einer « Schnur » die mit einer Glocke verbunden ist, um dem Computer zu signalisieren, dass er seine Aufmerksamkeit braucht.

Diese « Schnur » ist tatsächlich ein physische Leitung die jeden Erweiterungssteckverbinder, sowie jede Ein-/Ausgangsschnittstelle mit dem Motherboard verbindet. Für eine Befestigungsstelle ISA 8 Bits z.B., gibt es 8 IRQ-Leitungen, die die ISA 8 Bits-Slots mit dem Motherboard verbinden (IRQ0 bis IRQ7). Diese IRQ werden durch eine « Unterbrechungssteuereinheit » kontrolliert, deren Aufgabe es ist der IRQ « das Wort zu erteilen » die die größte Priorität hat.

Mit Erscheinen von 16 Bits-Slots, sind die IRQ 8 bis 15 zugefügt worden und eine weitere Unterbrechungssteuereinheit musste eingeschoben werden. Die Verbindung zwischen den zwei Unterbrechungsgruppen erfolgt über die IRQ 2, verbunden mit der IRQ 9 (genannt « Kaskade »). Die Kaskade wird also in gewisser Weise die IRQ 8 bis 15 zwischen die IRQ 1 und 3 "einschieben" :

IRQ2 - Cascade

Da die Priorität nach Reihenfolge der IRQ vergeben wird, und die IRQ 8 bis 15 zwischen die IRQ 1 und 3 eingeschoben sind, ist die Prioritätsordnung demnach folgende :

0 > 1 > 8 > 9 > 10 > 11 > 12 > 13 > 14 > 15 > 3 > 4 > 5 > 6 > 7

DMA

Die Peripheriegeräte müssen regelmäßig beim System« Speicherkapazität ausleihen » um diese als Puffer (auf englisch buffer) zu verwenden, d.h. eine zeitbefristete Speicherzone, in der man kurzfristig Ein- oder Ausgangsdaten speichern kann.

Ein direkter Zugangskanal zum Speicher, genannt DMA (Direct Memory Access d.h. Direkter Zugang zum Speicher), ist für diesen Zweck definiert worden.

Der DMA-Kanal bezeichnet einen Zugang zu einem Speicherplatz im Arbeitsspeicher (RAM) des Computers, erkennbar durch ein « Anfangsadresse » (oder «RAM Start Address» auf englisch) und eine « Endadresse ». Diese Methode erlaubt einem Peripheriegerät Spezialkanäle zu benutzen, die einen direkten Zugang zum Speicher ermöglichen, ohne den Mikroprozessor zu beanspruchen, der so dieser Aufgaben entlastet wird.

Ein Computer des Typen PC besitzt 8 DMA-Kanäle. Die ersten vier DMA-Kanäle haben eine Bandbreite von 8 Bits während die DMA 4 bis 7 eine Bandbreite von 16 Bits besitzen.

Die DMA-Kanäle sind meist wie folgt zugeordnet :

  • DMA0 - frei
  • DMA1 - (Audiokarte)/ frei
  • DMA2 - Disketten-Steuereinheit
  • DMA3 - Parallelanschluss (Druckeranschluss)
  • DMA4 - Steuereinheit des Direktzugangs zum Speicher
    (Rückversand nach DMA0)
  • DMA5 - (Audiokarte)/ frei
  • DMA6 - (SCSI)/ frei
  • DMA7 - verfügbar

Basisadressen

Die Peripheriegeräte müssen manchmal Informationen mit dem System austauschen, daher werden ihnen Speicheradressen für den Versand und Empfang von Daten zugeordnet. Diese Adressen heißen «Basisadressen» (folgende Begriffe werden ebenfalls manchmal benutzt : «Ein-/Ausgabeanschluss», «E/A Anschluss», «E/A Adressen», «Adressen der E/A Anschlüsse», «Basisanschlüsse», oder auf englisch I/O address für «Input/Output Address», wörtliche übersetzt «Ein-/Ausgangsadresse»).

Über diese Basisadresse kann das Peripheriegerät mit dem Betriebssystem kommunizieren. Es kann also nur eine einzige Basisadresse pro Peripheriegerät geben.

Hier eine Liste von einigen gängigen Basisadressen :

  • 060h - Tastatur
  • 170h/376h - sekundäre IDE Steuereinheit
  • 1F0h/3F6h - primäre IDE Steuereinheit
  • 220h - Audiokarte
  • 300h - Netzkarte
  • 330h - SCSI-Adapterkarte
  • 3F2h - Diskettenlaufwerk-Steuereinheit
  • 3F8h - COM1
  • 2F8h - COM2
  • 3E8h - COM3
  • 2E8h - COM4
  • 378h - LPT1
  • 278h - LPT2

Alle diese Elemente sind jedoch transparent für den Benutzer, d.h. dass er sich darum nicht zu kümmern braucht.

Materialkonflikte

Eine Unterbrechung ist eine Leitung, die ein Peripheriegerät mit dem Prozessor verbindet. Die Unterbrechung ist materiell, wenn sie von einem materiellen Bestandteil des PCs angefordert ist. Dies ist der Fall, z.B., wenn eine Taste gedrückt worden ist, und die Tastatur die Aufmerksamkeit des Prozessor auf dieses Vorkommnis lenken will. Die 256 Unterbrechungen können jedoch nicht alle als materielle Unterbrechungen angefordert werden und verschiedene Peripheriegeräte fordern immer ganz bestimmte Unterbrechungen.

So muss bei der Installierung von Erweiterungskarten, bei der Konfiguration darauf geachtet werden dass die gleiche Unterbrechung nicht von zwei verschiedenen Peripheriegeräten benutzt wird, da es sonst zu einem « Materialkonflikt » kommt, der zur Störung einer der beiden Peripheriegeräte führt.

In der Tat, wenn zwei Peripheriegeräte die gleiche Unterbrechung benutzen, so kann das System sie nicht unterscheiden. Ein Materialkonflikt entsteht nicht nur, wenn zwei Peripheriegeräte die gleiche Unterbrechung haben, ein Konflikt kann auch entstehen, wenn zwei Peripheriegeräte die gleiche Ein-/Ausgabe Adresse besitzen, oder die gleichen DMA-Kanäle benutzen.

Konfiguration der IRQ

Die IRQ einer Erweiterungskarte kann geändert werden, um ihr eine IRQ-Nummer zuzuordnen, die nicht von einem anderen Peripheriegerät benutzt wird.

  • Auf älteren Peripheriegeräten, wird er mit Springern (Jumper) befestigt, die sich auf der Karte befinden.
  • Auf neueren Karten (mit einem Plug & Play BIOS), erfolgt die Parametrierung der Ressourcen (IRQ, DMA, Ein-/Ausgabe Adressen) automatisch. Sie kann ebenfalls mit dem Betriebssystem oder mit Hilfe von Dienstprogrammen erfolgen, die mit der Erweiterungskarte geliefert werden. Der Modus plug & play muss manchmal deaktiviert werden, um die Parameter manuell ändern zu können.
Es ist nicht immer einfach freie Ressourcen für alle Peripheriegeräte zu finden, hier daher eine nicht komplette Liste der gewöhnlich benutzten Ressourcen, die nicht manuell zugeordnet werden können :

IRQ Peripheriegerät
0 interne Uhr
1 Tastatur
2 Steuereinheit für programmierbare Unterbrechungen
Rückversand zu IRQ 8 bis 15
3 Kommunikationsanschluss COM2/COM4
4 Kommunikationsanschluss COM1/COM3
5 frei
6 Disketten-Steuereinheit
7 Druckeranschluss LPT1
8 CMOS (Echtzeit-Uhr)
9 frei
10 frei
11 frei
12 Maus-Anschluss PS2/frei
13 digitaler Datenprozessor (arithmetischer Coprozessor)
14 primäre Festplatten-Steuereinheit (IDE)
15 sekundäre Festplatten-Steuereinheit (IDE)

Vom Kurswechsel sehen jaDie Anschlüsse COM1 und COM4 sowie die Anschlüsse COM2 und COM3 benutzen die gleichen Unterbrechungen. Dies kann unlogisch erscheinen, da eine Unterbrechung nicht von zwei Peripheriegeräten benutzt werden kann. Tatsächlich ist es möglich den Anschluss COM1 sowie den Anschluss COM4 (sowie den Anschluss COM2 und den Anschluss COM3) zu benutzen, vorausgesetzt sie sind nicht gleichzeitig aktiv. Im gegenteiligen Fall kann der Computer blockiert werden oder ein anormales Verhalten aufweisen.

Lösung der Materialkonflikte

Im Falle eines Materialproblems, sollte man als erstes versuchen das Problem zu isolieren, um zu bestimmen, welches Peripheriegerät von dem Problem betroffen ist. Man muss also versuchen alle möglichen Variablen zu eliminieren, bis das verantwortliche Element gefunden ist :

  • indem der Deckel der Maschine entfernt wird und nach und nach alle Elemente entnommen werden, die den Konflikt verursachen können ;
  • indem die Peripheriegeräte über die Software im Betriebsprogramm deaktiviert werden.

Lesen Sie auch :

Das Dokument mit dem Titel « Unterbrechungsanforderungen (IRQ) und Konflikte » aus CCM (de.ccm.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.ccm.net) des Dokuments hinweisen.