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. See reader questions & answers on this topic! - Help others by sharing your knowledge 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 (=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 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. User Contributions: |
Comment about this article, ask questions, or add new information about this topic: