Tải bản đầy đủ (.pdf) (10 trang)

BIOS und Troubleshooting- P28 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (326.96 KB, 10 trang )

Kapitel 7 · Bussysteme, Plug&Play und Onboard Devices
281
7.6.3 DMA-Kanäle
In jedem PC ist ein spezieller Baustein für den Datentransfer zwischen
Speicher und Peripherie vorhanden. Dieser Baustein versetzt den Compu
-
ter in die Lage, Daten mit relativ hohen Geschwindigkeiten zu übertra-
gen. Diese Betriebsart wird als Direct Memory Access (direkter Speicher-
zugriff) bezeichnet. Die Datenübertragung erfolgt daher (quasi)
unabhängig von der CPU, und nicht mehr der Prozessor hat den Zugriff
auf die Daten-, Adress- und Steuerleitungen (den Systembus), sondern
der DMA-Controller. Ein Geschwindigkeitszuwachs durch die DMA-
Übertragung ergibt sich allerdings nur bei den älteren PC-Modellen,
denn bereits 486-CPUs können im Polling-Mode höhere Geschwindig
-
keiten bieten. Im Polling-Mode, wie er beispielsweise für IDE-Festplatten
(PIO-Modes) durchgeführt wird, ist demgegenüber die CPU allein für die
Datenübertragung zuständig. Aus diesem Grunde liegt der Vorteil der
DMA-Betriebsart nicht im Zuwachs an Geschwindigkeit, sondern in der
»ungestörten« Übertragung von definierten Datenblöcken (64 oder 128
kByte bei ISA), die nicht durch andere Aktionen unterbrochen werden
kann. Die CPU kann sich außerdem während einer laufenden DMA-
Übertragung anderen Aufgaben widmen.
Bild 7.29: Die Darstellung der E/A-Adressen bei Windows XP
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PC-Ressourcen
282
0
magnum
Da der PCI-Bus keine DMA-Übertragung kennt, sondern stattdessen mit
Burst-Übertragungen arbeitet, sind hierfür auch keine speziellen Kanäle


zu reservieren, und die Vergabe der DMA-Kanäle ist lediglich für die
vorhandenen ISA-Karten zu beachten. Eine Ausnahme bilden Sound-
Karten für die Soundblaster-Emulation unter DOS, wo sich auch eine
PCI-Karte aus Kompatibilitätsgründen als ISA-Karte ausgeben muss,
sodass sie dann auch mindestens einen DMA-Kanal benötigt. Ab einem
AT-Computer (286-CPU) sind zwei dieser DMA-Controller-Bausteine
auf dem Mainboard enthalten und somit acht Kanäle verfügbar, was
auch dem aktuellen Standard entspricht. Der erste DMA-Controller wird
wie bei den Interrupt-Controllern (siehe Kapitel 7.6.4) als Master, der
zweite als Slave bezeichnet, und beide sind entsprechend verschaltet. Das
Prinzip ist hier das gleiche wie bei den Interrupt-Kanälen, und die DMA-
Chips befinden sich ebenfalls in der Southbridge des Chipsatzes.
Bild 7.30: Die verwendeten DMA-Kanäle bei einem PC mit Windows 9x. Aus Kompa-
tibilitätsgründen werden hier auch von einer PCI-Sound-Karte (Soundbla-
ster Live) ISA-Ressourcen belegt.
DMA-Kanal Verwendung
0 frei
1 frei
2 Controller für Diskettenlaufwerke
3 Enhanced Parallel Port, Druckerport laut IEEE1284
4 Kaskadierung, nicht zu verwenden
Tab. 7.7: Die Verwendung der DMA-Kanäle
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Kapitel 7 · Bussysteme, Plug&Play und Onboard Devices
283
Welcher DMA-Kanal für den Festplatten-Controller verwendet wird, ist
nicht eindeutig definiert. In den meisten Fällen wird es jedoch der DMA-
Kanal 7 und für den zweiten Kanal eines IDE-Controllers der Kanal 5
sein. Mittlerweile wird aber überhaupt kein DMA-Kanal vom Festplat
-

