REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Das Interruptsystem

Das Interruptsystem


Wenn Daten von oder zu einem Speichermedium oder einer Schnittstelle transportiert werden müssen, muß der PC seine aktuelle Arbeit unterbrechen. Obwohl diese Unterbrechungen nur Millionstel Sekunden betragen, ist man bemüht, solche Unterbrechungen auf ein Mindestmaß zu beschränken. So sollen zum Beispiel unnötige Wartepausen, die ein ständiges Überprüfen der Schnittstelle bzw. des Speichermediums erfordern würde, vermieden werden. Um das zu vermeiden, führt der Rechner nur dann Unterbrechungen ein, wenn auch wirklich Bedarf dafür besteht. Deshalb meldet die Controller-Karte dem Hauptprozessor eine Art Unterbrechungs-anforderung, einen Interrupt Request ( IRQ ) wenn ein solcher Bedarf besteht.




Jeder Kommunikationspartner eines PCs bekommt eine eigene Interrupt-Nummer. Für jede dieser Nummern gibt es im PC eine Signalleitung. Hierbei ist zu beachten, dass jedes in Frage kommende Teil eine eigene und freie Interrupt-Nummer hat bzw. bekommt. Gäbe es eine Doppel- belegung, so würden zwei unterschiedliche Erweiterungen oder Systemkomponenten auf die Anforderung reagieren, und es käme zu einer Art Kollision auf dem Datenbus, so dass keine der beiden Komponenten richtig funktionieren würde. Fordert eine Karte oder eine Baugruppe eine Unterbrechung ( Interrupt ) an, so erkennt der Prozessor anhand der Nummer, welche Komponente diese Unterbrechung angefordert hat.


Eine Reihe von Interrupt-Nummern sind im System bereits fest vergeben : Sie werden von unverzichtbaren Funktionsgruppen wie etwa Festplatte, Diskettenlaufwerk, Tastatur usw. genutzt. Andere Nummern sind frei geblieben und dürfen mit Hilfe von Treibern bzw. Jumpern auf den Karten an zusätzlich eingebaute Erweiterungen vergeben werden.

Dabei ist zu beachten :


- 8-Bit-Karten können nur Interupts bis einschließlich Nummer 7 verwenden, aber alle Karten über 8-Bit können Interruptnummern bis einschließlich 15 verwenden

- falls es mehr als eine serielle Schnittstelle gibt, belegt die zusätzliche (COM2 oder COM 4) den Interupt 3

- für eine zweite parallele Schnittstelle (LPT2) ist die Interrupt-Nummer 5 reserviert



Bei einem standartgemäßen PCs sieht die Interruptbelegung folgendermaßen aus :


IRQ 0

System-Timer

IRQ 1

Tastaturpuffer

IRQ 2

Interrupt-Controller

IRQ 3

COM 2 (und ggf. COM 4)

IRQ 4

COM 1 (und ggf. COM 3)

IRQ 5

LPT2

IRQ 6

Diskettencontroller

IRQ 7

LPT1 (und ggf. LPT 3)

IRQ 8

Echtzeituhr

IRQ 9

Umleitung von IRQ 2

IRQ 10

frei

IRQ 11

frei

IRQ 12

frei

IRQ 13

Mathematischer Coprozessor

IRQ 14

Festplatten-Controller

IRQ 15

frei



Die I/O-Basisadresse


Zusätlich zur Interrupt-Nummer muss für jede Erweiterungskarte, die zum Datentransfer ( Input / Output ) eingesetzt wird, eine Basisadresse festgelegt werden. Die Angabe erfolgt wie bei Speicheradressen üblich, in hexadezimaler Schreibweise. Diese Basisadresse gibt dann den Bereich des Arbeitsspeichers an, in dem die Karte mit dem Treiberprogramm die Daten austauscht. Diese I/O-Bereiche befinden sich bereits am Anfang des Hauptspeichers und umfassen meistens nur einige Bytes. Wird eine Adresse doppelt belegt, so kann es wie bei den Interrupt-Nummer zu einem Gerätekonflikt kommen.


Die vom I/O-Bereich verwendeten Adressen sind im MS-DOS-Standart festgeschrieben. Die folgende Tabelle zeigt, an welchen Stellen und in welchen Bereich sich die Adressen normalerweise befinden :


Systeminterne Nutzung

0000h bis 00FFh

Festplatten-Controller

01F0h

Joystick-Port

0200h

Soundkarten (häufig)

0220h

Scanner-Interface, Video-Digitizer (häufig)

0300h

Netzwerkkarten (häufig)

0360h

Grafikkarte

03D0h

Disketten-Controller

03F0h


Die Adressen 03F8h, 02F8h, 03E8h und 02E8h werden von den COM-Ports belegt und die Adressen 0378h, 0278h und 03BCh sind für parallele Schnittstellen reserviert.



Der DMA-Zugriff


Die normale Funktionsweise von I/O-Karten sieht vor, die Daten über die o.g. Basisadressen zu verwalten. Diese Form ist bei korrekter Konfiguration zwar recht störungssicher, birgt aber auch einige Nachteile in sich : Insbesondere, wenn größere Datenmengen verwaltet werden müssen (wie etwa beim CD-ROM), ist diese Methode langsam, da der nur wenige Bytes große I/O-Adressbereich wie ein Flaschenhals wirkt und einen höheren Datendurchsatz verhindert. Deshalb wurde für eine schnelle Datenübertragung von großen Datenmengen in den Arbeitsspeicher ein Verfahren entwickelt, dass als Direct Memory Access (direkter Speicherzugriff) bezeichnet wird. Mit diesem Verfahren werden, wie es der Name schon sagt, die Daten direkt in den Arbeitsspeicher geschrieben. Dort stehen sie zur Weiterverarbeitung direkt zur Verfügung und müssen nicht erst zeitaufwendig durch die Treibersoftware dorthin kopiert werden.


Auch für den DMA-Betrieb gibt es im PC verschiedene Kanäle, die auch als DRQ (DMA Request) bezeichnet werden. Erneut handelt es sich aber hierbei lediglich um Kanäle, über die nur eine Anforderung erfolgt und keine Daten transportiert werden. Einige DMA-Kanäle werden für systeminterne Funktionen benötigt, andere sind hingegen frei :


Die unteren DMA-Nummern, bis einschließlich DMA 4, werden normalerweise vom PC-System für eigene Zwecke benutzt. Die Kanäle 0,1 und 3 können aber trotzdem verwendet werden, wohingegn der 2. Kanal als Disketten-Controller und der 4. Kanal als RAM-Controller voll beansprucht werden. Die Kanäle 5-7 stehen aber zur freien Verfügung.







Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen