IRQ und DMA Geheimnisse Verkehrsregeln im Computer

background image

Damit der Datenfluß in einem PC überall
reibungslos und ungehindert fließen
kann, ist eine effiziente Kommunikation
mit den beteiligten Subsystemen und
eine hierarchische Ordnungsstruktur
notwendig. In einem PC wird das mit
Hilfe der Interrupt-Leitungen und der
DMA-Kanäle erreicht. Jedem logischen
“Gerät” (englisch: “device”), zum Bei-
spiel dem Joystick-Anschluß oder der
Soundkarte, werden eine oder mehrere
I/O-Adressen zugewiesen, die zum
Datenaustausch mit dem Prozessor die-
nen. Im PC ist hierfür ein spezieller
I/O-Adressenbereich reserviert (I/O =
Input/Output). Um den schnellen Daten-
transport zwischen den “Geräten” und
dem Prozessor sowie zwischen den
“Geräten” untereinander zu gewährlei-
sten, gibt es im PC zwei verschiedene
Arten von Signalleitungen: die IRQ-Lei-
tungen und die DMA-Kanäle.

IRQ

Die Abkürzung “IRQ” bedeutet “Interrupt
Request”, auf deutsch etwa “Unterbre-
chungsanforderung”. Ein Interruptsig-
nal, das der Prozessor über eine der
vorhandenen Interruptleitungen erhält,
ist eigentlich ein Stopsignal. Der Prozes-
sor muß seine Arbeit unterbrechen und
sich sofort einer unaufschiebbaren Auf-
gabe widmen, deren Erledigung das
interruptauslösende “Gerät” verlangt.
Danach kehrt der Prozessor zu seiner
vorangegangenen Tätigkeit zurück.
Die Koordination und weitere Behand-
lung der Interrupts ist Aufgabe eines
speziellen Chips, des Interrupt-Control-
lers. Beim alten PC-XT waren ursprüng-
lich 8 Interruptleitungen vorhanden;
später schaltete man zwei
Interrupt-Controller hintereinander, so
daß nun theroretisch insgesamt 15

Interruptleitungen verfügbar sind. Da
jedoch einige IRQs von internen
Systemkomponenten wie dem
Timer-Chip, dem Tastatur-Controller und
dem Coprozessor belegt werden, blei-
ben für zusätzliche “Geräte” wie ISA-
und PCI-Steckkarten nur noch wenige
IRQs frei. In Tabelle 1 sind die IRQs und
die ihnen zugeordneten Systemkom-
ponenten aufgelistet.
Die IRQs 2 und 9 bedürfen einer beson-
deren Erklärung: IRQ 9 des zweiten
IRQ-Controllers ersetzt eigentlich IRQ 2
des ersten, so daß IRQ 2 und IRQ 9 die
gleiche Funktion haben. Das kann in
einigen Fällen dazu führen, daß ein
“Gerät”, das IRQ 2 oder IRQ 9 benutzt,
nicht zufriedenstellend arbeitet. In aller
Regel kann die zugehörige Software mit
einer der beiden IRQ-Leitungen pro-
blemlos arbeiten, nicht aber wahlweise
mit beiden. In einem solchen Fall
macht es daher Sinn, versuchsweise
von IRQ 2 auf IRQ 9 (bzw. umgekehrt) zu
wechseln.
Die Prioritätsverteilung, also die Reihen-
folge der Abarbeitung beim gleichzei-
tigen Auftreten mehrerer Interrupts, ist
festgelegt und verläuft grundsätzlich
von der niedrigeren zur höheren
IRQ-Nummer (IRQ 0 hat z. B. Vorrang vor
IRQ 1 usw.). Infolge der Reihenschal-
tung von zwei Interrupt-Controller-ICs ist
diese Hierachie jedoch, wie aus Tabelle
1 hervorgeht, nur bedingt gültig.
An den Slots der Erweiterungskarten lie-
gen nicht sämtliche IRQ-Leitungen an.
Einige sind nur mit den zugeordneten
Systemkomponenten auf der Haupt-
platine verbunden, außerdem fehlen
an den kurzen 8-Bit-ISA-Slots die IRQ-Lei-
tungen mit den höheren Nummern. Bei
den PCI-Steckplätzen sind dagegen
alle nutzbaren IRQ-Leitungen vorhan-
den. Aus Tabelle 1 ist ersichtlich, daß für

