
0. Inhaltsangabe
1. Über diese FAQ
2. Mainboards
3. CPUs
4. CPU-Kühlung
5. Schnittstellen
5.1 Seriell (R...
5.2 AT-Tastatu...
5.3 PS/2-Ansch...
5.4 Parallelpo...
5.5 ISA
5.6 MCA
5.7 EISA
5.8 VLB
5.9 PCI, 64Bit...
5.10 AGP
5.11 AMR, CNR, ...
5.12 USB
5.13 FireWire (...
5.14 Floppy
5.15 IDE (ATA, ...
5.16 SCSI
5.17 LAN / RJ45...
5.18 Bluetooth
6. IRQs
7. BIOS
8. RAM
9. Uebertakten
10. Fehlersuche
11. Treiber
12. Montage
13. Links
14. Schlusswort


|
5. Schnittstellen und Busse auf den Mainboards
Wozu ist ein Mainboard überhaupt da? Ein Mainboard hat verschiedene
Aufgaben. Auf ihm wird die CPU installiert, Hauptspeicher zur Verfügung
gestellt, aber vor allem erfüllt es einen Sinn: Es verbindet alle
Komponenten und stellt die Grundlage für alle nötigen Erweiterungen dar.
Auf dem Mainboard werden die verschiedensten Typen von Geräten
angeschlossen, von der einfachen Maus bis zur Hightech SCSI-Festplatte.
Für viele der Geräte brauchte man früher einzelne Controller, heutzutage
regelt das Allermeiste der Chipsatz des Mainboards, welcher detaillierter
im Kapitel 2 betrachtet wird. Deswegen geht es in diesem Kapitel um die
vielen Schnittstellen, die auf den Mainboards zu finden sind.
Die anzuschließenden Geräte werden in der Regel über Stecker und
Buchsen an die Mainboards angeschlossen. Bei den Steckern verwendet man
häufig die englischen Begriffe für die 2 Arten von Steckern: 'Male' und
'Female'. Die Begriffe bedeuten 'männlich' bzw. 'weiblich'. Ein
'Male'-Anschluss hat demnach Pins und wird richtigerweise als 'Stecker'
bezeichnet, ein 'Female'-Anschluss hat Aussparungen und wird kurz als
'Buchse' bezeichnet.
Viele Schnittstellen sind nicht für Hot-Plugging, also das
An-/Abstecken im laufenden Betrieb geeignet. Dass dieser Fakt für
die meisten internen Schnittstellen, wie PCI oder AGP, gilt, dürfte sofort klar
sein, aber auch viele externe Schnittstellen, wie AT-Keyboard, PS/2
und LPT können dabei beschädigt werden. Anders ist es bei USB,
FireWire, SATA und Netzwerk-Anschlüssen. Diese Schnittstellen sind extra
dafür ausgelegt, Hot-Plugging zu unterstützen.
Der COM-Port ist eigentlich auch nicht für Hot-Plugging geeignet, aber
die Treiberbausteine sind relativ robust. Wenn man also gar nicht auf
das Hot-Plugging verzichten kann, so sollte man darauf achten, dass
die beiden zu verbindenden Geräte auf dem selben elektrischen
Erdpotential sind. Bei Geräten wie Modems erreicht man das, indem das
Modem nicht eingeschaltet ist, wenn man die Verbindung herstellt.
Möchte man mit einem Notebook an einem Server andocken, so sollte das
Notebook im Akkubetrieb laufen.
Bei den Schnittstellen gibt es elektrisch gesehen 2
verschiedene Übertragungsmöglichkeiten für Daten: seriell und parallel.
Bei der seriellen Übertragung werden die Bits (also die Einsen und Nullen)
nacheinander übertragen. Bei paralleler Übetragung werden mehrere Bits
gleichzeitig übertragen, wobei es keine grundsätzliche Regel gibt,
wieviele Bits gleichzeitig übertragen werden. Gängig sind jedoch parallele
Übertragungen mit 4, 8, 16, 32 und 64 Bit oder mehr gleichzeitig. Die
Computerwelt redet davon, jeder will sie. Geht es um die "Bandbreite",
bekommen viele User ob der ihnen vorgestellten Zahlen feuchte Augen. Nicht
nur in diesem Kapitel wird man häufig mit den Zahlen um "Bandbreite",
"maximale Übertragungsrate" etc. konfrontiert. Das bedeutet aber nicht,
dass diese Zahlen in der Praxis auch Realität werden: die übertragene
Menge an Daten hängt eben sowohl von der Schnittstelle als auch von dem
angeschlossenen Gerät ab, weshalb die Zahlen zu relativieren sind.
Angegeben werden jeweils nicht reale MegaByte pro Sekunde, sondern die
Bandbreite, die sich aus Takt multipliziert mit der Busbreite ergibt.
5.1
Seriell (RS-232, IrDA)
Alle Spielarten und Aspekte der seriellen Schnittstelle in der FAQ
aufzählen zu wollen wäre beinahe vermessen - so groß ist die Vielfalt
dieses Ports! Deshalb soll an dieser Stelle lediglich eine kurze
Einführung gegeben werden.
5.1.1
RS-232 (COM-Ports)
Der serielle Port nach dem Standard RS-232 kommt hauptsächlich in 2
verschiedenen Varianten vor: als D-25 Pin Stecker, und im D-9 Pin Stecker,
welcher noch häufig bei seriellen Mäusen und Modems anzutreffen ist. Der
Standard-PC ist meist mit 2 COM-Ports (die Bezeichnung "COM-Port" stammt
noch aus Zeiten, in denen das PC-Betriebssystem schlechthin DOS war, bei
dem serielle Schnittstellen COMx hießen) ausgestattet, welche
üblicherweise die Interrupts 3 und 4 belegen, sofern diese nicht
abgeschaltet sind.
Die Vorteile der RS-232-Schnittstelle sind auch heute immer noch
gegeben:
- Kabel für serielle Ports können wesentlich länger sein als solche für
parallele Ports, welches mit der maximalen Spannungsamplitude
zusammenhängt. Diese beträgt bei RS-232 bis zu 50V (-25V bis 25V; im
Regelfall sind es nur -12V bis +12V), bei IEEE-1284 (LPT) jedoch nur 5V
(0V bis 5V).
- Es sind weniger Drähte im Kabel erforderlich als beim parallel Port.
Im günstigsten Fall eines Null-Modems brauch man bei serieller
Übertragung 3 Drähte, für parallele Übertragung jedoch 19 oder 25 Drähte
pro Kabel.
- Die Pin-Outs zur Bereitstellung der seriellen Schnittstelle vom
Chipsatz her sind ebenfalls wesentlich günstiger als für die parallele
Schnittstelle. Für RS-232 werden nur 2 Leitungen benötigt (Senden,
Empfangen), während IEEE-1284 8 Leitungen braucht, legt man eine 8 Bit
Übertragung zu Grunde.
- Auch Infrarot-Geräte (IrDA) werden über die serielle Schnittstelle
implementiert. Hier kann man sich eine parallele Übertragung gar nicht
vorstellen - wie soll ein optischer Receiver 8 gleichzeitig ankommende
Datenbits (bei gleicher Wellenlänge) auseinander halten? Hier ist eine
serielle Datenübertragung somit zwingend notwendig (zu IrDA siehe Kapitel
5.1.2).
Ein wichtiger Bestandteil ist der UART-Controller (Universal
Asynchronous Receiver/Transmitter), der heute in jeder seriellen
Schnittstelle vorhanden ist. Die ersten verbauten UARTs wurden nach der
Norm UART 8250 gebaut, heute findet man nur noch UARTs nach UART 16550
oder neuer. Was macht also ein UART-Controller?
- Konvertierung von parallel ankommenden Daten in einen seriellen
Einzelbit-Datenstrom und vice versa bei der Ausgabe von Daten
- Hinzufügen und Überprüfen von Parity-Bits zur besseren
Datenkontrolle
- Abhandlung der Interrupts (z.B. von Maus und Tastatur, sofern
angeschlossen)
- Bei UART 8250 und UART 16450: Einzelbyte-Puffer, kombiniert mit der
FIFO-Technik (FIFO: first in first out)
- Ab UART 16550: 16 Byte Puffer mit FIFO; funktionierte aber erst ab
UART 16550A und höheren Versionen
Massenhaft weitere Infos zur seriellen Schnittstelle gibt es bei
http://www.beyondlogic.org/serial/serial.htm
http://www.usr.com/support/s-cour/s-cour-docs/10589.htm (UART &
FIFO)
5.1.2
IrDA
Einen besonderen Abkömmling der seriellen Schnittstelle stellt IrDA
dar. IrDA ist eine Schnittstelle, die Daten mittels Infrarot-Licht über
kurze Distanzen übertragen kann. IrDA (genauer: IrDA DATA) wurde bereits
1994 als Standard definiert, hielt aber nur sehr zögerlich Einzug in die
Systeme. Das hatte verschiedene Ursachen, wie etwa die langsame
Unterstützung durch die Betriebssysteme, fehlende Anwendungen und
natürlich kaum vorhandene unterstützte Hardware. Viele Boardhersteller
brachten dann auf den Platinen zwar IrDA-Anschlüsse mit, legten jedoch
denn nötigen Pfostenstecker aus Kostengründen nicht bei; lediglich bei
Notebooks hielt IrDA relativ schnell Einzug. Heutzutage fristet IrDA
im PC-Bereich (nicht aber bei Handys und PDAs)weiterhin eher ein
Mauerblümchendasein, und Kenner des Schnurlos-Genres
haben ob der Einführung von Bluetooth (siehe Kapitel 5.18) den Untergang
von IrDA schon fest beschlossen. Weiteres Ungemach brachten die
Microsoft-BS Windows ME und 2000 mit sich: Microsoft änderte fluchs die
Protokolle, und vor allem Besitzer von Nokia-Handys standen mit einem Mal
im Regen, da der Datenaustausch bzw. das mobile Surfen nicht mehr möglich
war. Das ist laut Microsoft aber mitlerweile durch Patches behoben.
Trotz der schlechten Meldungen lesen sich die technischen Daten von
IrDA gar nicht so schlecht; Hauptmanko gegenüber Bluetooth bleibt
natürlich der bei IrDA nötige "Sichtkontakt" von Sender und Empfänger.
IrDA wird heute aufgeteilt in zwei verschiedene Standards: IrDA DATA
und IrDA CONTROL, wovon IrDA DATA im Prinzip das "Ur-IrDA" darstellt. Die
beiden Standards sollen kurz erläutert werden:
IrDA DATA:
IrDA DATA wurde so konzipiert, dass optionale Protokolle zwar möglich
sind, jedoch drei Protokolle zwingend zur Verwendung vorgeschrieben sind,
um Kompatibilität zu ermöglichen. Die zwingenden Protokolle sind:
- PHY (Physical Signaling Layer):
- Definiert die Mindestreichweite von 1m bei kontinuierlichem Betrieb;
typischerweise werden aber meist 2m zwischen zwei Standard-Geräten
erreicht. Im vorgesehenen Low-Power-Betrieb werden Reichweiten von 20cm
zwischen zwei Low-Power-Geräten bzw. 30cm zwischen einem Low-Power- und
einem Standard-Gerät erreicht. Dadurch kann der Stromverbrauch auf bis zu
ein Zehntel reduziert werden.
- Bi-direktionale Communication zwingend vorgeschrieben.
- Bandbreite von 9.6KBit/s (1.2KB/s) bis tyischerweise 115.2KBit/s
(14.4KB/s). Das theoretische Maximum liegt bei 4MBit/s (500KB/s).
- Die Datenpakete werden geschützt mittels CRC-Technik (CRC-16 bis
1.152MBit/s und CRC-32 bis 4MBit/s).
- IrLAP (Ir Link Access Protocol):
- Ermöglicht die Gerät-zu-Gerät Verbindung für einen zuverlässigen und
geordneten Datenstrom.
- Definiert die Geräte-Erkennungs-Prozedur.
- IrLMP (Ir Link Management Protocol):
- Ermöglicht ein Multiplexing des IrLAP Layer und stellt mehrere Kanäle
für eine IrLAP-Verbindung bereit.
- Behandelt die Protokoll- und Geräte-Erkennung über den Information
Access Service (IAS).
Optionale IrDA DATA Protokolle:
- Tiny TP: Definiert eine Art Fluss-Kontrolle für IrLMP und ermöglicht
ein optionales Splitten und Zusammenfügen von Datenpaketen.
- IrCOMM: Liefert die COM-Port (Seriell und parallel) Emulation für
Legacy-COM Anwendungen, Drucker und Modems.
- IrOBEX: Definiert einen Object Austausch Service (vergleichbar zu
HTTP).
- IrDA Lite: Definiert eine Methode, mit der die Größe des IrDA-Codes
reduziert werden kann (eine Art Kompression), ohne die Kompatibilität zu
gefährden.
- IrTran-P: Liefert ein Bild-Austausch Protokoll, welches in
Digitalcameras und anderen Digital-Geräten zur Bildaufnahme Verwendung
findet.
- IrMC: Spezifikation, mit der definiert wird, wie mobile Telefone und
andere Kommunikationsgeräte Informationen austauschen können. Das schließt
Daten wie Telefonbücher, Kalender und Kurznachrichten ein.
- IrLAN: Beschreibt ein Protokoll, welches drahtlosen Zugang zum LAN
mittels IR ermöglicht.
Der IrDA DATA Hardware/Protokoll Stack sieht demnach folgendermaßen
aus:
.------------+---------+-------+--------+------.
| IrTran-P | IrOBEX | IrLAN | IrCOMM | IrMC |
+--------+---+---------+-------+--------+------+
| LM-IAS | Tiny Transport Protokoll - Tiny TP |
+--------+-------------------------------------+
| Ir Link Mgmt - MUX - IrLMP |
+----------------------------------------------+
| Ir Link Access Protokol - IrLAP |
+-----------------+----------------+-----------+
| Async Serial-IR | Sync Serial-IR | Sync 4PPM |
| 9.6-115.2KBit/s | 1.152KBit/s | 4MBit/s |
`-----------------+----------------+-----------'
IrDA CONTROL
IrDA CONTROL (erst 1998 definiert) stellt einen Infrarot
Kommunikations-Standard dar, der es drahtlosen Geräten wie Keyboards,
Mäusen, Game Pads, Joysticks, etc. erlaubt, mit verschiedenen Arten von
intelligenten IrDA Host-Geräten zu kommunizieren. Host-Geräte sind dabei
nicht nur PCs, sondern auch PDAs, Spiele-Consolen, Set-Top-Boxen und
weitere. IrDA CONTOL besteht aus einem kleinen Satz zwingend
vorgeschriebener Protokolle - optionale Protokolle sind hier jedoch nicht
vorgesehen.
- PHY (Physical Layer):
- Reichweite von mindestens 5m.
- Bi-direktionale Datenübertragung vorgeschrieben.
- Maximale Bandbreite von 75KBit/s (9.4KB/s).
- Datencodierung mittels einer 16-Pulse Sequence, vervielfältigt durch
einem 1.5MHz Subcarrier, welcher im IEC 1603-1 Band-Schema beschrieben
ist.
- Datenschutz durch CRC (CRC-8 für kurze Pakete und CRC-16 für lange
Pakete). PHY ist optimiert für geringe Stromaufnahme und kann in Low-Cost
Hardware implemetiert werden.
- MAC (Media Access Control):
- Elaubt dem Host-Gerät mit bis zu 8 anderen Geräten simultan zu
kommunizieren.
- Sichert eine schnelle Antwortzeit (13.8ms Basis Polling-Rate) und
geringe Latenz.
- Asymmetric MAC:
- Steuert die dynamische Zuordnung und damit die Wiederverwendung
bereits verwendeter Geräte-Adressen.
- LLC (Logic Link Control):
- Enthält die Zuverlässigkeits-Features wie Datensequenzierung und
erneute Übermittlung, wenn z.B. Fehler detektiert wurden.
- Arbeitet mit einer HID-IrDA CONTROL Bridge, um die Link-Control
Funktionen von USB-HID nachzubilden bzw. zu verwenden.
Wer sich ausgiebig mit IrDA beschäftigen möchte, sollte auf der
Webseite von IrDA fündig werden: http://www.irda.org liefert kostenlos alle
nötigen Spezifikationen.
5.2
AT-Tastatur
Die AT-Tastatur-Schnittstelle zählt ebenso wie die RS-232 zu den
Älteren im Feld der Anschlussarten. Der auch als DIN-Keyboardstecker
bekannte Anschluss hat nur 5 Pins, im Vergleich zum folgenden PS/2 Stecker
mit 6 Pins. Die AT-Tastatur benötigt einen Interrupt, meist wird IRQ 1
verwendet. Das verwendete Datenprotokoll unterstützt bidirektionale
Übertragung und ist bei DIN und PS/2 identisch, weshalb man DIN-Tastaturen
auch via Adapter an einem PS/2-Anschluss verwenden kann.
Eine Besonderheit stellt die Stromversorgung da: sie ist auf 300mA
limitiert, so dass es hier häufig zu Problemen kommt, wenn über den Port
viel Strom abgegeben werden soll.
Belegung des Anschlusses:
http://www.hardwarebook.net/connector/userinput/keyboardpc5.html
5.3
PS/2-Anschlüsse
IBM entwickelte in den späten 80er Jahren eine neue PC-Generation: PS/2
(Personal System/2, dort liegen auch die Wurzeln des Betriebssystems
OS/2). Neu waren damals der VGA-Grafikadapter (zu dem heutige
PC-Grafikkarten immer noch - bis auf Registerebene! - kompatibel sind),
der schon lange nicht mehr verwendete Microchannel-Bus (siehe 5.6) und die
Anschlüsse für Tastatur (das Protokoll war aber gegenüber dem AT nicht
verändert worden) und Maus (mit neuem Protokoll). Die letzteren Zwei
wurden in dem ATX-Standard aufgenommen und werden daher immer noch
verwendet.
Der PS/2-Anschluss am Motherboard ist ein 6 Pin Buchse. Auch die PS/2
Maus und Tastatur brauchen einen Interrupt, meist sind dies die IRQs 12
bzw. 1. Die Datenübertragung erfolgt bei Maus und Tastatur ähnlich, und
zwar jeweils mit einem synchronen seriellen Protokoll. Die Schnittstelle
unterstützt dabei bi-direktionale Datenübertragung. Das ursprüngliche
Mausprotokoll unterstützt nur 2 Maus-Tasten, wurde jedoch von Logitech
soweit erweitert, dass auch 3-Tasten-Mäuse ihre Verwendung finden.
Die Standard PS/2 Maus hat eine Auflösung von 160 CPI (Counts Per
Inch), welche jedoch per Software auf 40, 80, 160 oder 320 CPI umgestellt
werden kann. Die maximale Abtastrate beträgt 40 reports/second * 255
counts/report = 10220 counts/second. Für eine 100 CPI Maus hätte man somit
eine Abtastgeschwindigkeit von 102 inches/second, für eine 400 CPI Maus
jedoch nur von 25.2 inches/second.
Die Belegung der PS/2-Anschlüsse:
Tastatur:
http://www.hardwarebook.net/connector/userinput/keyboardpc6.html
Maus:
http://www.hardwarebook.net/connector/userinput/ps2mouse.html
5.4
Parallelport / Centronics-Schnittstelle (LPT/SPP/EPP/ECP)
Der Parallel-Port (LPT, Line Printer) ist wohl immer noch der
meistgenutzte Drucker-Anschluss bei PCs, obwohl ihm vom USB (und bald auch
von BlueTooth) nach und nach der Rang ablaufen wird. Der Parallel-Port im
eigentlichen Sinn ist jedoch mehr als nur ein Drucker-Port, sondern wie
die meisten Schnittstellen ein multifunktionelles Interface. Seine
Basis-Adresse liegt normalerweise an der Adresse 378h oder 278h. Die
außerdem mögliche Adresse 3BCh unterstützt jedoch standardmäßig kein ECP.
Ein Interrupt wird ebenfalls benötigt, dieser liegt in der Regel auf IRQ 5
oder 7. Ist ECP aktiviert, wird normalerweise auch ein frei wählbarer
DMA-Kanal (0-5) benötigt.
Der heutige Parallel-Port geht aus der IEEE-1284 Spezifikation hervor,
die 1994 in Kraft trat. Am PC ist der Parallel-Port durch einen D-25
Buchse nach außen geführt.
Laut IEEE-1284 gibt es prinzipiell 5 Übertragungsmodi, die der
Parallel-Port beherrschen kann:
1. Compatibility Mode 2. Nibble Mode 3. Byte Mode (PS/2 Mode) 4. EPP Mode
(Enhanced Parallel Port) 5. ECP Mode (Extended Capabilities Port)
Der Compatiblity Mode (auch "Centronics Mode") kann nur Daten senden,
typischerweise mit 50 KB/s, in Ausnahmefällen auch mit mehr als 150 KB/s.
Um Daten zu empfangen muss der Controller auf Nibble oder Byte Mode
umstellen. Im Nibble Mode werden dabei 4 Bit Pakete empfangen ("Nibbles"),
während im Byte Mode die Bi-Direktionalität zum Zuge kommt und die Daten
byte-weise (8 Bit) übertragen werden. Die bi-direktional fähigen
Parallel-Ports bezeichnet man als SPP (Standard Parallel Port).
Vom EPP gibt es bereits mehrere Standards: EPP 1.7 entspricht im
weitesten dem SPP. Die Sende-Richtung kann bereits via Control-Bits
umgekehrt werden, jedoch gibt es kein Time-out Bit. EPP 1.9 ist eine
Weiterentwicklung von EPP 1.7 und unterscheidet sich im Wesentlichen durch
das nun vorhandene Time-out Bit.
ECP ist auch abwärtskompatibel zu SPP. Namesgebend sind hier die
erweiterten Port Protokolle bzw. Register. Ist ECP aktiviert, liegen an
der Adresse Basisadresse + 0x400h ein ganzer Satz neuer Register vor.
Diese neuen Control-Register dienen zur Identifikation des
Übertragungsmodus (Bit 7-5), sowie zum Aktivieren von
- ECP Interrupt Bit (Bit 4)
- DMA Enable Bit (Bit 3)
- ECP Service Bit (Bit 2)
- FIFO full (Bit 1)
- FIFO empty (Bit 0)
Viele Infos zum Parallel-Port gibt es unter
http://www.beyondlogic.org/spp/parallel.htm
http://www.beyondlogic.org/epp/epp.htm
http://www.beyondlogic.org/ecp/ecp.htm http://www.lvr.com/parport.htm
5.5
ISA
ISA (Industry Standard Architecture) war lange Zeit der PC- Standardbus
schlechthin. Er entstand aus dem 8-Bit-Bus des IBM PC und PC-XT, der
zuerst mit 4.77, später mit bis zu 8 MHz getaktet wurde. Mit der
Einführung des IBM AT (1984) wurde der XT-Bus zum 16-bittigen AT-Bus
erweitert; daher ist der ISA-Stecker auch zweiteilig - auf dem hinteren
Teil finden sich die Leitungen für die restlichen 8 Daten- und 4
Adressbits (der in PC und XT eingesetzte 8088 sowie der 8086 hatten nur 20
Adressleitungen, der 80286 dagegen 24). Später wurde der mit dem AT-Bus
bis auf wenige Ausnahmen identische ISA-Bus standardisiert, mit einem
maximalen Takt von 8 MHz. (Anfänglich hatte es Systeme gegeben, die den
Bus höher takteten, was aber nicht alle Karten vertrugen.) Etwa 1993 wurde
ISA-Plug'n'Play eingeführt (Plug'n'Play steht für automatische
Konfiguration der Karten durch das BIOS bzw. Betriebssystem), welches
jedoch des öfteren eher als "Plug'n'Pray" angesehen wurde - manchmal
funktionierte es eben, manchmal nicht.
Technische Informationen zu ISA (inklusive Busmastering, s.u.):
http://www.embeddedlinks.com/chipdir/oth/sokos/isa.txt
Am Anfang der 90er Jahre wurde mit dem Aufkommen der 486er der alte
ISA-Bus langsam aber sicher zum Flaschenhals, da seine maximale
Datenübertragungsrate im Regelfall bei 2.5 MB/s, mit ISA-Busmastering bei
5 MB/s lag (auf wirklich guten Boards waren es auch mal 10 MB/s;
ISA-Busmastering wurde allerdings eher selten genutzt, Hauptvertreter war
der SCSI-Hostadapter 1542 von Adaptec), was gerade für Grafikkarten recht
wenig ist. Außerdem lag der Adreßbereich mit 24 Adressleitungen bei nur 16
MB (mehr konnte der 286er im AT nämlich auch nicht adressieren), so daß es
für Karten mit linearem Adreßraum (z.B. Grafikkarten, die winzige
64-KB-Fenster benutzen mußten) recht eng war. Außerdem können sich
aufgrund einer technischen Eigenart des Busses, die mit dem PC eingeführt
wurde (und dort ein paar Pfennige resp. Eurocents einsparte), mehrere
Karten keinen Interrupt teilen, was rein technisch schon 1981 kein Problem
gewesen wäre.
Daraufhin ließen sich die Hersteller etwas einfallen, und es entstanden
neue Bussysteme, wie MCA, EISA, VLB und PCI, die in den folgenden
Abschnitten vorgestellt werden.
5.6
MCA
MCA (Microchannel Architecture) stammte von IBM (erstmals zu finden in
den PS/2-Modellen 50, 60 und 80 von 1987, die einen 80286 bzw. 80386DX
verwendeten) und war fast ausschließlich in deren PS/2-Rechnern
anzutreffen. Dieser Bus war je nach Prozessor (286/386SX bzw. 386DX) 16
bzw. 32 Bit breit, lief asynchron mit Zykluszeiten von zumeist 100 bis 200
ns (vergleichbarer Takt 5 bis 10 MHz) und unterstützte Busmastering (wie
auch EISA, VLB und PCI ab 2.0; Geräte können selbständig Daten zum RAM
schaufeln, ohne die CPU bemühen zu müssen - das entlastet den Prozessor),
IRQ-Sharing (mehrere Geräte können sich einen Interrupt teilen) sowie
Konfiguration der Erweiterungskarten per Software, war also damals sehr
modern. Haken: ISA-Karten konnten in Microchannel-Rechnern nicht betrieben
werden (pure Gedankenlosigkeit von IBM), außerdem verlangte man von
Drittherstellern saftige Lizenzgebühren, so daß sich die
Microchannel-Architektur nicht durchsetzen konnte (einziger
Fremdhersteller von MCA-Rechnern war NCR) und schließlich IBM die
Marktführerschaft im PC-Bereich verlor. Fans von MCA mögen sich
vertrauensvoll an die NG comp.sys.ibm.ps2.hardware wenden ;).
Informationen zur Belegung:
http://www.hardwarebook.net/connector/bus/mca.html
Informationen zu PS/2-Rechnern:
http://www.can.ibm.com/helpware/vintage.html
http://www.tavi.co.uk/ps2pages/
Identifikation von MCA-Geräten:
http://members.aol.com/mcapage0/qbmca.htm
5.7
EISA
EISA (Enhanced Industry Standard Architecture) war ein 32-Bit-Bus, der
als Alternative zu MCA entstand und der wie ISA bei nominal 8 MHz Bustakt
lief. Im Burstmodus (Übertragung mehrerer Datenworte am Stück anstatt
einzeln) konnte ein hoher Durchsatz erreicht werden (normalerweise bis
33.3 MB/s). EISA-Karten waren per Software konfigurierbar, auch
Busmastering und IRQ-Sharing waren möglich. In EISA-Slots konnten auch
ISA-Karten betrieben werden, freilich ohne die Vorteile von EISA nutzen zu
können. Bei Servern war EISA bis in die Mitte der 90er Jahre recht häufig
anzutreffen, die zunächst recht hohen Chipsatzpreise bzw. die niedrigen
Preise von Boards mit dem im folgenden besprochenen VESA-Localbus
verhinderten jedoch eine weitere Verbreitung. Ein verbessertes
Busmastering, EMB (Enhanced Master Burst) genannt - hierbei wurden Daten
an der steigenden und fallenden Flanke des Taktsignals übertragen, das
nennt sich heute DDR = Double Data Rate - war in freier Wildbahn genauso
selten wie EISA mit der Erweiterung auf 64 Bit Datenbusbreite.
Informationen zu Belegung und Busprotokoll:
http://www.hardwarebook.net/connector/bus/eisa.html
http://www.embeddedlinks.com/chipdir/oth/sokos/eisa.txt
5.8
VLB
VLB: Der VESA-Localbus (VL/VLB) war der 486er-Bus schlechthin, war er
doch 1992 hauptsächlich für diesen Prozessor entwickelt worden. Er stellt
praktisch eine Erweiterung des Prozessorbusses dar, weshalb er auf
486er-Boards sehr preisgünstig zu realisieren war. Der VL-Bus war das
Ergebnis von Standardisierungsbemühungen, nachdem die Hersteller eine
Vielzahl untereinander inkompatibler lokaler Bussysteme (Local Bus = Bus,
der unmittelbar oder fast unmittelbar an der CPU hängt) entwickelt hatten,
um wenigstens bei der Grafikkarte den langsamen ISA-Bus, der obendrein
einen viel zu kleinen Adreßraum hatte, zu umgehen. Der VESA-Localbus ist
ein 32-Bit-Bus (16-Bit-Geräte sind auch möglich), der mit 30
Adreßleitungen (offenbar werden dort nicht Bytes, sondern DWORDs, also 32
Bit, adressiert) einen Adressraum von 4 GB hat (auch wenn in der Praxis
manche Boards nur 128, 64 oder gar 32 MB davon nutzen konnten). Er läuft
mit dem externen Takt der CPU (heute als Front Side Bus = FSB bekannt,
siehe "GPU" für "Grafikchip"), im Regelfalle also 25, 33 oder 40 MHz,
wobei die Zahl der nutzbaren VL-Slots mit zunehmender Frequenz abnimmt.
Mehr als 40 MHz waren bei der ersten VL-Spezifikation nicht vorgesehen,
weshalb auch nur wenige VL-Karten mit 50 MHz liefen (deshalb war VL auf
Boards mit dem 486DX50 eine recht heikle Sache). Ein VL-Slot bestand im
übrigen zumeist aus einem 16-Bit-ISA-Slot (Kombination mit EISA und MCA
war auch möglich, wobei nur ersteres auch praktiziert wurde), hinter dem
sich der eigentliche VL-Anschluß fand (für Schrauber: eine ziemlich
unhandliche Sache), außerdem wiesen VL-Boards i.d.R. noch einige reine
ISA-Slots auf (Beispielkonfiguration des Shuttle HOT-409: 2x VL +
16-Bit-ISA, 4x 16-Bit-ISA, 1x 8-Bit-ISA), somit konnten ISA-Karten
normalerweise problemlos in VL-Systemen betrieben werden. Im Burstmodus
konnte bei VLB ein Datendurchsatz ähnlich wie bei PCI erzielt werden (bei
33 MHz maximal 53.3 MB/s lesend und 76.2 MB/s schreibend gegenüber 33.3
und 44.4 MB/s ohne Burst), IRQ-Sharing war jedoch nicht vorgesehen,
ebensowenig wie Möglichkeiten zur automatischen Konfiguration. Außerdem
wurden Schreib-Bursts vom 80486 gar nicht unterstützt, weshalb dafür
zusätzliche Elektronik notwendig war (die es natürlich längst nicht auf
jedem Board gab). Busmastering war möglich, allerdings nicht sehr
effizient. Auch war die Zahl der Slots wegen der fehlenden elektrischen
Entkoppelung vom Prozessorbus normalerweise auf zwei bis drei begrenzt,
und anfangs gab es sogar Erweiterungskarten, die miteinander inkompatibel
waren, da VLB übereilt auf den Markt kam (dies änderte sich jedoch wenig
später - typische Kinderkrankheiten eben; als sich der PCI-Bus
durchzusetzen begann, waren VL-Geräte unproblematischer als solche für
PCI...). Die VLB-Spezifikation 2.0 räumte Ende 1993 mit einigen der
Mißstände auf (bei niederimpedanter Auslegung höhere Taktfrequenzen und
Gerätezahl möglich, Integration ins ISA-Plug'n'Play) und sah eine
Erweiterung auf 64 Bit Busbreite durch Multiplexing (abwechselnde
Benutzung) von Adressbus und oberen Datenbits vor. Boards mit einem VL-Bus
2.0 erlangten jedoch keine große Verbreitung. Der Haupteinsatzzweck des
VL-Bus waren Grafikkarten, daneben gab es aber auch IDE- und
SCSI-Hostadapter. Da der VLB mit dem externen Takt des Prozessors läuft
und auf das 486-Busprotokoll zugeschnitten war, waren Pentium-Systeme
(externer Takt anfänglich 60 und 66 MHz) mit VL-Bus nicht mehr billiger zu
realisieren als solche mit dem technisch besseren PCI-Bus, weshalb man auf
PCI auswich (allerdings erst, als es ausreichend PCI-Karten gab - am
Anfang gab es durchaus VL-Pentiums) und der VL-Bus mit dem Siegeszug der
Pentiums ab etwa 1994 noch vor Ende der 486er-Ära vom Markt verschwand.
VL-Geräte waren von der Leistung her übrigens absolut vergleichbar mit
solchen für den PCI-Bus.
Informationen zu Belegung und Busprotokoll:
http://www.hardwarebook.net/connector/bus/vlb.html
http://www.embeddedlinks.com/chipdir/oth/sokos/vlb.txt
5.9 PCI,
64Bit PCI, PCI-X, PCI-Express
5.9.1
PCI
PCI: Der 1993 von Intel vorgestellte PCI-Bus (Peripheral Component
Interconnect), dessen Version 2.0 noch im selben Jahr das Licht der Welt
erblickte, ist im Gegensatz zum VL-Bus weitgehend plattform- unabhängig,
weshalb er sich auch in Power-Macs und DEC-Alpha-Systemen findet. Er ist
nicht direkt vom Prozessortakt abhängig und - im Gegensatz zu VL - auch
von Anfang an exakt spezifiziert, außerdem ist er elektrisch vom
Prozessorbus entkoppelt, was höhere Slotzahlen als beim VL-Bus ermöglicht
(anfangs 3 oder 4, in der Zwischenzeit 6). Der "normale" (auch legacy oder
conventional) PCI-Bus ist 32-bittig, hat einen 32Bit-Adressbus (Adressraum
somit 4 GB, es sei denn 64Bit-Adressen werden in beiden Richtungen jeweils
in zwei aufeinanderfolgenden Zyklen übertragen; das Mainboard muss das aber
erst unterstützen) und läuft (im Regelfall) mit 33MHz (Spezifikation:
25 bis 33MHz). PCI unterstützt IRQ-Sharing (wenngleich auch die
Treiberprogrammierer gelegentlich noch in seeligen ISA-Zeiten zu
leben scheinen, was dann der gebeutelte Anwender ausbaden darf),
Plug'n'Play mit Konfiguration durch das BIOS (statt über
Zusatzsoftware wie bei EISA oder MCA) und Busmastering (letzteres
seit der PCI-Spezifikation 2.0; seit 2.1 ist Busmaster-Fähigkeit
Pflicht für alle Slots). Eine weitere Neuerung bringt das kürzlich
verabschiedete Conventional PCI in der Version 3.0. Seit PCI 2.3
waren die 5V-only Karten vereits abgeschafft, und nun gibt es den
Generalschlag gegen 5V conventional PCI: diese Karten wird es mit
dem PCI 3.0 Logo nicht mehr geben, die Karten laufen ausschliesslich
mit 3.3V auf dem Datenbus. Dementsprechend sind sie auch gekerbt, und
lassen sich in Boards bis PCI 2.2 nicht mehr einsetzen. Die maximalen
Übertragungsraten liegen bei 33MHz und 32Bit mit und ohne Burst bei
133.3 und 44.4MB/s (lesend) bzw. 133.3MB/s und 66.6MB/s (schreibend).
Man braucht wohl nicht zu erwähnen, dass PCI momentan der Standardbus
in PCs ist, wenngleich 2004 der langsame Umstieg auf PCI-Express
(siehe 5.9.4) eingeläutet werden soll.
Informationen zu Belegung und Busprotokoll:
http://www.hardwarebook.net/connector/bus/pci.html
http://www.embeddedlinks.com/chipdir/oth/sokos/pci.txt
Informationen zu PCI und seinen Spezifikationen:
http://www.pcisig.org
Ein historisches Kuriosum waren Mainboards mit VL-Bus, ISA und PCI
(VIP). Diese Boards waren zwar recht vielseitig, allerdings war ein
Local-Bus dabei ein Anhängsel das anderen, was oft (je nach verwendeter
VL-PCI- bzw. PCI-VL-Bridge) dazu führte, dass auf Boards, deren
Hauptbussystem PCI war und VLB ein Anhängsel darstellte, die
VL-Performance schlecht war; im umgekehrten Fall war der PCI-Bus lahm.
Außerdem war(en) der/die VL-Slot(s) meist nicht busmasterfähig, was hieß,
dass z.B. VL-SCSI-Hostadapter nicht weiterverwendbar waren. Auch
Kompatibilitätsprobleme mit einzelnen Karten (VL wie PCI) waren nicht
selten. Deswegen konnten sich VIP-Boards nicht durchsetzen.
5.9.2
PCI mit 64Bit
In Profisystemen findet sich auch die Variante mit 64 Bits und aufgrund
der höheren Leitungsanzahl längeren Slots, die es seit PCI 2.0 (1993)
gibt, dann oft auch mit 66 statt 33MHz (dies ist seit PCI 2.1 [ca. 1995]
möglich). Bei 66 MHz sind im übrigen nur zwei Slots pro Bus zulässig. Die
Übertragungsraten der breiten Variante des PC-Standardbusses liegen
erwartungsgemäß höher: Die Spanne reicht von 64Bit/33MHz mit 266MB/s bis
zu 533MB/s bei 64Bit/66MHz. 32Bit-Karten sind auch im 64Bit-Slot zu
betreiben.
5.9.3
PCI-X
Eine neuere Entwicklung bei PCI heißt PCI-X. Dieses Bussystem mit 64Bit
und bis zu 133MHz ist vornehmlich für Workstations oder Server (also
Profigerätschaften) gedacht. Der Slot unterscheidet sich nicht durch den
herkömmlichen Slot von PCI mit 64Bit. PCI-X erzielt in der aktuellen
Spezifikation die Bandbreite von AGP 4X (1066 MB/s). In der kürzlich
verabschiedeten Spezifikation 2.0 sollen die Daten per DDR- und
QDR-Verfahren mit 2.1GB/s bzw. 4.2GB/s übertragen werden. In einer mit
"PCI-X 1066" benannten Entwicklungsphase will man die Bandbreite gar auf
knapp 8GB/s weiter erhöhen.
Der Vorteil von PCI-X gegenüber AGP 2.0: Es sind mehrere Grafikkarten
nutzbar, außerdem können auch andere Geräte von der höheren Bandbreite
profitieren. Ausserdem soll PCI-X 2.0 hot-plug fähig sein. PCI-X stammt
übrigens nicht von Intel, sondern von einem Konsortium verschiedener
Dritthersteller. Leider kann pro PCI-X Bus nur ein Gerät mit 133MHz
laufen. Werden 2 (oder mehr) Geräte installiert, schaltet der Bus auf
100MHz oder gar 66MHz herunter. Um dies zu verhindern, sind in solchen
Systemen auch mehrere PCI-X Busse installiert.
5.9.4
PCI-Express
Nach PCI-X 1066 im DDR-/QDR-Verfahren ist dann mit dem herkömmlichen
PCI-Bus wohl endgültig Schluss. Die PCI-Sig hat sich auf einen
Nachfolger geeinigt, der nun "PCI-Express" oder kurz (PCIe) heissen
soll (vormals bekannt unter 3GIO oder Arapahoe). Die Spezifikation
liegt schon seit Anfang August 2002 zum Download für die Mitglieder
der PCI-SIG bereit. PCIe ist seriell aufgebaut und stellt eine
Punkt-zu-Punkt Verbindung da. Sie ist so entworfen, um für höhere
Bandbreiten skalierbar zu bleiben. Ausserdem gehört PCIe zu den wenigen
Standards, die Hot-Plugging zulassen.
Aufgeteilt wird PCIe in sogenannte "Lanes", wobei eine Lane momentan
mit einer Bandbreite von 250 MB/s definiert wird (höhere Bandbreiten
pro Lane sind jedoch bereits in Plaung). Diese Bandbreite steht
zusätzlich in beiden Senderichtungen gleichzeitig (voll-duplex) zur
Verfügung. Definiert sind bei PCIe die Kopplung der Lanes zu
verschiedenen Verbindungstypen: PCIe-x1 steht für eine Lane mit
250 MB/s und soll in naher Zukunft den "alten" PCI-Bus (siehe 5.9.1)
vollständig ablösen. Weitere Varianten mit Namen PCIe-x2 (500 MB/s),
PCIe-x4 (1 GB/s), PCIe-x8 (2 GB/s), PCIe-x12 (3 GB/s) und PCIe-x16
(4 GB/s) sind bereits definiert, wobei Letztere auch als "PEG" oder
"PCI-Express for Graphics" bekannt ist, und - wie der Name schon sagt -
für Grafikkarten verwendet werden und damit den betagten AGP ablösen
soll. Bei all den verschiedenen Slots bleibt PCIe aber
abwärts kompatibel, so dass eine PCIe-x1 Karte auch in einem PCIe-x2
oder PCIe-x8 Slot laufen sollte. Die freien Lanes werden dann schlicht
nicht verwendet. Umgekehrt funktioniert diese Kompatiblilität i.d.R.
nicht, eine Ausnahme bilden Systeme für mehrere PEG-Karten (sog.
SLI-Systeme, SLI steht für "Scaleable Link Interface"), bei denen zwar
zwei PEG-Slots vorhanden sind, diese jedoch nur 8 Lanes pro Slot
besitzen. Der PEG-Karte steht damit dann maximal die halbe Bandbreite
zur Verfügung, was sich aktuell aber kaum auf die tatsächliche
Performance auswirken dürfte.
Mehr zu PCI-Express gibt's bei vielen Hardware-Seiten, für die zahlende
Kundschaft auch unter:
http://pcisig.org
5.9.5
Identifikation von PCI-Geräten
Manchmal kann es nötig sein, ein unbekanntes PCI-Gerät zu
identifizieren, was deutlich weniger trivial ist, als man vielleicht
annehmen mag. Sind die Chips auf PCI-Karten unbekannt oder gar
unbeschriftet, ist guter Rat teuer. Zum einen kann hier die häufig
aufgedruckte FCC-ID helfen, die man zur Geräte-Suche unter
http://www.fcc.gov/oet/fccid
(siehe auch Kapitel 7.5) eingeben kann. Ein weitere hilfreiche Webseite
steht einem unter
http://members.datafast.net.au/dft0802/downloads.htm zur Verfügung.
5.10
AGP
AGP steht für "Accelerated Graphics Port". In erster Linie ist AGP
nichts anderes als eine Punkt-zu-Punkt-Verbindung zwischen Grafikkarte und
Chipsatz bzw. Hauptspeicher, die wesentlich schnellere Datenübertragung
als auf dem konventionellen PCI-Bus ermöglicht. Auf dem Mainboard gibt es
deshalb einen neuen Steckplatz für AGP-Karten. Dieser liegt so, dass eine
PCI-Karte auf gar keinen Fall in einen AGP-Slot passt und vice versa.
Der AGP-Standard baut im Prinzip auf den Spezifikationen von 66MHz PCI
auf. Das bedeutet, dass eine AGP-Grafikkarte ohne Nutzung der zusätzlichen
AGP-Funktionen wie eine PCI-Grafikkarte läuft.
Den AGP-Port gibt es in 2 Spannungsvarianten: mit 3.3V oder mit 1.5V,
bei AGP 3.0 wird noch 0.8V hinzu kommen. Die Codierung der Spannungen
erfolgt über Aussparungen am Slot sowie per Signal (Vddq) der Grafikkarte.
In den Modi AGP 1X und 2X kann der Port wahlweise mit 3.3V oder 1.5V
versorgt werden, bei AGP 4X ist 1.5V zwingend. Neuerdings lassen einige
Mainboardhersteller nur noch 1.5V AGP-Karten auf ihren Mainboards zu, was
genau dann zum Problem wird, wenn sich AGP 2X Karten fälschlicherweise in
diesen Slot stecken lassen, in den sich nur AGP 4X fähige Karten
einstecken lassen sollten: Das Mainboard und die Grafikkarte werden dann
zerstört. Zu den fehlerhaft kodierten Karten gehören die 3dfx
Voodoo-Serie, Matrox G200, die ersten Matrox G400, ATI Rage Fury, viele
Karten mit nVidia Riva TNT oder TNT2 und Intel i740. Da die Grafikboliden
immer mehr Strom ziehen, wurde der AGP um "AGP Pro" (aktuelle
Spezifikation 1.1a von 1999) erweitert. Bei AGP Pro ist aufgrund einer
besseren Stromversorgung (durch zusätzliche Pins) eine höhere
Leistungsaufnahme möglich. Sie liegt bei AGP Pro bis zu 4 mal höher als
bei Standard-AGP. Nur die wenigsten Karten nutzen aber diese zusätzlichen
Pins und spendieren ihren stromhungrigen Grafikboliden lieber direkt eine
Buchse für einen Netzteilstecker. Lediglich bei professionellen
OpenGL-Karten findet sich ab und zu ein AGP Pro Exemplar.
Die hauptsächlichen Vorzüge von AGP gegenüber PCI lassen sich auf 2
wesentliche Punkte reduzieren: Geschwindigkeit beim Datendurchsatz und die
Fähigkeit zur Auslagerung von Texturen in den Hauptspeicher. Der erste
Punkt ist dabei softwareunabhängig, der zweite Punkt muss jedoch von der
jeweiligen Anwendung unterstützt werden.
Während der PCI-Bus (32 Bit, 33 MHz) auf eine Datenrate von 133 MB/s
begrenzt ist, werden bei AGP 1X bereits bis zu 266 MB/s übertragen. Bei
den heute aktuellen Standards AGP 2X und 4X können somit maximal 533 MB/s
bzw. 1066 MB/s übertragen werden. Allerdings ist die tatsächliche
Übertragungsrate durch die Geschwindigkeit der CPU und die Bandbreite von
Hauptspeicher und Grafikspeicher begrenzt.
Die neueste Version AGP 3.0 hält gleich mehrere Neuerungen parat. Die
Datenrate wird erneut verdoppelt und kann jetzt bis zu 2.1GB/s betragen
(AGP 8X). AGP 3.0 sieht auch leicht veränderte Signalschemata vor,
ausserdem arbeitet der Port bei AGP 8X nur noch mit 0.8V. Da die Karten
von AGP 8X aber exakt wie die AGP 4X Karten kodiert sind, sind sie auch
zumindest zu AGP 4X abwärtskompatibel und können demnach zumindest auch
mit 1.5V betrieben werden. Des weiteren sollen unter AGP 3.0 mehrere
Punkt-zu-Punkt Verbindungen möglich sein, um mehrere AGP-Karten ansprechen
zu können. Infos speziell zu AGP 3.0 gibt es unter
http://www.intel.com/technology/agp/agp_3_spec.htm .
Nähere Infos zu AGP selber gibt es u.a. unter
http://developer.intel.com/technology/agp
http://www.agpforum.org
5.11
AMR, CNR, ACR
Viele Mainboards mit aktuellen Chipsätzen haben neuartige, zusätzliche
Slots für Erweiterungskarten, die zu allen bisherigen Standards
inkompatibel sind. Es handelt sich dabei um sog. "Riser"-Steckplätze, die
sich aus Intel´s AC'97-(Audio)-Standard entwickelt haben. Die neuen
Steckkarten, die in diese Slots passen, sind ausschließlich least-cost
Karten, die im Einzelhandel spärlich oder gar nicht erhältlich sind.
Verbaut werden sie deshalb nur von Systemintegratoren, die PC´s in großen
Stückzahlen herstellen, um durch die verwendeten, billigeren Komponenten
Geld zu sparen. Es gibt mittlerweil drei dieser neuen Slots: AMR, CNR und
ACR.
5.11.1
Audio/Modem Riser (AMR)
AMR (Audio/Modem Riser) gibt es bereits seit 1998 und wurde von Intel
ins Leben gerufen, und hatte damals neben Sound- und Modem-Funktionen von
AC'97 auch einen USB-Anschluss zu bieten. Der Slot befindet sich auf dem
Mainboard meist unter den PCI-Steckplätzen. Er hat häufig die Farbe des
AGP-Slots und in etwa die Bauform eines halbierten PCI-Steckplatzes, liegt
jedoch etwas näher an der Slotblende.
5.11.2
Communication/Network Riser (CNR)
CNR (Communication/Network Riser) entstand im Jahr 2000 und ist eine
Erweiterung des AMR-Standards, wiederum durch Intel. Die Bauform
entspricht der des AMR-Slots, weshalb AMR-Karten auch im CNR zum Einsatz
kommen können. Neben den AMR-Funktionen bietet CNR noch SMBus und ein
LAN-Interface.
5.11.3
Advanced Communication Riser (ACR)
Am Standard für ACR (Advanced Communication Riser) waren ausser Intel
auch noch VIA und AMD beteiligt. Es ist vom Aussehen leicht mit dem
PCI-Slot zu verwechseln, jedoch liegt der Steg im Slot an einer anderen
Stelle, so dass Verwechslungen ausgeschlossen sein sollten. Durch die
Plazierung des Stegs ist auch der Einbau von AMR-Karten weiterhin möglich.
Im wesentlichen wurde der AMR-Standard um Anschlussmöglichkeiten für LAN,
DSL-Modems und drahtlose Netwerke (nur USA) erweitert.
5.12
USB
Der USB (Universal Serial Bus) ist einer der neueren Schnittstellen,
die mit dem Steckerwirrwarr der unterschiedlichsten Peripheriegeräte
Schluss machen soll. Vor USB und FireWire brachte jede neue Peripherie
auch eine neue Schnittstelle in das System. USB kennt 2 definierten
Steckertypen für alle Geräte: Typ A für den Anschluss am Hub, und Typ B
für den Anschluss am Gerät. Der USB-Hostadapter übernimmt die komplette
Grundkonfiguration der Geräte. Ausserdem veranlasst er das automatische
Laden gerätespezifischer Treiber. Es sind weder besondere Einstellungen
noch ein Terminierung notwendig, der Hostadapter benötigt hardwareseitig
nur einen zugewiesenen Interrupt, den er auch mit anderen PCI-Geräten
teilen kann.
Die Bezeichnung "Bus" in USB trifft die Struktur der Verkabelung
USB-fähiger Geräte eigentlich nicht genau. USB sieht vielmehr eine
Stern-Bus-Struktur (Hub) vor, an deren Spitze der USB-Hostadapter steht.
An diesem können laut Spezifikation bis zu 127 Geräte angeschlossen
werden. Ausserdem können immer weitere Hubs zwischengeschaltet werden, um
Geräte anzuschließen oder die Stromversorgung sicher zu stellen. Letzteres
kann zwingend notwendig sein, da der OnBoard-USB nur maximal 500mA (wärend
der Initialisierung sogar nur 100mA) pro Port verträgt. Wird mehr Strom
von einem Gerät benötigt, wird das Gerät vom Hub nicht initialisiert, und
dann ist ein zusätzlicher self-powered USB-Hub absolut zwingend. Diese
stellen bis 5000mA für die Initialisierung und 2000mA für den Betrieb von
USB-Geräten sicher.
Das USB-Kabel hat 4 Adern, von denen 2 für die bi-direktionale
Datenübertragung zuständig sind. Eine weitere Ader führt die Masse, und
die verbleibende vierte Ader führt die +5V Versorgungsspannung. Da die
Daten differentiell übertragen werden (d.h. die Spannungs*differenz*
zwischen zwei Leitungen ist entscheidend, nicht die absolute Spannung
einer Leitung gegen Masse), ist USB in der Praxis robust und wenig
störanfällig. Probleme treten normalerweise nur dann auf, wenn der
Hostadapter unzureichend programmiert wurde oder die angeschlossenen
Geräte außerhalb der Spezifikation arbeiten.
Von der Übertragungsbandbreite werden an den USB die verschiedensten
Anforderungen gestellt. Langsame Geräte wie Maus und Tastatur werden
genauso unterstützt wie Modems und Videokameras, die weitaus mehr Daten
über den Bus schicken wollen. Deshalb ist die Übertragung bei USB in
Kanäle aufgeteilt. In der USB-Spezifikation 1.1 gibt es deshalb sowohl
einen Low-Speed-Kanal mit bis zu 1.5 MBit/s als auch einen
Full-Speed-Kanal mit bis zu 12 MBit/s. In der neusten Spezifikation 2.0
ist noch ein High-Speed-Kanal mit bis zu 480 MBit/s vorgesehen, was eine
Datenübertragung von bis zu 40 MB/s für externe Festplatten etc. möglich
macht, in der Praxis bleiben davon häufig nur 30-35MB/s übrig.
Gleichzeitig soll USB 2.0 aber zu USB 1.1 abwärtskompatibel bleiben. In
der Praxis machen zwei USB 2.0 Geräte an der gleichen Doppelstock-Leiste
aber leider oft Ärger, so dass ein Gerät dann auf Full-Speed (USB 1.1)
herunterschalten muss, was an der Verknüpfung der Leiterbahnen liegt.
Häufig hilft dann das Anschliessen an den meist noch vorhandenen zweiten
Root-Hub (siehe dazu auch c't 04/03 Seite 161 Spalte 2 Mitte).
Weitere Infos zum Thema USB gibt es u.a. bei den Entwicklern:
http://www.usb.org
5.13
FireWire (i-Link/IEEE-1394)
IEEE-1394 oder FireWire ist eine der neuesten Schnittstellen, die ein
PC bieten kann. Ebenso wie RS-232 ist IEEE-1394 eine serielle
Schnittstelle. Obwohl diese Technologie viele Vorteile hat, findet sie
doch erst sehr langsam ihren Weg auf die Mainboards, was sowohl am Preis
der Controller als auch an der relativ geringen Verfügbarkeit von
Endgeräten liegt. Im Heimvideobereich dagegen ist FireWire schon etabliert
(DV-Camcorder), und im HiFi-Bereich gibt es schon die ersten volldigitalen
Anlagen, die ohne Cinch-Kabelsalat auskommen.
FireWire wurde prinzipiell von Apple in die Computerwelt eingeführt.
Die Spezifikation wurde von den führenden Technologiefirmen verifiziert
und Ende 1995 vom IEEE-Konsortium zum Standard erhoben.
FireWire bietet ähnlich wie USB viele Vorteile gegenüber den
Standard-Schnittstellen eines PCs:
- Transferrate von bis zu 400 MBit/s (IEEE-1394a)
- garantierte gleichzeitige Übertragung von mehreren zeitkritischen
Datenströmen
- bis zu 63 Geräte anschließbar
- Kabellänge 4,5m mit Shielded Twisted Pair Kabel
- flexibles, 6 adriges Rundkabel
- komplettes Plug&Play inklusive Hot-Plugging
Angesichts dieser Punkte ist IEEE-1394 der Hauptkonkurrent für den USB,
welcher sich jedoch am Markt bereits besser etabliert hat.
Der Standard IEEE-1394b (aka FireWire 800) wurde vor kurzem
verabschiedet. Er stellt eine Erweiterung und Beschleunigung des
IEEE-1394a dar. Mit FireWire 800 sind Datenraten bis zu 800MBit/s
und sogar 1600MBit/s erreichbar, eine weitere Erhöhung auf 3.2GBit/s
ist auch schon geplant. Dafür sind für FireWire 800 aber neue Stecker
und Buchsen nötig; Adapter auf die alten Stecker und Buchsen sollen
aber auch erhältlich sein. Die maximale Kabellänge beträgt weiterhin
4,5m, sofern Shielded Twisted Pair Kabel verwendet wird.
Weitere Informationen zu FireWire/IEEE-1394 gibt es u.a. bei http://www.ieee.org
Speziell zu FireWire 800 gibt es einen lesenswerten Artikel in der
c't 10/03 Seite 166ff.
5.14
Floppy
Zu einem 34-poligen Anschluss auf dem Mainboard für ein ebensolches
Flachbandkabel gehört das Diskettenlaufwerk, auch Floppy genannt. Die
entsprechenden Disketten (zumindest die für 3-1/2-Zoll-Laufwerke) wird
wahrscheinlich jeder kennen, ebenso ihr heute lächerlich gering
erscheinendes Fassungsvermögen, die nicht minder steinzeitliche
Geschwindigkeit der Laufwerke und die Tatsache, daß die Medien nicht immer
zuverlässig sind. (Daß eine gewisse Firma aus Redmond es nicht
fertiggebracht hat, einen Treiber für die Fenster Nummer 95, 98 und ME zu
schreiben, der nicht das ganze System bei Diskettenzugriffen lahmlegt,
dürfte man auch bemerkt haben.)
Disketten und die Technik drumherum zählen zu den technisch ältesten
Komponenten des PC - schon der erste IBM-PC war mit Diskettenlaufwerken
ausgestattet, die damals noch Disketten im 5-1/4-Zoll-Format mit einem
Fassungsvermögen von sagenhaften 160 KB schluckten (5-1/4-Zoll-Disketten
sind übrigens biegsam - darum "floppy" für "schlapp, schlaff", "schlappe
Scheiben" also ;)). Die Kapazität wurde zunächst auf 360 KB (zweiseitig, 9
statt 8 Sektoren pro Spur), mit der Einführung des IBM AT (1984) auf 1200
KB gesteigert; mit dem PS/2 (1987) wurde die ersten 3-1/2-Zoll-Laufwerke
eingeführt, mit zunächst 720 KB Fassungsvermögen (sie sind auch gegen
Umwelteinflüsse besser geschützt). Wenig später erschienen Laufwerke mit
1440 KB pro Diskette - und diese werden bis heute eingesetzt, seit mehr
als 10 Jahren! Die später noch herausgebrachten ED-Laufwerke und
-Disketten mit 2880 KB pro Diskette konnten sich u.a. aufgrund ihrer
Unzuverlässigkeit nicht durchsetzen.
Heutige Mainboards können normalerweise 5-1/4-Zoll-Laufwerke mit 360
und 1200 KB und 3-1/2-Zoll-Laufwerke mit 720 und 1440 KB ansteuern
(einfach zu überprüfen im BIOS-Setup, zumeist im "Standard CMOS Setup"),
d.h. wer in seinem Bigtower noch einen Schacht frei hat und nicht weiß,
was er damit anfangen soll, kann - ein genügend langes Floppykabel
vorausgesetzt, die Länge ist unkritisch - ohne weiteres eine 5.25"-Floppy
einbauen (wozu man so was heute noch braucht, ist freilich eine andere
Frage ;)). Dass man Diskettenlaufwerke manuell anmelden muss, sollte
eigentlich klar sein - bei so betagter Technik gibt es eben noch kein
Plug'n'Play. Beim Anschluss sollte man darauf achten, daß das Laufwerk
hinter dem Dreher im Kabel (vom Controller aus gesehen) unter DOS/Windows
den Laufwerksbuchstaben A bekommt, das davor dagegen B abstaubt. Booten
kann man nur von A, weswegen des öfteren eine Option "Floppy Drive A/B
swap" im BIOS-Setup vorhanden ist, die die Reihenfolge der zwei
Diskettenlaufwerke softwaremäßig vertauscht. Wird das Kabel versehentlich
verdreht angesteckt, äußert sich dies durch ständiges Leuchten der
Zugriffs-LED am Diskettenlaufwerk, zudem wird der Inhalt jeder dann
eingelegten Diskette gelöscht.
Der Floppy-Controller ist übrigens mittlerweile in die Southbridge des
Chipsatzes gewandert, verhält sich aber immer noch wie der Urahn NEC
PD765, und die Daten von der Diskette werden nach wie vor per DMA (Direct
Memory Access) übertragen, und zwar mit maximal 500 KBit pro Sekunde (bei
ED 1000 KBit/s). (Ja, DSL ist schneller und belastet das System deutlich
weniger.)
Wie auf einer Festplatte werden die Informationen auf Disketten
magnetisch gespeichert, allerdings gleiten die Schreib-/Leseköpfe direkt
auf der Oberfläche des Mediums, was natürlich wie bei Videokassetten eine
gewisse Abnutzung und Verschmutzung des Köpfe bedingt (daher gibt es
Reinigungsdisketten).
Eine Diskette ist wie eine kleine Festplatte in Spuren (40 oder 80) und
Sektoren (8, 9, 15 oder 18) aufgeteilt, und es gibt Formate mit einer und
zwei beschriebenen Seiten (singlesided und doublesided). Man unterscheidet
die Datendichte nach DD (Double Density - 5.25" mit 160/180/360 KB und
3.5" mit 720 KB), HD (High Density - 5.25" mit 1200 KB und 3.5" mit 1440
KB) und ED (3.5" mit 2880 KB).
Die Spurdichte beträgt bei 360-KB-Disketten 48 TPI (tracks per inch,
Spuren pro Zoll), bei 1200-KB-Disketten 96 TPI und bei 1440-KB-Disketten
135 TPI. Disketten bzw. die Magnetscheiben darin rotieren mit 300 (3.5")
bzw. 360 (5.25" mit 1.2 MB) Umdrehungen pro Minute, die Suchzeit liegt
daher bei etwa 100 ms.
Für alle, die sich bisher gewundert haben: 5-1/4 Zoll und 5.25" sind das
gleiche, ebenso wie 3-1/2 Zoll und 3.5".
Nachfolgend noch eine Übersicht der Standard-PC-Diskettenformate:
| Diskettengröße |
Spuren pro Seite |
Sektoren pro Spur |
Speicherkapazität |
| 5.25" Singlesided Double Density |
40 |
8 |
40*8*512 Byte = 160 KB |
| 5.25" DD - Double- sided Double Density |
40 |
9 |
2*40*9*512 Byte = 360 KB |
| 5.25" HD - Double- sided High Density |
80 |
15 |
2*80*15*512 Byte = 1200 KB |
| 3.5" DD - Double- sided Double Density |
80 |
9 |
2*80*9*512 Byte = 720 KB |
| 3.5" HD - Double- sided High Density |
80 |
18 |
2*80*18*512 Byte = 1440 KB |
| 3.5" ED (nur IBM) - Doublesided Extended Density |
80 |
36 |
2*80*36*512 Byte = 2880 KB |
Informationen zur Belegung:
http://www.hardwarebook.net/connector/storage/internaldisk.html
5.15 IDE
(ATA, Serial-ATA)
5.15.1
IDE, ATA
IDE (Integrated Device Electronics), auch ATA (AT Attachment) genannt,
ist der am weitesten verbreitete Standard auf dem Heim-PC für das
Interface von Festplatten. Jedes Motherboard bringt heute mindestens einen
IDE-Controller mit jeweils 2 IDE-Kanälen mit. An jedem Kanal können
mittels eines Flachbandkabels bis zu 2 Geräte (Festplatten, DVD-Laufwerke,
CD-Brenner ...) angeschlossen werden. In der PC-Geschichte wurden mehrere
Übertragungsprotokolle entwickelt. Eine detaillierte Aufstellung der
einzelnen Übertragungsraten ist in der folgenden Tabelle zu finden:
| Modus |
max. Datenrate [MB/sec] |
CPU-Last (*) |
Bemerkung |
| PIO 0 |
3.33 |
hoch |
|
| PIO 1 |
5.22 |
hoch |
|
| PIO 2 |
8.33 |
hoch |
|
| PIO 3 |
11.11 |
hoch |
|
| PIO 4 |
16.66 |
hoch |
|
| Singleword DMA 0 |
2.08 |
??? |
ungebräuchlich |
| Singleword DMA 1 |
4.16 |
??? |
ungebräuchlich |
| Singleword DMA 2 |
8.33 |
??? |
ungebräuchlich |
| Multiword DMA 0 |
4.16 |
gering |
|
| Multiword DMA 1 |
13.33 |
gering |
|
| Multiword DMA 2 |
16.66 |
gering |
|
| Ultra-DMA 0 |
16.66 |
gering |
|
| Ultra-DMA 1 |
25 |
gering |
|
| Ultra-DMA 2 (Ultra-ATA/33) |
33.33 |
gering |
|
| Ultra-DMA 3 |
44.44 |
gering |
ungebräuchlich 80-pol. Kabel benötigt |
| Ultra-DMA 4 (Ultra-ATA/66) |
66 |
gering |
80-pol. Kabel benötigt |
| Ultra-DMA 5 (Ultra-ATA/100) |
100 |
gering |
80-pol. Kabel benötigt |
| Ultra-DMA 6 (Ultra-ATA/133) |
133 |
gering |
80-pol. Kabel benötigt |
| Serial-ATA I (SATA I) |
150 |
gering |
Spez. SATA- Kabel benöt. |
| Serial-ATA II (SATA II) |
300 |
gering |
noch nicht verabschiedet |
(*) Dies bezieht sich auf gängige busmasterfähige
PCI-IDE-Controller.
(Anm.: PIO = Programmed Input/Output
ATA = Advanced Technology Attachment
DMA = Direct Memory Access)
Allen PIO-Modi ist es gemeinsam, dass die CPU sämtliche Aktionen
koordinieren muss. Damit wird beim Lesen und Schreiben auf Festplatte die
CPU nahezu völlig blockiert und sie steht nicht für andere Rechnungen zur
Verfügung. Das zeigt sich z.B. in Spielen durch Aussetzer und Ruckler.
Die Standard-Übertragungsmodi sind heute die sogenannten Ultra-DMA-Modi.
Die gebräuchlichsten sind UDMA33, 66, 100 und 133, wobei die Zahl den
maximalen Datendurchsatz in MB/s angibt. DMA-Modi haben ihren Ursprung bei
den ISA-DMA-Transfers (was ja beim ursprünglichen "ISA-Anhängsel" ATA
nicht weiter verwundert), so recht populär wurden sie aber erst mit dem
Aufkommen busmasterfähiger PCI-IDE-Controller, die bei Verwendung eines
DMA-Modus die Daten selbständig (also praktisch ohne CPU-Belastung) in das
RAM transportieren können.
Für IDE werden schon seit langem 40-polige Flachbandkabel verwendet,
die neueren Transfermodi ab UDMA66 benötigen jedoch 80-polige Kabel (jede
zweite Ader liegt dabei auf Masse, was die Signalqualität erheblich
verbessert), die auch farblich gekennzeichnete und verpolungssichere
Stecker aufweisen.
An jedem IDE-Kanal (wovon jeweils 2 an einem IDE-Controller vorhanden
sind) kann man zwei Geräte anschließen, wobei diese nur abwechselnd Daten
übertragen können. Das eine Gerät muss als "Master" angemeldet sein, das
andere als "Slave". Wenn bei einem Gerät der Modus festgelegt ist, kann
das jeweils andere auch mit "cable select" betrieben werden. Es sucht sich
dann den passenden Modus selber. (Bei Verdacht von Problemen sollte man
aber besser manuell den Master/Slave-Modus zuweisen.) Hängt man nur ein
einziges Gerät an einen IDE-Kanal, so sollte man aufpassen, keine losen
Kabelenden zurück zu lassen, also das Gerät am Ende des Kabels anschließen
(und es selbstverständlich auf Master oder Cable-Select zu jumpern; einige
Laufwerke habe auch einen speziellen "Single"-Jumper für diesen Fall).
Bei zwei Geräten ist die Reihenfolge am Kabel völlig egal. Was ein Gerät
sein soll - Master oder Slave - legt man mit Hilfe von ein paar
Jumper-Brücken an der Festplatte fest. Wie der Jumper zu stecken ist, ist
von Hersteller zu Hersteller unterschiedlich. Hier muss man das Handbuch
hinzuziehen oder einfach auf die Festplatte schauen, denn meist ist ein
Aufkleber vorhanden, der alles eindeutig erklärt.
Achtung: Das Betriebssystem sollte auf der Festplatte liegen, die als
primary master betrieben wird, wenn 2 Festplatten am primären IDE-Kanal
hängen. (Bei der Kombination HDD / CD-ROM ist es egal.) DOS und
DOS-basierte Systeme wie etwa Windows 9x/ME setzen dies zwingend
voraus.
Wenn mehrere Geräte an einen Controller angeschlossen sind, müssen auch
hier die Betriebs-Modi zwischen Controller und Gerät ausgehandelt werden.
Früher, zu Zeiten als es nur die PIO-Modi gab, war folgendes zu
beachten:
Wenn zwei Geräte an einem IDE-Strang hingen, einigte sich der Controller
mit den Geräten auf den kleinsten gemeinsamen Nenner beim
Übertragungsmodus. Wenn also z.B. eine PIO4-Festplatte zusammen mit einem
PIO0-CD-ROM an einem IDE-Kanal hing, wurde für beide Geräte der langsame
PIO-Modus 0 mit gerade mal 3.33 MB/s benutzt. Daher war es ratsam,
schnelle und langsame Geräte (also z.B. eine neue Festplatte und ein
CD-ROM oder eine alte [Wechsel-]Festplatte) zu trennen und an verschiedene
IDE-Kanäle zu hängen.
Heute braucht man sich um solche Dinge in der Regel keine Gedanken mehr
zu machen. Lediglich die Steuerkommandos werden im PIO-0 übertragen. Die
Daten fließen in dem Modus, den das einzelne Gerät (maximal) kann.
Informationen zum ATA-Standard:
http://www.t13.org
Informationen zur Belegung des Kabels:
3,5":
http://www.hardwarebook.net/connector/storage/atainternal.html
2,5":
http://www.hardwarebook.net/connector/storage/ata44internal.html
5.15.2
Serial-ATA
Die neueste Entwicklung bei ATA nennt sich Serial-ATA (oder genauer:
"High Speed Serialized AT Attachment, kurz SATA) und wurde in der Revision
1.0 bereits im August 2001 von den Firmen APT Technologies, Dell Computer,
IBM, Intel, Maxtor und Seagate verabschiedet, und findet langsam aber
sicher den Weg auf die Mainboards und vor allem endlich in die
Southbridges. Die "Serial-ATA Workgroup" arbeitet bereits an der
Verbesserung "Serial-ATA II"; selbst Serial-ATA III ist schon auf der
Roadmap skizziert. Da Serial-ATA eine relativ neue Technologie ist,
sollen die Grundlagen hier kurz skizziert werden. Ein sehr guter
Artikel zu SATA findet sich in der c't 16/02, auf dem dieser Artikel
auch aufbaut.
Serial-ATA bringt einige umfangreiche Veränderungen gegenüber
Parallel-ATA. Die augenscheinlichste Veränderung ist die Erhöhung der
Bandbreite, die bei SATA I brutto 1.5GBit/s beträgt. Aufgrund der wie bei
vielen seriellen Verbindungen gewählten 8b/10b-Kodierung liegt die
Nettorate über 25% darunter, bei SATA I sollen demnach 150MB/s für jedes
Gerät verfügbar sein. Serial-ATA II und III sollen diese Rate dann jeweils
verdoppeln. SATA ist kein Bus mehr mit Master oder Slaves, sondern eine
Punkt-zu-Punkt Verbindung. Auch die verwendete Spannung ist weit weg von
der, die man von den früheren Zeiten kennt. SATA arbeitet mit einem
Signalpegel von nur +/- 250mV. Die Signale selbst werden zur besseren
Datenintegrität differentiell übertragen, Sende- und Empfangskanäle sind
getrennt. Die Kabel dürfen dank dieser Technik bis zu 1m lang sein,
ausserdem sind sie nur knapp 8mm breit. Für die Übergangszeit sind Adapter
geplant, die das Anschliessen von normalen IDE und ATAPI-Geräten an
SATA-Controler ermöglichen sollen.
Durch die Trennung von Sende- und Empfangsrichtung ist ein
Full-Duplex-Betrieb und damit auch ein Handshake von Gerät und Host
möglich. Ein gleichzeitiges Senden und Empfangen von Daten ist für den
Betrieb jedoch leider nicht vorgesehen (im Gegensatz zu Serial-SCSI oder
FibreChannel). Da man aber nur 2 Teilnehmer am Bus hat, nämlich Host und
Device, gestaltet sich der Handshake und die bus negotiations
("Verhandlung", wer den Bus benutzen darf) deutlich einfacher als z.B. bei
Ethernet.
Auch von der Anzahl der Drähte im Stromkabel hat sich bei SATA einiges
getan. Der Stromsteckerhat jetzt 15 Kontakte mit jeweils 3 Anschlüssen für
3.3V, 5V und 12V, von denen jeweils ein Kontakt am Gerätestecker etwas
länger ausgeführt ist, um ein Precharge zu ermöglichen. Dies ist für die
hot-plug Fähigkeit von SATA auch zwingend erforderlich, ein weiteres neues
Feature von SATA.
Treiber- und BIOS-seitig verhält sich Serial-ATA Kompatibel zu
ATA/ATAPI-6, alle Kommandos, Register etc. können emuliert werden. Das
liegt daran, dass der dafür zuständige Link-Layer die Daten zu Paketen
(sog. "Frames") zusammenfügt und sie erst dann verschickt. Sein Gegenüber
muss diese Frames dann wieder auspacken, und kann die Daten damit wie
einen "normalen" Port-Zugriff oder ein ATA-Kommando behandeln. Der
Host-Controller kann dabei als Busmaster arbeiten, hier als "First-Party
DMA".
Im emulierten Betrieb braucht man für Serial-ATA nicht einmal zwingend
neue Treiber, da die bestehenden ATA-Kommandos verwendet werden können.
Erst wenn man die in SATA definierten Supersets nutzen möchte, sind neue
Treiber erforderlich. Auch die einstige Beschränkung auf 128GB (28Bit
Adressierung) kennt SATA aufgrund der Kompatibilität zu ATAPI-6 nicht.
Aber nicht nur wegen der Supersets und der Adressierung sind Treiber
nötig: SATA kennt auch zusätzliche Stromspar-Modi. Diese nennen sich
"Partial" und "Slumber". Bei beiden werden keine Daten oder Kommandos mehr
auf dem Kabel übertragen, es herrscht dort also "Ruhe". Beim
Partial-Zustand muss sich ein Gerät innerhalb von 10µs wieder aufwecken
lassen, im Slumber-Mode darf diese Zeit 10ms betragen.
Weitere Neuerung ist das von ATAPI-6 abgeschaute Overlap-Kommando,
sowie das von SCSI-2 bekannte Tagged Command Queuing. Das Gerät kann somit
mehrere Kommandos gleichzeitig senden und empfangen, und darf sogar die
Reihenfolge der Kommandos eigenhändig optimieren.
Informationen zu Serial-ATA gibt im genannten c't-Artikel und unter http://www.serialata.org
und
http://www.intel.com/technology/serialata/index.htm
5.16
SCSI
Ursprünglich wurde SCSI (Small Computer Systems Interface) als
Massenspeicheranschluß schon Mitte der 70er Jahre entwickelt. Der Standard
wurde im Laufe der Zeit immer wieder verbessert und den aktuellen
Anforderungen angepaßt.
SCSI zeichnet sich durch große Flexibilität (verschiedenste Geräte, hohe
Übertragungsraten, geringe Prozessorbelastung) aus, aber leider sind
SCSI-Geräte oft unverhältnismäßig teuer. Daher wird SCSI meistens im
Profi- und Serverbereich genutzt.
Festplatten mit SCSI-Interface sind oftmals Hochleistungsplatten, die
allein schon wegen ihrer Geräuschentwicklung und Hitzeabgabe in einem
normalen Heim-PC nichts zu suchen haben. Falls man eine
nicht-Hochleistungsplatte mit SCSI-Interface in die Hand bekommt, so
arbeitet dort mit großer Sicherheit dieselbe Technik, wie beim jeweiligen
Schwestermodell mit IDE-Interface. Durch geringe Produktionsmengen und
Nachfrage werden aber die SCSI-Platten oft deutlich teurer sein, als
IDE-Modelle.
SCSI startete als "Narrow" (eng, schmal) Bus mit einem 50 Pin
Anschluss, der die Daten in einzelnen Bytes übertrug. SCSI ist somit ein
paralleler Bus. Es folgte der "Wide" (weit) Bus mit 68 Pins (oder 80 Pins
bei SCA-2), der 2 Bytes gleichzeitig übertragen konnte. Der spezielle
SCA-2 Anschluss führt die Stromversorgung im Flachbandkabel mit sich, und
ist deshalb nicht direkt zu den 68 Pin Anschlüssen kompatibel; es gibt
jedoch Adapter, die Kompatibilität herstellen können. Narrow und Wide
werden häufig als "Single Ended" bezeichnet".
Nach der Entwicklung des Wide-Busses folgte die LVD-Technologie, welche
durch die differentielle Übertragung deutlich schnellere
Datenübertragungen und erheblich längere Buslängen erlaubt. Steigert man
die Spannungsamplitude, kann man mit HVD-SCSI sogar Strecken von bis zu 25
Metern mit SCSI überbrücken.
Elektrisch gesehen gibt es somit 3 Level in der SCSI-Terminologie: SE =
Single Ended HVD SCSI = High Voltage Differential SCSI, basierend auf
EIA485 LVD SCSI = Low Voltage Differential SCSI SE und HVD/LVD sind
elektrisch inkompatibel. Schließt man ein SE-Gerät an einen HVD-Strang, so
wird es durch die höheren Spannungspegel von HVD zerstört. Umgekehrt darf
nichts passieren, da HVD-Geräte es laut Standard erkennen müssen, wenn sie
an einem SE-Hostadapter hängen.
Eine Übersicht über die verschiedenen SCSI-Modi bietet folgende
Tabelle:
| Modus |
maximale Datenrate [MB/sec] |
Bus Breite [Bits] |
max. Buslänge [Meter] (1) |
max. Anzahl |
| Single- Ended |
LVD |
HVD |
| SCSI-1 (2) |
5 |
8 |
6 |
(3) |
25 |
8 |
| Fast SCSI (2) |
10 |
8 |
3 |
(3) |
25 |
8 |
| Fast Wide SCSI |
20 |
16 |
3 |
(3) |
25 |
16 |
| Ultra SCSI (2) |
20 |
8 |
1.5 |
(3) |
25 |
8 |
| Ultra SCSI (2) |
20 |
8 |
3 |
- |
- |
4 |
| Wide Ultra SCSI |
40 |
16 |
- |
(3) |
25 |
16 |
| Wide Ultra SCSI |
40 |
16 |
1.5 |
- |
- |
8 |
| Wide Ultra SCSI |
40 |
16 |
3 |
- |
- |
4 |
| Ultra2 SCSI (2, 4) |
40 |
8 |
(4) |
12 |
25 |
8 |
| Wide Ultra2 SCSI(4) |
80 |
16 |
(4) |
12 |
25 |
16 |
| Ultra3 SCSI oder Ultra160 SCSI (6) |
160 |
16 |
(4) |
12 |
(5) |
16 |
| Ultra320 SCSI (6) |
320 |
16 |
(4) |
12 |
(5) |
16 |
(1) Die aufgeführten maximalen Buslängen können in einzelnen,
ausgewählten Punkt-zu-Punkt-Verbindungen ggf. auch länger sein.
(2) Häufig findet man ein vorangestelltes "Narrow" als Bezeichnung vor
"SCSI", "Ultra SCSI" oder "Ultra2 SCSI".
(3) LVD (Low Voltage Differential) war in den original SCSI-Standards für
diese Geschwindigkeiten nicht vorgesehen. Wenn alle Geräte am Bus LVD
unterstützen, ist eine Buslänge von 12 Metern bei den angegebenen
Geschwindigkeiten möglich.
(4) "Single-Ended" ist nicht für Geschwindigkeiten über Ultra-SCSI
definiert.
(5) HVD (High Voltage Differential) ist nicht für Geschwindigkeiten über
Ultra2-SCSI definiert.
(6) Nach Ultra2-SCSI sind alle Übertragungsmodi automatisch nur noch im
"Wide"-Betrieb.
Ausführliche Informationen zum Thema SCSI gibt es an vielen Stellen im
Internet. Als Beispiel sei genannt:
http://www.scsita.org
http://www.scsifaq.org
5.17 LAN
/ RJ45 (Ethernet)
Immer häufiger findet auch eine LAN-Schnittstelle (LAN = Local Area
Network) in Form einer RJ45-Buchse für Ethernet die Integration in die
Chipsätze und somit den Weg auf die Mainboards. Bei Notebooks hingegen ist
diese Schnittstelle schon seit geraumer Zeit Standardausrüstung.
Die LAN-Schnittstelle ist ebenso wie USB eine serielle Schnittstelle.
Hardwareseitig gibt es aber durchaus einige Unterschiede in Buchsen- und
Steckerformen, sowie in den Übertragungsraten. Standardisiert wird
Ethernet von der IEEE, die Specs zu Ethernet findet man unter IEEE-802.3
unter
http://grouper.ieee.org/groups/802/3/. Der Data Layer Link wird von
einem andere Gremium spezifiziert, da er ja nicht Ethernet-spezifisch ist.
Er ist von der IEEE standardisiert als IEEE-802.1 unter
http://grouper.ieee.org/groups/802/1/.
Heutiger Stand der Technik sind Netzwerkstecker im RJ45-Format mit 8
Pins, der auch Westernstecker genannt wird. Früher fand die BNC-Buchse die
weiteste Verbreitung und ist heute auch noch anzutreffen. Die
verschiedenen Stecker bedingen auch verschiedene Kabel: Während das
BNC-System mit Koaxialkabeln arbeitet, kommen beim Westernstecker
sogenannte TwistedPair Kabel zum Einsatz.
Diese haben eine bessere Abschirmung (siehe auch die Abschirmungsarten
bei TwistetPair weiter unten) und somit eine bessere Signalstabilität, was
sowohl größere Verbindungsstrecken als auch höhere Datenübertragungen
ermöglicht. Heute ist eine Datenübertragungsrate von 100MBit/s (=12.5MB/s)
weit verbreitet. Dafür ist Koaxkabel und damit ein BNC-System in der Regel
günstiger, jedoch ist man in der Übertragung auf 10MBit/s (=1.25MB/s)
beschränkt. Auch vom Aufbau unterscheiden sich die Systeme: mit BNC baut
man ein Bussystem auf, mit TwistedPair hingegen ein Stern-(Hub-)System.
Die Leitung, mit der die Rechner später verknüpft sind, wird auch Ethernet
genannt.
Das Farbbelegung der Kabel des RJ45-Steckers sieht folgendermaßen
aus:
| Adernpaar |
Pins |
Farbgebung nach Standard |
| EIA / TIA |
IEC |
REA |
DIN 47.100 |
| 1 |
4+5 |
blau/weiss |
weiss/blau |
weiss/blau |
weiss/braun |
| 2 |
3+6 |
weiss/orange |
rot/orange |
türkis/violett |
grün/gelb |
| 3 |
1+2 |
weiss/grün |
schwarz/grau |
weiss/orange |
grau/rosa |
| 4 |
7+8 |
weiss/braun |
gelb/braun |
türkis/violett |
blau/rot |
Pinbelegung des RJ45 für Ethernet bis 100Base-T:
| Signal |
Pin |
Farbe |
| TX + |
1 |
weiss / orange |
| TX - |
2 |
orange |
| RX+ |
3 |
weiss / grün |
| 4 |
blau |
| 5 |
weiss / blau |
| RX - |
6 |
grün |
| 7 |
weiss / braun |
| 8 |
braun |
Bei Gigabit Ethernet (1000Base-T) werden alle 4 Adernpaare parallel
verwendet, eine exakte Zuordung ist nicht mehr möglich. Die Farben
enstprechen aber denen in der obigen Tabelle. Beim kommenden 10 Gigabit
Ethernet wird es dann keine Kupfertechnik sondern nur noch
Glasfasertechnik geben.
Wichtig zu wissen sind die Kenndaten der einzelnen Standards, die hier
kurz vorgestellt werden:
Thin Ethernet / 10Base-2 (weit verbreitet)
- Geschwindigkeit: 10 MBit/s
- Stecker: BNC
- Kabel: Koaxial RG58 (50 Ohm)
- Max. Kabellänge: 185 m
- Max. Anzahl Geräte pro Kabelsegment: 30
- Min. Abstand zwischen Geräten: 0.3m
- Vernetzung: Bus
- Terminator an jedem Ende: 50 Ohm
Thick Ethernet / 10Base-5 (eher selten)
- Geschwindigkeit: 10 MBit/s
- Stecker: N-Type
- Kabel: Koaxial RG8
- Verkabelungsschema: EIA/TIA 568B
- Max. Kabellänge: 500 m
- Max. Anzahl Geräte pro Kabelsegment: 100
- Min. Abstand zwischen Geräten: 2.5m
- Vernetzung: Bus
- Terminator an jedem Ende: 50 Ohm
Standard Ethernet / 10Base-T (IEEE-802.3)
- Geschwindigkeit: 10 MBit/s
- Stecker: RJ45
- Kabel: TwistedPair (Kategorie 3)
- Verkabelungsschema: EIA/TIA 568B
- Max. Kabellänge: 100 m
- Vernetzung: Sternförmig
Fast Ethernet / 100Base-T (IEEE-802.3u)
- Geschwindigkeit: 100 MBit/s
- Stecker: RJ45
- Kabel: TwistedPair (min. Kategorie 5)
- Verkabelungsschema: EIA/TIA 568B
- Max. Kabellänge: 100 m
- Vernetzung: Sternförmig
Gigabit Ethernet / 1000Base-T (IEEE-802.3ab und IEEE-802.3z)
- Geschwindigkeit: 1000 MBit/s
- Stecker: RJ45
- Kabel: TwistedPair (min. Kategorie 5 Enhanced oder höher) und
Glasfaser (IEEE-802.3z)
- Verkabelungsschema: EIA/TIA 568B
- Max. Kabellänge: 100 m
- Vernetzung: Sternförmig/li>
Nur zum Vergleich:
TokenRing (IEEE-802.5)
- Geschwindigkeit: 4 oder 16 MBit/s
- Stecker: RJ45 oder IBM Data-Connector
- Kabel: TwistedPair (Kategorie 3)
- Max. Ringlänge: 168 m (16MBit/s) / 360 m (4Mbit/s)
- Max. Kabellänge: hängt von Ringgröße und Art des Netzwerkes ab
- Max. Anzahl Geräte pro Netzwerk: 72 (UTP) / 250-260 (Type-1)
- Vernetzung: Token Ring (physikalisch: Stern, logisch: Ring)
- Anderes Protokoll als Ethernet Eine FAQ zu TokenRing gibt's unter
http://www.faqs.org/faqs/LANs/token-ring-faq/
Kabel-Kategorien bei TwistedPair:
| Kategorie/ ISO-Klasse |
Bandbreite |
max. Geschwindigkeit u. Verwendunszweck |
| 1 |
100 kHz |
ISDN, heute aber eher ungebräuchlich |
| 2 |
1 MHz |
4 MBit/s TokenRing, ISDN-Mehrkanal etc. |
| 3 |
16 MHz |
10 MBit/s, 10Base-T |
| 4 |
20 MHz |
16 MBit/s TokenRing, 10Base-T |
| 5 / D |
100 MHz |
100 Mbit/s, 100Base-T |
| 5E / D |
100 MHz |
100 Mbit/s und 1000Mbit/s mit 1000Base-T, speziell für
Hochgeschwindigkeits- anwendungen validiert |
| 6 / E |
250 MHz |
155 MBit/s ATM, 1000MBit/s 1000Base-T |
| 7 / F |
600 MHz |
622 MBit/s ATM, 1000MBit/s 1000Base-T |
Abschirmungsarten bei Kupferkabeln bis CAT 5E:
- UTP - unshielded twistet pair = ungeschirmtes verdrilltes Kabel
- FTP - foiled twistet pair = Kabel mit Foliengesamtschirm
- S-UTP - screened, unshielded twistet pair = Kabel mit
Gesamtgeflechtschirm (nur Patchkabel)
- S-FTP - screened, foiled twistet pair = wie FTP mit zusätzlichem
Gesamtgeflechtschirm
- PiMF - Paare in Metallfolie = Folienschirm für jedes Kabelpaar,
Gesamtgeflechtschirm
Für die Newsgroups der Hierarchie de.comp.hardware.netzwerke.* gibt es
auch eine FAQ, die unter
http://how.to/dchn/ zu finden ist; hier sind auch einige der oben
genannten Infos her. Bei Fragen lohnt sich ein Blick dort immer!
Auf das grosse Thema "Wireless LAN" (WLAN) kann hier auch nicht
eingegangen werden. Darum kümmert sich die Arbeitsgruppe 802.11 der IEEE,
deshalb sind viele Infos sowohl in der dchn-FAQ (s.o.) als auch unter
http://grouper.ieee.org/groups/802/11/ zu finden. Ausserdem gibt es
dazu die newsgroup news:de.comp.hardware.netzwerke.wireless.
5.18
Bluetooth
Intention für die Entwicklung von Bluetooth war es, eine neue
universelle und vor allem schnurlose Kommunikationsschnittstelle für eine
Vielzahl von Geräten (PDAs, Digicams, Handys, Notebooks etc.) zu schaffen.
Obwohl all diese Vorstellungen in Bluetooth eingegangen sind und auch
verwirklicht wurden, findet Bluetooth nur sehr langsam den Weg in die
entsprechenden Geräte. Immerhin gibt es seit Anfang 2002 endlich mehr als
nur eine Handvoll bluetoothfähiger Gerätschaften. Bluetooth sendet maximal
etwa über eine Distanz von 10m, mit einer Bandbreite von 1MBit pro
Sekunde. Diese Bandbreite müssen sich jedoch alle Geräte im Funkbereich
teilen, da nur ein Kanal vorhanden ist.
Bluetooth ist technisch gesehen eine nahbereichs Funktechnik. Im Sinne
der Bluetooth-Spezifikation soll jedes Gerät mit einem x-beliebigen
anderen Bluetooth-Gerät kommunizieren können - soweit die Theorie. In der
Praxis sieht das leider noch anders aus, was aber wohl häufig am noch
frühen Stadium dieser Technik liegt. Ausserdem sind in Bluetooth
verschiedene Sicherheitsmechanismen eingearbeitet worden, was die
Kommunikation zweier Geräte erst nach häufig etwas aufwendiger
Abstimmungsarbeit, die deutlich komplexer als etwa bei WLAN ist,
erlaubt.
Grundlage der verschiedenen Anwendungen sind die so genannten Profile.
Diese legen Herstellerübergreifend fest, wie die Geräte untereinander
erkennen, welche Möglichkeiten vorhanden sind und wie diese zu nutzen
sind. Typische vordefinierte Profile sind:
- File Transfer Profile: Dient dem Austausch von Daten zwischen
Geräten, beispielsweise einer Notiz zwischen PDA und Notebook.
- Synchronization Profile: Ist eine spezialisierte Form des File
Transfers. Hier können Daten abgeglichen werden. Um die Kompatibilität
mit bestehender Synchronisatios-Software für IrDA zu wahren, gibt es eine
eigene Protokollschicht namens IrMC.
- LAN Access Profile: Gedacht, um Zugriffe auf Firmennetzwerke zu
ermöglichen. Hier muss ein Rechner als Bridge konfiguriert werden, der
einen Netzwerkanschluss besitzt (LAP, LAN Access Point). Man sollte
jedoch ob der geringen Bandbreite von 1MBit/s von Mega-Byte schweren
Übertragungen absehen - so werden höchsten lange Kaffeepausen
forciert. Das LAN AP soll aber in der kommenden Spezifikation (1.2,
etwa Herbst 2003) wieder entfernt werden.
- Ultimate Headset Profile: Ursprünglich nur als Ersatz des verkabelten
Head-Sets beim Handy gedacht, kann ein solches Bluetooth-Headset noch
mehr, wie etwa die Zusammenarbeit mit einem stationären Telefon oder
einem PC zwecks Diktat etc.
- Three-in-One Phone Profile: Kann mehr als die direkte Verknüpfung
zweier Head-Sets à la "Walkie-Talkie": Geräte mit Tastatur und Anzeige
können als Schnulostelefon wie bei DECT agieren, oder gar als reguläres
GSM- oder UMTS-Handy arbeiten.
- Serial Port Profile: Mit diesem eher universellen Profil soll es den
Entwicklern leicht gemacht werden, Anwendungen, die RS-232 nutzen, auf
Bluetooth abzustimmen oder umzustellen.
Bluetooth hat durchaus alles Nötige, um zum "Renner" bei allen mobilen
Anwendungen zu werden - sobald sich eine breite Unterstützung durch
Hardware (Chipsätze, AddOn-Karten, Geräte), und Software (Betriebssysteme,
Treiber etc.) findet.
Federführend bei der Entwicklung von Bluetooth ist die "Bluetooth
Special Interest Group" (Bluetooth SIG), die unter http://www.bluetooth.com zu finden ist. Die
Specs sind frei erhältlich. Weitere Infos zu Bluetooth gibt es auch noch
in der c't 9/01 Seite 100f und 1/02 Seite 116ff einige historische
Aspekte werden auch unter
http://www.heise.de/ct/aktuell/data/dz-21.05.03-001/ angesprochen.
|