Materielle Unterbrechungsanforderungen (IRQ) und Konflikte

Juni 2015

Was ist eine Unterbrechung?

Da der Prozessor nicht mehrere Informationen gleichzeitig bearbeiten kann (er bearbeitet eine Information auf einmal, Multitasking besteht darin die Anweisungselemente mehrerer Aufgaben abwechselnd zu bearbeiten), kann ein in Ausführung befindliches Programm mit einer Unterbrechung kurzfristig angehalten werden, bis eine Unterbrechungsroutine ausgeführt wird. 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 angefordert wird. Der Computer besitzt tatsächlich zahlreiche Peripheriegeräte. Diese benötigen meist die Systemressourcen, sei es nur um mit ihm zu kommunizieren...
Wenn diese eine Ressource benötige, schicken sie dem System eine Unterbrechungsanforderung, damit es ihnen seine Aufmerksamkeit schenkt. So besitzen die Peripheriegeräte eine Unterbrechungsnummer, die man IRQ (Interruption request, was soviel bedeutet wie «Unterbrechungsanforderung») nennt. Um es bildlich auszudrücken: jedes Peripheriegerät zieht an einer « Schnur» die mit einer Glocke verbunden ist, um dem Computer zu signalisieren, dass es seine Aufmerksamkeit braucht.

Diese " Schnur" ist in Wirklichkeit eine physische Leitung die den Slot mit dem Motherboard verbindet. Für eine Steckstelle ISA 8 Bit zum Beispiel, gibt es 8 IRQ Leitungen (Interruption Request Line), die den slot 8 Bit mit dem Motherboard, IRQ0 bis IRQ7. Diese IRQ werden durch einen «Unterbrechungskontroller » kontrolliert, der es ermöglicht dem IRQ " das Wort zu erteilen", welcher die höchste Dringlichkeit aufweist. Für die 16 Bit Slots sind die IRQ 8 bis 15 hinzugefügt worden, so dass ein zweiter Unterbrechungskontroller ebenfalls nötig wurde. Die Verbindung zwischen den zwei Unterbrechungsgruppen erfolgt über den IRQ 2 der mit dem IRQ 9 verbunden ist (genannt «Kaskade »). Mit der Kaskade werden die IRQ 8 bis 15 in gewisser Weise zwischen die IRQ 1 und 3 " eingeschoben"

IRQ2 - Cascade

Da die Priorität nach steigender IRQ Reihenfolge gegeben wird, und die IRQ 8 bis 15 zwischen die IRQ 1 und 3 eingeschoben sind, ist die Prioritätsreihenfolge folgende :

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

Was bezeichnet man mit DMA?

Peripheriegeräte müssen regelmäßig bei dem System " Speicherkapazität ausleihen", da sie diese als Pufferzone (auf Englisch buffer ) brauchen, das heißt eine zeitlich befristete Speicherzone die es ermöglicht schnell Daten als Eingabe oder Ausgabe zu speichern.

Ein direkter Zugangskanal zu dem Speicher, genannt DMA (Direct Memory Access oder direkter Speicherzugriff), ist so definiert worden, um diese Funktion zu erfüllen.

Der DMA Kanal bezeichnet einen Zugang zu einer Speicherstelle des Arbeitsspeichers (RAM) des Computers, welcher durch eine « Startadresse» (oder «RAM Start Adress» auf Englisch) und eine « Endadresse » erkannt wird. Diese Methode erlaubt es einem Peripheriegerät spezielle Kanäle zu benutzen, welche ihm einen direkten Zugang zu dem Speicher garantieren, ohne den Mikroprozessor einzuschalten, um diesen somit, um diese Aufgaben zu entlasten.

Ein Computer des Typs PC besitzt 8 DMA Kanäle. Die ersten 4 DMA Kanäle besitzen eine Bandbreite von 8 Bit, während die DMA 4 bis 7 über eine Bandbreite von 16 Bit verfügen.
Die DMA Kanäle werden meist wie folgt zugeordnet  :

  • DMA0 - frei
  • DMA1 - (Audiokarte)/frei
  • DMA2 - Disketten Controller
  • DMA3 - Parallelanschluss (Druckeranschluss)
  • DMA4 - Controller des direkten Speicherzugangs
    (Verweis auf DMA0)
  • DMA5 - (Audiokarte)/ frei
  • DMA6 - (SCSI)/frei
  • DMA7 - verfügbar

Basisadressen

Die Peripheriegeräte müssen manchmal Informationen mit dem System austauschen, daher sind ihnen Speicheradressen für den Versand und den Empfang von Daten zugeordnet. Diese Adressen heißen «Basisadressen» (folgende Begriffe werden ebenfalls manchmal verwendet : «Ein-/ Ausgangsport», «E/A-Ports», «E/A-Adresse», «Adressen der E/A ports», «Basisport», oder auf Englisch I/O address was bedeutet «Input/Output Address», wörtlich übersetzt «Eingangs-Ausgangsadresse»).

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

Hier eine Liste einiger gängiger Basisadressen  :

  • 060h - Tastatur
  • 170h/376h - sekundärer IDE Kontroller
  • 1F0h/3F6h - primärer IDE Kontroller
  • 220h - Audiokarte
  • 300h - Netzwerkkarte
  • 330h - SCSI Adapter-Karte
  • 3F2h - Diskettenlaufwerk-Kontroller
  • 3F8h - COM1
  • 2F8h - COM2
  • 3E8h - COM3
  • 2E8h - COM4
  • 378h - LPT1
  • 278h - LPT2

Alle diese Elemente sind jedoch für den normalen Benutzer transparent, das heißt, dass er sich darum nicht kümmern muss.

Warum gibt es Materialkonflikte?

Eine Unterbrechung ist also eine Leitung die ein Peripheriegerät mit dem Prozessor verbindet und sie ist materiell denn sie von einer materiellen Komponente des PCs angefordert wird. Dies ist der Fall zum Beispiel, wenn eine Taste gedrückt worden ist, und die Tastatur die Aufmerksamkeit des Prozessors auf diesen Vorfall lenken möchte. Aber die 256 Unterbrechungen können nicht alle als materielle Unterbrechungen gefordert werden. Die verschiedenen Peripheriegeräte fordern immer ganz bestimmte Unterbrechungen.
So muss bei der Installation von Erweiterungskarten, darauf geachtet werden, dass bei der Konfiguration die gleiche Unterbrechung nicht von zwei verschiedenen Peripheriegeräten verwendet wird.

Wenn zwei Peripheriegeräte den gleichen IRQ besitzen, so weiß das System nicht, welchem es sich zuwenden soll ... das System blockiert sich oder funktioniert nicht richtig... dies wird Materialkonflikt genannt. Ein Materialkonflikt entsteht nicht nur wenn zwei Peripheriegeräte die gleiche materielle Unterbrechung besitzen, er kann ebenfalls entstehen wenn zwei Peripheriegeräte die gleiche Ein-/ Ausgangsadresse besitzen, oder den gleichen DMA Kanälen zugeordnet sind.

Wie werden die IRQ der Peripheriegeräte konfiguriert?

Der IRQ einer Karte kann also geändert werden, denn es muss ihm eine IRQ-Nummer zugeteilt werden, die nicht von einem anderen Peripheriegerät benutzt wird.

  • Auf alten Peripheriegeräten wird er mit Jumpern (Springern) befestigt, die sich auf der Karte befinden.
  • Auf neueren Karten (die ein Plug&Play BIOS haben), erfolgt die Parametrisierung der Ressourcen ( IRQ, DMA, Ein-/Ausgangsadressen) über ein kleines Dienstprogramm (häufig unter DOS) welches mit der Netzwerkkarte geliefert wird (es heißt meist Setup.exe, install.exe, ezconf.exe, config.exe,...): es ermöglicht über die Software die Werte der IRQ, DMA,... zu ändern.
    Meist musste der Modus Plug & Play deaktiviert werden um die Parameter manuell ändern zu können.
  • Zahlreiche Karten sind nach Belieben parametrierbar (es ist möglich einen IRQ-Wert unter Windows zuzuteilen). Dies ist insbesondere der Fall der am meisten Audiokarte.
Es ist nicht immer einfach die Ressourcen für alle Peripheriegeräte zu finden, hier daher die schon verwendeten Ressourcen, die demnach nicht ihren Erweiterungskarten zugeteilt werden können :

IRQ Peripheriegerät
0 Interne Taktgeber
1 Tastatur
2 Controller der programmierbaren Unterbrechungen
Verweis auf die IRQ 8 bis 15
3 Kommunikationsport COM2/COM4
4 Kommunikationsport COM1/COM3
5 frei
6 Disketten Controller
7 Drucker Port LPT1
8 CMOS (Uhr für Echtzeit)
9 frei
10 frei
11 frei
12 Port Maus PS2/frei
13 Digitaler Datenprozessor
(Mathematischer Coprozessor)
14 Controller für primäre Festplatten (IDE)
15 Controller für sekundäre Festplatten (IDE)

Wie man bemerken kann, benutzen die Ports COM1 und COM4, sowie die Ports COM2 und COM3 die gleichen Unterbrechungen. Dies kann unlogisch scheinen da eine Unterbrechung nicht von zwei Peripheriegeräten benutzt werden kann. Tatsächlich ist es möglich den Port COM1 und den Port COM4 (sowie den Port COM2 und COM3) zu benutzen, vorausgesetzt sie sind nicht gleichzeitig aktiv. Im gegenteiligen Fall, kann sich der Computer blockieren oder anormal verhalten.

Materielle Konflikte lösen

Wenn Sie einem Problem gegenüberstehen, von dem sie denken, dass es mit der materiellen Konfiguration ihrer Maschine zusammen hängt, sollten Sie als erstes versuchen es zu isolieren. Dies bedeutet zu versuchen alle möglichen Variablen auszuschließen, meist in dem die Maschine geöffnet wird und, nach und nach alle Elemente entnommen werden, die einen Konflikt hervorrufen können, oder es auf Programmbasis zu isolieren (in ihrem Betriebssystem), bis Sie das verantwortliche Element entdecken.

Laden Sie sich den Artikel kostenlos als PDF-Datei herunter, um ihn jeder Zeit Offline lesen zu können:
Materielle-unterbrechungsanforderungen-irq-und-konflikte .pdf

Das könnte Sie auch interessieren


Hardware interrupts (IRQ) and conflicts
Hardware interrupts (IRQ) and conflicts
Interrupciones (IRQ) y conflictos del hardware
Interrupciones (IRQ) y conflictos del hardware
Interruptions matérielles (IRQ) et conflits
Interruptions matérielles (IRQ) et conflits
Interruzioni hardware (IRQ) e conflitti
Interruzioni hardware (IRQ) e conflitti
Interrupções materiais (IRQ) e conflitos
Interrupções materiais (IRQ) e conflitos
Das Dokument mit dem Titel «  Materielle 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.