Erweiterungen nicht mehr allzu viele
IRQs übrigbleiben. Normalerweise ste-
hen dafür nur die IRQs 5, 9, 10, 11 und
12 zur Verfügung. Da viele neuere
Soundkarten bereits zwei IRQs belegen
und auch die meisten Grafikkarten
nicht ohne eigene IRQ-Leitung aus-
kommen, bleiben in einem Multime-
dia-System nur noch zwei IRQ-Leitungen
zur freien Verfügung übrig.

DMA

Direct Memory Access, abgekürzt
“DMA”, ist ein Verfahren, bei dem eine
Systemkomponente unmittelbar auf
eine andere zugreift. Während ein
Interrupt den Prozessor veranlaßt, seine
aktuelle Arbeit zu unterbrechen, um die
zugehörige Interruptroutine abzuarbei-
ten, ist ein DMA-Zugriff ohne die Hilfe
des Prozessors möglich. Die System-
komponente tauscht Daten auf direk-
tem Weg mit einer anderen aus, so daß
der übrige Programmablauf nicht
beeinträchtigt wird. Ein spezieller
DMA-Controller sorgt dafür, daß es
dabei nicht zu Kollisionen kommt.
Während eines DMA-Zugriffs übernimmt
der DMA-Controller zeitweise die
gesamte Steuerung des Systembusses
und gibt sie nach getaner Arbeit an
den Prozessor zurück. Auf diese Weise
kann zum Beispiel eine Soundkarte (mit
Unterstützung des DMA-Controllers) digi-
talisierte Klangmuster direkt im Arbeits-
speicher des Computers ablegen.
Auch für DMA sind nur eine begrenzte
Anzahl von “Kanälen” verfügbar, von
denen einige bereits standardmäßig
an Systemkomponenten vergeben
sind. Ursprünglich waren beim alten
PC-XT nur vier DMA-Kanäle vorhanden,
mit Einführung des AT wurden sie auf
acht erweitert. Die höheren

X-12 - 6/98 Elektor

EXTRA

———————————————————— PC-P

LUS

Die Datenkommunikation zwischen den Komponenten
eines Computersystems muß nach bestimmten Regeln
ablaufen, damit Kollisionen und Crashs vermieden wer-
den. Eine wichtige Rolle fällt dabei den IRQ- und
DMA-Leitungen zu. Dieser Artikel gibt einen kurzen
Überblick über die Funktionen der IRQs und DMAs, und
anschließend wird gezeigt, wie man bei einem moder-
nen PC eventuellen Problemen und Konflikten (möglichst)
aus dem Weg geht.

IRQ- und DMA-Geheimnisse

Verkehrsregeln im Computer

background image

DMA-Kanäle sind allerdings an den
8-Bit-ISA-Slots nicht verfügbar. Der
Bedarf an DMA-Kanälen ist zum Glück
nicht allzu groß; er ist auf solche Syste-
merweiterungen beschränkt, die in kür-
zester Zeit große Datenmengen bewe-
gen müssen.

Problemlösungen

Wenn zwei Systemkomponenten die
gleiche IRQ-Leitung oder den gleichen
DMA-Kanal gleichzeitig benutzen,
kommt es fast immer zu Konflikten, die
das Systemverhalten und die Stabilität
ernsthaft gefährden. Es gibt verschie-
dene Möglichkeiten, die aktuelle Bele-
gung der IRQs und DMAs herauszufin-
den. Unter Windows 95 ist das ganz ein-
fach: Man schaut unter “Einstellungen
- Systemsteuerung - System - Geräte-
manager - Eigenschaften” nach (bei
der englischen Version: “Settings - Con-
trol Panel - System - Device Manager -
Properties). Wer noch mit Windows 3.1
oder mit DOS arbeitet, kann das Pro-
gramm MSD (Microsoft Diagnostics) zu
Hilfe nehmen, das bei den letzten DOS-
Versionen und auch bei Windows 3.1
zum Programmpaket gehörte.