ten-Controller mehr belegt, wie es bei allen neueren PC-Designs der Fall
ist, weil ein PIO-Mode ohnehin kein DMA nutzt und weil für UDMA
(Ultra DMA oder Ultra ATA) die IDE-Interface-Elektronik verändert
wurde, sodass IDE als Busmaster mit einem speziellen Treiber des
Betriebssystems arbeitet.
Falls im BIOS-Setup für die Druckerschnittstelle der EPP-Mode
(IEEE1284) eingestellt ist, kommt üblicherweise auch hierfür ein DMA-
Kanal – meist der Kanal 3 – zum Einsatz. Da den einzelnen DMA-Kanä
-
len wie bei der Interrupt-Verarbeitung eine bestimmte Priorität zugeord-
net ist, wird zunächst die Anforderung mit der höchsten Priorität verar-
beitet. DRQ0 hat die höchste, DRQ7 hat dabei die niedrigste Priorität.
7.6.4 Interrupt-Kanäle
Ein Computer hat zahlreiche Aufgaben zu bewältigen, die er teilweise
scheinbar gleichzeitig erledigt. Eine wichtige Rolle spielt dabei die Inter
-
rupt-Verarbeitung, und Hardware-Einheiten, die diese Funktionen ver-
wenden können, benötigen entsprechende PC-Ressourcen – in diesem
5 IDE-Controller, zweiter Kanal
6 frei
7 IDE-Controller, erster Kanal
DMA-Kanal Verwendung
Tab. 7.7: Die Verwendung der DMA-Kanäle (Forts.)
Bild 7.31: Der Diskettenlaufwerk-Controller kommt auch unter Windows XP als ISA-
Device daher, und der Kanal 4 dient der Kaskadierung für den »zweiten«
DMA-Controller.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PC-Ressourcen
284
0

magnum
Fall einen oder auch mehrere Interrupt-Kanäle. Wenn es keine Interrupt-
Verarbeitung gäbe, müsste der Prozessor stets in einer Programmschleife
arbeiten. In diesem Fall stellt er beispielsweise entweder fest, ob eine
Taste gedrückt ist, ob eine Schnittstelle etwas sendet oder ob der Moni
-
tor etwas anzeigen soll. Dieses Arbeiten ist sehr ineffektiv, da der Prozes-
sor die meiste Zeit nur »nachschaut« und die eigentlichen Aktionen viel-
leicht gerade dann ausführt, wenn bereits eine andere Aktion an der
Reihe ist. Bei der Interrupt-Verarbeitung hingegen wird der Prozessor in
seiner momentanen Arbeit unterbrochen (interrupted). Dies könnte
gerade beim Darstellen einiger Zeichen auf dem Bildschirm geschehen,
damit er stattdessen beispielsweise ein Zeichen von der Tastatur einliest.
Beim Betätigen einer Taste wird ein Interrupt (Interrupt Request, IRQ)
ausgelöst, der den Prozessor veranlasst, den Tastencode einzulesen und
eine entsprechende Aktion auszuführen.
Aus traditionellen Gründen gibt es im PC zwei Interrupt-Controller. Der
»Urvater-PC« verfügt nur über 8 Interrupt-Kanäle, wofür ein einziger
Interrupt-Controller verwendet wird. Mit dem AT (ab 286-CPU) ist ein
zweiter Baustein für weitere 8 Kanäle eingeführt worden, wobei einer
den Master-Controller und der andere (der neue) den Slave-Controller
darstellt. Mithilfe des Interrupt-Kanals 2 spricht der erste Controller
(Master) den zweiten Controller (Slave) an. Der ursprüngliche Interrupt
2 wird dabei auf den Interrupt 9 des Slave-Controllers umgeleitet. An der
ursprünglichen Prioritätenreihenfolge hat sich dadurch nichts verändert,
da die neuen Interrupts vor den »alten« Interrupt 3 platziert werden, wie
es in Tabelle
7.8 gezeigt ist. Als einzelne Bausteine sind die beiden Inter-
rupt-Controller schon seit langem nicht mehr in PCs zu finden. Ihre Auf-
gabe wird von einem Schaltungsteil (z.B. Southbridge) des Chipsatzes

