nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

<2005-07-26> CPU+Mainboard FAQ - Kapitel 5/14 - Schnittstellen

Von: CPU und Mainboard FAQ Team (dchcm@dch-faq.de) [Profil]
Datum: 03.06.2010 02:00
Message-ID: <cpu+mainboard-faq-kapitel05-03.06.2010@news.dch-faq.de>
Followup-to: de.comp.hardware.cpu+mainboard.misc
Newsgroup: news.answers de.answers de.comp.hardware.cpu+mainboard.uebertakten de.comp.hardware.cpu+mainboard.intel de.comp.hardware.cpu+mainboard.amd de.comp.hardware.cpu+mainboard.misc
Archive-name: de/comp/hardware/cpu+mainboard/kapitel_5
Posting-frequency: monthly
Last-modified: 2005-07-26
URL: http://dch-faq.de/kap05.html
Disclaimer: Approval for *.answers is based on form, not content.

5. Schnittstellen und Busse auf 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:

1. 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).

2. 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.

3. 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:

1. Tiny TP: Definiert eine Art Fluss-Kontrolle für IrLMP und
ermöglicht ein optionales Splitten und Zusammenfügen von
Datenpaketen.

2. IrCOMM: Liefert die COM-Port (Seriell und parallel) Emulation für
Legacy-COM Anwendungen, Drucker und Modems.

3. IrOBEX: Definiert einen Object Austausch Service (vergleichbar zu
HTTP).

4. 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.

5. IrTran-P: Liefert ein Bild-Austausch Protokoll, welches in
Digitalcameras und anderen Digital-Geräten zur Bildaufnahme
Verwendung findet.

6. 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.

7. 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.

1. 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.

2. 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.

3. Asymmetric MAC:
- Steuert die dynamische Zuordnung und damit die Wiederverwendung
bereits verwendeter Geräte-Adressen.

4. 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://www.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 | Sektoren | Speicherkapazität
|   Seite    | pro Spur |
=====================+============+==========+==================
5.25" Singlesided   |     40     |     8    | 40*8*512 Byte
Double Density      |            |          |  = 160 KB
---------------------+------------+----------+-------------------
5.25" DD - Double-  |     40     |     9    | 2*40*9*512 Byte
sided Double Density|            |          |  = 360 KB
---------------------+------------+----------+-------------------
5.25" HD - Double-  |     80     |    15    | 2*80*15*512 Byte
sided High Density  |            |          |  = 1200 KB
---------------------+------------+----------+-------------------
3.5" DD - Double-   |     80     |     9    | 2*80*9*512 Byte
sided Double Density|            |          |  = 720 KB
---------------------+------------+----------+-------------------
3.5" HD - Double-   |     80     |    18    | 2*80*18*512 Byte
sided High Density  |            |          |  = 1440 KB
---------------------+------------+----------+-------------------
3.5" ED (nur IBM) - |     80     |    36    | 2*80*36*512 Byte
Doublesided Extended|            |          |  = 2880 KB
Density             |            |          |
---------------------+------------+----------+-------------------

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 |  CPU-Last   | Bemerkung
|    [MB/sec]    |    (*)      |
==================+================+=============+==============
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      |     33.33      |   gering    |
(Ultra-ATA/33)   |                |             |
------------------+----------------+-------------+---------------
Ultra-DMA 3      |     44.44      |   gering    | ungebräuchlich
|                |             | 80-pol. Kabel
|                |             | benötigt
------------------+----------------+-------------+---------------
Ultra-DMA 4      |      66        |   gering    | 80-pol. Kabel
(Ultra-ATA/66)   |                |             | benötigt
------------------+----------------+-------------+---------------
Ultra-DMA 5      |     100        |   gering    | 80-pol. Kabel
(Ultra-ATA/100)  |                |             | benötigt
------------------+----------------+-------------+---------------
Ultra-DMA 6      |     133        |   gering    | 80-pol. Kabel
(Ultra-ATA/133)  |                |             | benötigt
==================+================+=============+==============
Serial-ATA I     |     150        |   gering    | Spez. SATA-
(SATA I)         |                |             | Kabel benöt.
------------------+----------------+-------------+---------------
Serial-ATA II    |     300        |   gering    | noch nicht
(SATA II)        |                |             | 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:

|          |Bus Breite| max. Buslänge | max.
Modus        | maximale |  [Bits]  |  [Meter] (1)  | Anzahl
| Datenrate|          +-------+---+---+ Geräte
|          |          |Single-|LVD|HVD|
| [MB/sec] |          |Ended  |   |   |
===================+==========+==========+=======+===+===+========
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 (.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

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/ | Bandbreite | max. Geschwindigkeit u. Verwendunszweck
ISO-Klasse |            |
-----------+------------+------------------------------------------
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.


[ Auf dieses Posting antworten ]