Serielle Schnittstellen
Ein durchschnittlicher neuerer PC ist in
der Regel mit zwei seriellen Schnittstel-
len (COM 1 und COM 2) ausgestattet,
die die IRQs 4 bzw. 3 belegen. An COM
1 (IRQ 4) wird normalerweise die Maus
angeschlossen, und ein externes
Modem ist mit COM 2 (IRQ 3) verbun-
den. Interne Modems lassen sich fast
immer auch als COM 3 oder COM 4
konfigurieren. In diesem Fall muß die
Modemkarte auf COM 4 (IRQ 3) einge-
stellt werden, weil sie anderenfalls mit
der Maus an COM 1 (IRQ 4) in Konflikt
gerät. Der Grund: COM 1 und COM 3
benutzen gemeinsam IRQ 4, COM 2
und COM 4 teilen sich IRQ 3. Die
gleichzeitige Nutzung von COM 1 und
COM 3 bzw. von COM 2 und COM 4 ist
deshalb nicht möglich.
Wenn auch noch ein Grafiktablett oder
eine Infrarot-Fernbedienung ange-
schlossen werden soll, wird die Maus
am besten auf den speziellen
PS/2-Mausanschluß verlegt, der auf den
meisten Pentium-Hauptplatinen zusätz-
lich vorhanden ist. Allerdings muß die
Maus auch für diese Art des Anschlus-
ses geeignet sein. Standardmäßig ist
IRQ 12 für die PS/2-Maus reserviert. Falls
keine PS/2-Maus benutzt wird, kann
man IRQ 12 bei den meisten Haupt-
platinen durch Jumper- oder Bios-Ein-
stellung für andere Zwecke freigeben.
Trotzdem hat Windows 95 manchmal
Probleme, IRQ 12 als freie Interruptlei-

PC-P

LUS

———————————————————

Elektor

EXTRA

X-13 - 6/98

Bild 1: Beispiel für die IRQ- und DMA-Belegung eines mit Windows 95 arbeitenden
Systems.

background image

tung zu erkennen, so daß IRQ 12 nicht
immer uneingeschränkt belegt werden
kann.

Parallele Schnittstellen
Die parallele Druckerschnittstelle LPT 1
belegt standardmäßig IRQ 7; dies gilt
sowohl für den normalen Druckeran-
schluß als auch für den Druckeran-
schluß nach EPP-Spezifikation. Wenn
der Druckeranschluß im Bios als
ECP-Anschluß konfiguriert wurde, kommt
ein DMA-Kanal (DMA 3) hinzu. Eine
zweite Parallelschnittstelle belegt nor-
malerweise IRQ 5.

Grafikkarten
Eigentlich benötigt eine Grafikkarte
keine Interruptleitung und keinen
DMA-Kanal. Wegen der erweiterten
Funktionalität der meisten modernen
Grafikkarten stimmt dies heute in aller
Regel nicht mehr. Ältere, mit dem
S3-Chip ausgestattete Grafikkarten
waren dafür bekannt, daß man sie
nicht davon abbringen konnte, den
IRQ 11 zu belegen. Das führte häufig zu
folgenschweren Konflikten und System-
abstürzen. Die neueren Grafikkarten
verhalten sich meistens flexibler und
können sich während des Bootens auf
einen freien Interrupt selbst einstellen.

Normalerweise belegt die Grafikkarte
einen der drei Interrupts 9, 10 oder 11.

Soundkarten
Ein recht häufiges Sorgenkind ist die
Soundkarte, denn sie belegt gleich
mehrere IRQs bzw. DMA-Kanäle. Früher
nahm die 8-Bit-Soundblasterkarte IRQ 5
und DMA 0 (oder DMA 1) für sich in
Anspruch, weil man davon ausging,
daß die zweite Parallelschnittstelle (IRQ
5) nicht vorhanden war oder nicht stän-
dig genutzt wird. Zur Erinnerung: Zwei
Systemkomponenten (“Geräte”) können
zwar den gleichen Interrupt belegen,
ihn aber nicht gleichzeitig nutzen. Die
heutigen 16-Bit-Soundblasterkarten
(auch die neueren Versionen wie z. B.
die AWE 64) belegen ebenfalls nur eine
Interruptleitung, sie benötigen aber
zwei DMA-Kanäle (z. B. DMA 1 und DMA
5), weil der Datentransport im 16-Bit-For-
mat stattfindet. Soundkarten anderer
Hersteller sind oft noch anspruchsvoller;
außer den beiden DMA-Kanälen müs-
sen für sie gleich zwei IRQ-Leitungen
reserviert werden.

Netz- und SCSI-Karten
Da in Rechnernetzen naturgemäß
große Datenmengen transportiert wer-
den, benötigen auch diese Karten eine

Interruptleitung (z. B. IRQ 9, 10, 11 oder
12) und einen DMA-Kanal (meistens
einen 16-Bit-Kanal).

Spezielle Karten
Einem extern anzuschließenden Gerät,
zum Beispiel einem Scanner, liegt häu-
fig eine spezielle Steckkarte bei, die
ebenfalls eine IRQ-Leitung belegt. Man-
che derartige Karten begnügen sich
auch mit einem I/O-Adressenbereich
und tauschen Daten mit dem Prozessor
nach dem Polling-Verfahren aus (der
Prozessor fragt die Karte zyklisch ab).
Diese Methode ist zwar etwas langsa-
mer, was jedoch in vielen Fällen nicht
störend in Erscheinung tritt.
Neuere TV-Tuner-Karten schreiben die
Daten über den PCI-Bus direkt in den
Bildspeicher der Grafikkarte. Auch dafür
ist eine eigene IRQ-Leitung und ein
DMA-Kanal nötig.

An dieser Stelle ist sicher deutlich, daß
es beim Einbau mehrerer Erweiterungs-
karten hinsichtlich der IRQ- und DMA-
Vergabe zu einem bedrohlichen
Gedränge kommen kann. Zum Glück
braucht sich der Computernutzer heute
um die Konfliktvermeidung immer sel-
tener zu kümmern. Wenn die Hauptpla-
tine und die Zusatzkarten den neueren
Spezifikationen entsprechen, läuft die
IRQ- und DMA-Vergabe dank der “Intel-
ligenz” der Systemkomponenten beim
Booten automatisch ab. Für ältere
ISA-Karten gilt dies noch nicht, sie müs-
sen meistens noch von Hand konfigu-
riert werden. PCI-Karten können auch
den selben Interrupt gleichzeitig benut-
zen (das Verfahren heißt “IRQ Sharing”);
hierbei erkennt die Software, welche
Karte den Interrupt ausgelöst hat.

Bios-Einstellungen
Die auf einer modernen Hauptplatine
integrierten peripheren Systemkompo-
nenten benutzen die IRQs und DMAs,
die ihnen über das Bios zugeordnet
wurden. Für die seriellen Schnittstellen
stehen mehrere I/O-Adressenbereiche
und oft auch mehrere IRQs zur Wahl.
Das ist zum Beispiel dann von Vorteil,
wenn man einer Modemkarte den seri-
ellen Anschluß COM 3 zuweisen
möchte, obwohl die Karte hard-
waremäßig auf COM 4 eingestellt ist.
Auch zwei parallele Schnittstellen lassen
sich auf diese Weise vertauschen, so
daß im ECP-Modus zwei DMA-Kanäle
und zwei oder drei IRQs wahlweise ver-
fügbar sind. Wenn der zweite, auf der
Hauptplatine befindliche IDE-Controller
nicht genutzt wird, kann man ihn über
das Bios außer Betrieb setzen. IRQ 15 ist
dann für andere Zwecke frei.

982051

X-14 - 6/98 Elektor

EXTRA

———————————————————— PC-P

LUS

Tabelle 1 Standardzuordnung und Prioritäten der Interruptleitungen beim PC-AT und seinen Nach-

folgern.

IRQ

Priorität

Lokalisierung

Basis-I/O-Adresse

Systemkomponente

0

0

Hauptplatine 040...048

System-Timer

1

1

Hauptplatine

060...064

Tastatur

2

2

Hauptplatine

zweiter IRQ-Controller (IRQ 10...15)

3

9

8-Bit-ISA-Slot

2F8...2FF/2E8...2EF

serielle Schnittstellen COM 2 und COM 4

4

10

8-Bit-ISA-Slot

3F8...3FF/3E8...3EF

serielle Schnittstellen COM 1 und COM 3

5

11

8-Bit-ISA-Slot

(278...27F)

frei (parallele Schnittstelle LPT 2)

6

12

8-Bit-ISA-Slot

3F0...3F7

Floppy Disk Controller

7

13

8-Bit-ISA-Slot

378...37F

parallele Schnittstelle LPT 1

8

14

Hauptplatine

070...07F

Echtzeituhr

9

2

8-Bit-ISA-Slot

Ersatz für IRQ 2

10

3

16-Bit-ISA-Slot

frei

11

4

16-Bit-ISA-Slot

frei

12

5

16-Bit-ISA-Slot

frei (PS/2-Bus-Maus)

13

6

Hauptplatine

0F0...0FF

Coprozessor

14

7

16-Bit-ISA-Slot

1F0...1F7

erster IDE-Controller

15

8

16-Bit-ISA-Slot

(170...177)

frei (zweiter IDE-Controller)

(höchste Priorität: 0, niedrigste Priorität: 14)

Tabelle 2 Standardzuordnung der DMA-Kanäle.

DMA

Lokalisierung

Systemkomponent

0

16-Bit-ISA-Slot

frei

1

8-Bit-ISA-Slot

frei (Soundkarte)

2

8-Bit-ISA-Slot

Floppy Disk Controller

3

8-Bit-ISA-Slot

frei (parallele ECP-Schnittstelle oder Soundkarte)

4

Hauptplatine

Kopplung von erstem und zweitem DMA-Controller

5

16-Bit-ISA-Slot

frei (Soundkarte)

6

16-Bit-ISA-Slot

frei

7

16-Bit-ISA-Slot

frei


Wyszukiwarka

Podobne podstrony:
11 Angst als lernstörender Faktor und angstvorbeugende Maßnahmen im FSU
Geschichte und Bestandsaufnahme der Mundarten im Saarland
37 Rolle und Stellenwert des Übersetzens im FSU
Hohlbein, Wolfgang Indiana Jones Und Das Geheimnis Der Osterinseln 234 S
der ring und sein geheimnis herr der ringe tolkins
36 Mind Maps und ihre Verwendung im FSU ( Wortschatzarbeit, Textarbeit, andere Anwendungsbereiche)
Anorexia und Bulimia im Kindesalter
15 Sozialformen im FSU – ihr Einsatz und ihre Vor und Nachteileid 16054
Konkurrenz, Komplementarität und Kooperation im Bereich der
In der Küche und im Restaurant, Germanistyka, Słownictwo
Phraseologie im Kontext Ihre?kanntheit und ihr Verstaendnis
36 Mind Maps und ihre Verwendung im FSU ( Wortschatzarbeit, Textarbeit, andere Anwendungsbereiche)
Gerhard Lauer Das Erdbeben von Lissabon Ereignis, Wahrnehmung und Deutung im Zeitalter der Aufklärun
Ani, Friedrich Tabor Süden 10 Süden und der Mann im langen schwarzen Mantel
Jörg Baberowski Totale Herrschaft im staatsfernen Raum Stalinismus und Nationalsozialismus im Vergle
4 PT Geriatrie Der Urogenitaltrakt und die Behandlung im höheren Alter

więcej podobnych podstron