ausgeführt, damit aber alles schön kompatibel bleibt, wird einfach die
alte Konstruktion nachgebildet. Der Interrupt 13 diente damals der
Kommunikation des mathematischen Coprozessors mit der CPU. Der
Coprozessor ist ab einer 486-CPU im Chip mit integriert, sodass dieser
IRQ eigentlich in dieser Form nicht mehr notwendig ist, er ist jedoch
weiterhin aus Kompatibilitätsgründen nach dem klassischen Muster
implementiert.
IRQ Verwendung
0 Timer, reserviert für Mainboard-Elektronik
1 Tastatur, reserviert für Mainboard-Elektronik
2 Kaskadierung für zweiten Controller, reserviert
8 Echtzeituhr, reserviert für Mainboard-Elektronik
9 frei oder auch SCSI- oder USB-Controller, PCI-Mainboard
10 frei
Tab. 7.8: Die Hardware-Interrupts
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Kapitel 7 · Bussysteme, Plug&Play und Onboard Devices
285
In einem PC gibt es also insgesamt 16 Interrupt-Kanäle, die (zunächst)
auch immer nur einer Einheit zugewiesen werden dürfen. In der Praxis
passiert es jedoch oftmals, dass beispielsweise der IRQ7, der standard
-
mäßig für die erste Druckerschnittstelle vorgesehen ist, auch als Vorein-
stellung für eine Soundblaster-Karte verwendet wird. Probleme sind im
Prinzip nur dann zu erwarten, wenn versucht wird, während der Sound-
Ausgabe zu drucken. Sicherheitshalber sollte man bei älteren PCs von
derartigen Interrupt-Konstellationen jedoch Abstand nehmen.
Die meisten PC-Einheiten lassen ein Interrupt-Sharing zu, was bedeutet,
dass mehrere PCI-Karten (aber keine ISA-Karten!) ein und denselben
Interrupt-Kanal verwenden können. Dies ist recht hilfreich, weil es in

Anbetracht der zahlreichen PC-Einheiten doch recht knapp mit 16 Kanä
-
len werden kann, zumal einige von vornherein für Mainboard-Einheiten
festgelegt sind, was sich auch nicht verändern lässt. Die Software-Treiber
für die Geräte müssen diese Funktion allerdings ebenfalls unterstützen
und gewissermaßen selbst herausfinden, welches Gerät den Interrupt
ausgelöst hat, was zusätzliche Verarbeitungszeit nach sich zieht und kei
-
neswegs mit jeder PC-Einheit funktioniert.
Wie bei den E/A-Adressen kurz erläutert, existiert für die per Jumper
konfigurierbaren ISA-Karten kein Mechanismus zur Ermittlung der von
einer Karte verwendeten Parameter, und daher gilt auch für Interrupts
und deren Anzeige vom Geräte-Manager, dass man sich auf die dort
gezeigten Angaben nicht verlassen kann. Dies gilt sowohl für die Angabe
Von unbekanntem Gerät verwendet als auch für eine nicht vorhandene
Interrupt-Angabe. Eine Überprüfung dahingehend, ob nun ein Interrupt-
Kanal verwendet wird oder nicht, ist nur durch eigenes Nachforschen
und mithilfe der Tabelle
7.8 möglich.
11 frei
12 PS/2-Maus-Port
13 mathematischer Coprozessor, Fehlerübermittlung
14 erster IDE-Festplatten-Controller
15 zweiter IDE-Festplatten-Controller
3 COM2, zweite serielle Schnittstelle
4 COM1, erste serielle Schnittstelle
5 frei oder auch LPT2, zweite Druckerschnittstelle
6 Controller für die Diskettenlaufwerke
7 LPT1, erste Druckerschnittstelle
IRQ Verwendung

Tab. 7.8: Die Hardware-Interrupts (Forts.)
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PC-Ressourcen
286
0
magnum
Die höchste Priorität hat in der Regel der nicht maskierbare Interrupt
(NMI). Er kann nicht wie die anderen Interrupts durch eine Maskierung
per Software gesperrt werden und wird beispielsweise bei einem Paritäts
-
fehler ausgelöst. Die Stromsparfunktionen eines PC sind von der Priori-
tät her noch über dem NMI angeordnet. Die zweithöchste Priorität
(IRQ0) hat der Timer (Systemzeitgeber) auf dem Mainboard, während
die erste parallele Schnittstelle (Drucker) die niedrigste (IRQ7) innehat.
Wie Tabelle
7.8 zu entnehmen ist, sind bei einem PC die Interrupts – je
nach Ausstattung – begrenzt (frei sind Nr. 10 und Nr. 11), was zu Pro
-
blemen bei der Integration von Einsteckkarten führen kann.
7.6.5 PCI-Interrupts
Die klassische Verwendung der Interrupts (siehe Tabelle 7.8 und Bild
7.32), wie sie ursprünglich für ISA-PCs definiert worden war, gilt auch
für PCI- und ISA-Plug&Play-Einheiten, wobei mit PCI aber keine Erwei
-
terung dieses Schemas stattgefunden hat. PCI selbst definiert zwar vier
Interrupts (INTA#-INTD#), diese werden jedoch über die ISA-Interrupt-
Kanäle abgebildet, wie es anhand des PnP/PCI Configuration Setups in
Kapitel 7.5.2 erläutert ist. Dies reduziert letztendlich die Anzahl der prin
-
zipiell zur Verfügung stehenden IRQs.

Bei älteren Mainboards sind für die Zuordnung der INTs zu den IRQs
auf einem Mainboard Jumper zu stecken. Bei aktuellen PCs wird diese
Zuordnung mithilfe der Southbridge, die sich im BIOS-Setup innerhalb
bestimmter Kombinationen hierfür manuell konfigurieren lässt, durchge
-
führt.
Bild 7.32: Auch wenn der PC überhaupt keine ISA-Slots mehr besitzt, die traditio-
nellen PC-Einheiten werden auch unter Windows XP als ISA-Devices
geführt und belegen Interrupt-Kanäle.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Kapitel 7 · Bussysteme, Plug&Play und Onboard Devices
287
Wie die vier PCI-Interrupts mit den einzelnen Steckplätzen (AGP, PCI)
und den Onboard Devices verbunden sein sollen, ist in der PCI-Spezifi
-
kation zwar vorgeschrieben, allerdings gehen die Mainboard-Hersteller
hier durchaus eigene Wege, sodass es hier eine ganze Reihe verschiedener
Möglichkeiten der elektrischen Verdrahtung gibt, die nicht veränderbar
ist. Leider veröffentlichen aber die wenigsten Mainboard-Hersteller das
auf dem Mainboard realisierte Routing der PCI-Interrupts. Dies stellt
sich immer dann als Problem dar, wenn eine PCI-Karte nur bei Erhalt
eines exklusiven PCI-Interrupts richtig funktioniert, sie das Interrupt-
Sharing also nicht korrekt beherrscht, was aber durchaus im Gerätetrei
-
ber begründet sein kann und sich dann durch eine Treiberaktualisierung
beheben lässt.
Tabelle 7.9 zeigt, wie die Zuordnung laut PCI-Standard aussehen sollte.
Daraus wird ersichtlich, dass alle vier PCI-Interrupts an alle PCI-Slots
geführt werden, eine AGP-Grafikkarte lediglich den INTA# oder den
INTB# verwenden kann und die Onboard-Einheiten den INTC# oder

auch den INTD#. Beispielsweise kommt der INTA# sowohl für den
AGP, den ersten PCI-Slot als auch den fünften zum Einsatz, was sich
immer dann als problematisch erweisen kann, wenn die hierfür notwen
-
digen Gerätetreiber das Interrupt-Sharing nicht korrekt beherrschen.
In diesem Fall ist einer »widerwilligen« PCI-Karte ein INT# exklusiv
zuzuordnen, was aber nur durch das Umstecken der Karte in einen ande
-
ren Slot zu erreichen ist, da die INTs fest verdrahtet sind. Um bei der
Bild 7.33: Die Organisation der PCI-Interrupts, wie sie in der PCI-Spezifikation defi-
niert ist
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PC-Ressourcen
288
0
magnum
Zuordnung laut der Tabelle 7.9 zu bleiben, bedeutet dies beispielsweise:
Der INTA# wird von der AGP-Karte verwendet, der INTC# vom
Onboard Soundchip und der INTD# vom USB-Controller. Für die Karte
bleibt lediglich der INTB# übrig, der exklusiv zum Einsatz kommen
kann, wenn sich die Karte im PCI-Slot 2 befindet.
7.6.6 APIC-Modus
Die Interrupt-Verarbeitung und die Anzahl der möglichen Interrupt-
Kanäle hat sich seit dem 80286-Prozessor im Grunde genommen nicht
verändert, und durch die PCI-Einheiten (Einsteckkarten, Onboard
Devices) hat sich die hier vorhandene Ressouren-Knappheit in der Praxis
sogar noch verschärft.
Für Multiprozessor-Systeme wurde damals mit dem PentiumPro ein
Advanced Programmable Interrupt Controller (APIC) mit in den Chip
integriert. Über den hiermit realisierbaren APIC-Bus kommunizieren die

CPUs untereinander und stellen sich gegenüber dem Interrupt-Controller
im Chipset so dar, als wenn es sich um eine einzige CPU handeln würde.
Im Chipset ist dementsprechend die Unterstützung für den APIC-Modus
notwendig, die üblicherweise mit in der Southbridge (z.B. PIIX4) in
Form der I/O APIC Logic untergebracht ist und sich auch von Single-
Prozessorsystemen nutzen lässt.
Slot/Device 1. Leitung 2. Leitung 3. Leitung 4. Leitung
AGP-Slot INTA# INTB# - -
PCI-Slot 1 INTA# INTB# INTC# INTD#
PCI-Slot 2 INTB# INTC# INTD# INTA#
PCI-Slot 3 INTC# INTD# INTA# INTB#
PCI-Slot 4 INTD# INTA# INTB# INTC#
PCI-Slot 5 INTA# INTB# INTC# INTD#
PCI-Slot 6 INTB# INTC# INTD# INTA#
Onboard USB INTD# - - -
Onboard Sound INTC# - - -
Tab. 7.9: Diese Zuordnung der vier PCI-Interrupts zu den Slots und den Onboard-
Devices ist in der PCI-Spezifikation definiert.

Der ursprünglich für Multiprozessor-Systeme entwickelte APIC-
Modus erlaubt bei allen aktuellen PCs die Nutzung von 24 Interrupt-
Kanälen, was die immer wieder problematische Interrupt-Zuordnung
entschärfen kann.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Kapitel 7 · Bussysteme, Plug&Play und Onboard Devices
289
Der APIC-Bus besteht aus drei Signalen (APICCLK, APICD0, APICD1),
einem Takt- sowie zwei Datensignalen und dient der Verteilung der
Interrupt-Ereignisse. Dabei handelt es sich aber nicht um die klassische
Art der (zuvor geschilderten) Interrupt-Verarbeitung, sondern die Kom

-
munikation findet in einem hierfür reservierten Speicherbereich (4 kByte)
des PC statt. Interrupts werden dabei über den APIC-Bus gesendet, ohne
dass ein Interrupt-Achnowledge-Zyklus absolviert werden muss, wobei
die Priorität der Anforderung unabhängig von der jeweiligen Interrupt-
Nummer ist. Jedem Interrupt-Kanal wird per Software (Betriebssystem)
ein eigener Vektor zugeordnet, und die Kommunikation findet mithilfe
spezifizierter Nachrichten (Messages) statt.
Der im Chipset integrierte I/O-APIC kann in zwei Modi arbeiten: entwe-
der im kompatiblen Modus (Legacy Dual 8259) mit 15 Kanälen oder im
APIC-Modus, wodurch 24 Interrupt-Kanäle nutzbar sind. Die aus Kom
-
patibilitätsgründen vorhandenen Legacy-Interrupts können dabei eben-
falls (per Redirection Table) über den I/O-APIC abgewickelt werden,
sodass sich bei der Nutzung des APIC-Modus für die Verwendung und
die Darstellung (z.B. im Windows Geräte-Manager) der klassischen
Interrupts keine Veränderungen gegenüber dem Legacy-Modus ergibt.
Das BIOS und das Betriebssystem (z.B. Linux, Windows XP) müssen den
APIC-Modus allerdings explizit unterstützen, und nicht bei allen BIOS-
Versionen ist dieser Modus im Setup aktivierbar, obwohl die entspre
-
chende Funktionalität im Chipset bereits implementiert ist. Windows XP
interpretiert ein APIC-fähiges System als »ACPI Uniprocessor PC«, was
etwas missverständlich erscheint, weil dies nicht unmittelbar etwas mit
dem Advanced Configuration and Power Management Interface (ACPI)
zu tun hat. Gleichwohl kann hiermit das Problem beseitigt werden, dass
alle PCI-Einheiten gemeinsam einen einzigen Interrupt-Kanal im ACPI-
Modus nutzen müssen.
Bild 7.34: Die Verwendung der Interrupt-Kanäle im APIC-Modus beim Aldi-PC
(2,6

GHz)
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PC-Ressourcen
290
0
magnum
Der (alte) kompatible Modus ist immer verwendbar, unabhängig vom
jeweiligen Chipset und der eingesetzten CPU, während der APIC-Modus
sowohl vom BIOS als auch vom Betriebssystem unterstützt werden muss.
Es mag verwunderlich sein, dass der APIC-Modus offenbar – trotz der
bereits seit Jahren zur Verfügung stehenden, aber brachliegenden Unter
-
stützung – erst neuerdings zum allgemeinen Einsatz kommt. Während
Linux (z.B. Red Hat 7.2) schon eine ganze Weile hierzu in der Lage ist,
bietet erst Windows XP diese Möglichkeit. Bei Linux geht die automati
-
sche APIC-Modus-Unterstützung vielfach vom Anwender (fast) unbe-
merkt vonstatten, wenn z.B. bei der Installation eines SCSI-Controllers
der APIC-Modus einfach aktiviert wird, weil der Controller beispiels
-
weise mehrere Interrupt-Kanäle benötigt und/oder die üblichen IRQs
bereits belegt sind.
Das BIOS muss aber auf jeden Fall den APIC-Modus zur Verfügung stel-
len, was eigentlich bei allen aktuellen Mainboards möglich sein sollte.
Eine entsprechende Einstellungsoption ist nicht immer leicht zu finden,
da sie wieder einmal an unterschiedlichen Stellen – meist aber unter
Advanced BIOS Features – im BIOS-Setup abgelegt sein kann. Auch
wenn keine APIC-Einstellung im BIOS-Setup zu entdecken sein sollte,
kann sie dennoch implementiert sein und automatisch (bei Bedarf vom
Betriebssystem her) aktiviert werden.

Bild 7.35: Falls die APIC-Option im BIOS-Setup erscheint, sollte sie auch eingeschaltet
werden.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

×