Der Bus ist ein im Bereich der Datenverarbeitung häufig verwendeter Begriff für eine Datenverbindung, an die mehr als zwei Teilnehmer angeschlossen werden können. Ein Bus ist ein Leitungssystem mit zugehörigen Steuerungskomponenten, das zum Austausch von Daten und/oder Energie zwischen Hardware-Komponenten dient. Bussysteme finden Anwendung insbesondere innerhalb von Computern und zur Verbindung von Computern mit Peripheriegeräten, aber auch in der Ansteuerung von Maschinen (Feldbusse, Bushierarchie) sowie immer häufiger in Automobilen zur Verbindung der einzelnen elektronischen Systemkomponenten eines Fahrzeugs.
In der Computerarchitektur ist ein Bus ein Untersystem, das Daten oder Energie zwischen Computerbestandteilen innerhalb eines Computers oder zwischen verschiedenen Computern überträgt. Anders als bei einem Anschluss, bei dem ein Gerät mit einem anderen über eine oder mehrere Leitungen verbunden ist, kann ein Bus mehrere Peripheriegeräte über den gleichen Satz von Leitungen miteinander verbinden.
Frühere Busse waren tatsächlich nur parallele Stromschienen mit mehreren Anschlüssen. Aus dieser Zeit (um 1900) stammen die Bezeichnungen omnibus bar und abgekürzt bus bar für solche Sammelschienen (power rail). Die Bezeichnung wurde für Daten-Sammelleitungen (Datenbusse) übernommen, die Informationen an die angeschlossenen Teilnehmer weitergeben. Manche Quellen leiten 'BUS' auch als Abkürzung von 'Binary Unit System' ab.
Moderne Computerbusse können sowohl parallel, als auch bit-seriell verwendet werden. Während bei der eigentlichen Netz-Topologie der klassischen Bus-Leitung alle Teilnehmer nebeneinander am Bus hängen, können durch geeignete Kontaktierungen Knoten in einer kettenförmigen Anordnung hintereinander geschaltet werden. Neben der Netzwerktopologie auf der physikalischen Ebene (physical layer) kann ein busähnliches Verhalten auch durch entsprechende Implementierungen nachgebildet werden (vgl. OSI-Modell mit höheren Übertragungsebenen).
Die meisten Computer haben interne und externe Busse. Ein interner Bus schließt alle internen Bestandteile eines Computers an die Hauptplatine an (und folglich die CPU und den internen Speicher). Ein solcher interner Bus wird auch als lokaler Bus bezeichnet, weil er dafür gedacht ist, mit im Computer selbst vorhandenen Geräten zu verbinden, und nicht mit solchen in anderen Computern oder mit externen. Ein externer Bus schließt demgemäß externe Peripherie an die Hauptplatine an.
Eine Modifikation dieses Schemas ergibt sich, wenn kein zentraler Adressdekoder verwendet wird, sondern jede angeschlossene Komponente über einen eigenen Adressdekoder verfügt. Die einzelnen Adressdekoder entscheiden dann anhand der angelegten Adresse unabhängig voneinander, ob ihre Komponente die gemeinte ist oder nicht.
Ein anderes Prinzip arbeitet ganz ohne Adressleitung. Der Bus besteht ausschließlich aus Datenleitungen, welche direkt zu der jeweils ausgewählten Komponente laufen. An derartigen Bussen können folglich nur so viele Komponenten angeschlossen werden, wie es parallele Datenleitungen im Bus gibt. Ein prominentes Beispiel für dieses Adressierungsverfahren liefert der SCSI-Bus.
Die beschriebenen Verfahren können auch miteinander kombiniert werden. Darüber hinaus ist zu beachten, dass reale Bustopologien in der Regel weit komplexer sind als die hier angenommenen. So werden in einem Rechensystem in der Regel verschiedene Bustypen zu einer Bushierarchie miteinander verbunden, die sich in der Art der Adressierung unterscheiden und über Brücken miteinander gekoppelt sind. Derartige Brücken sind in der Lage die Adressierung von einem Busprotokoll in das andere zu übersetzen. Auch spezielle Adressierungs-Aspekte von Multimaster-Bussen wurden hier nicht berücksichtigt.
Auch serielle Busse können natürlich als direkte Datenleitungen von Komponente zu Komponente konzipiert sein. In diesem Fall sind die Sender- und Empfänger-Felder überflüssig.
Diese "erste Generation" von Bussystemen litt jedoch unter dem gravierenden Nachteil, dass alles auf dem Bus mit der gleichen Geschwindigkeit arbeitet und alle Geräte sich einen einzelnen Taktgeber teilen mussten. Die Arbeitsgeschwindigkeit der CPU zu erhöhen war nicht einfach, weil man die Geschwindigkeit aller angeschlossenen Geräte ebenfalls steigern musste. Dies führte zu der seltsamen Situation, dass sehr schnelle CPUs "runterbremsen" mussten, um mit anderen Geräten im Computer kommunizieren zu können. Ein anderes Problem war, dass die CPU für alle Operationen benötigt wurde, und so, wenn sie mit anderen Aufgaben beschäftigt war, der reale Datendurchsatz des Busses drastisch darunter zu leiden hatte. Ein anderes praktisches Problem war, dass diese frühen Bussysteme schwierig zusammenzustellen waren, da sie viele Jumper erforderten, um die verschiedenen Betriebsparameter einzustellen.
Bussysteme der "zweiten Generation" wie NuBus waren auf die Lösung einiger dieser Probleme gerichtet. Sie teilten den Computer gewöhnlich in zwei "Welten", die CPU und den Speicher auf der einen Seite und die anzuschließenden Geräte auf der anderen, mit einem Buscontroller dazwischen. Dies erlaubte es, die Geschwindigkeit der CPU zu erhöhen, ohne den Bus zu beeinflussen. Dadurch wurde auch viel von der Belastung für das Verschieben der Daten aus CPU heraus und in die Karten und den Controller verringert, weil Geräte über den Bus ohne Einschaltung der CPU miteinander sprechen konnten. Dieses führte zu viel besserer tatsächlicher Leistung in der Praxis, erforderte aber auch eine viel höhere Komplexität der im Computer installierten Geräte. Weiter gingen diese Bussysteme das Geschwindigkeitsproblem an, indem sie einfach einen größeren Datentransportweg wählten, und so von den 8-bit parallelen Bussen der ersten Generation zu 16 oder 32-bit in der zweiten übergingen. Eine weitere Verbesserung bestand darin, dass Softwareeinstellungen hinzugefügt wurden, die die Zahl der Jumper reduzierten oder diese ersetzten.
Gleichwohl hatten die neueren Systeme eine negative Eigenschaft, die sie mit ihren früheren Vettern teilten: alles, was am Bus hing (außer der CPU), musste mit der gleichen Geschwindigkeit arbeiten. Da die CPU jetzt isoliert war und man ihre Geschwindigkeit ohne Probleme erhöhen könnte, stieg die Arbeitsgeschwindigkeit der CPUs und des Speichers fortlaufend viel schneller an, als die der Bussysteme, mit denen sie zusammenarbeiteten. Das Resultat war, dass die Busgeschwindigkeiten jetzt sehr viel langsamer waren, als für ein modernes System nötig, und die Maschinen hungerten nach Daten, weil sie viel schneller arbeiteten, als Daten hin und her transportiert werden konnten. Ein besonders typisches Beispiel für dieses Problem war, dass Videokarten sogar den neueren Bussystemen wie PCI schnell davonliefen. So wich man für Grafikkarten vom Bus-Konzept ab und führte einen exklusiven, deutlich schnelleren Anschluss (Port) für die Grafikkarte ein, den Accelerated Graphics Port (AGP). Der nächste Schritt und Stand der Technik Ende 2005 in dieser Entwicklung ist PEG, PCI Express for Graphics mit 16 Lanes.
Während dieser Periode fing auch eine zunehmende Anzahl von externen Geräten an, ihre eigenen Bussysteme einzusetzen. Als die Laufwerke zuerst eingeführt wurden, hat man sie mit einer Einsteckkarte an den Bus angeschlossen. Das ist der Grund, warum Computer so viele mit dem Bus verbundene Steckplätze (Slots) haben. In den 1980er und 1990er wurden deswegen neue Systeme wie SCSI und ATA eingeführt, und so blieben die meisten Slots in den modernen Systemen leer. Heute gibt es in einem typischen PC an die fünf unterschiedlichen Bussysteme, um die verschiedenen Geräte zu betreiben.
Später ging man dazu über, das Konzept des lokalen Busses im Vergleich zum externen Bus zu bevorzugen. Ersteres bezieht sich auf Bussysteme, die entworfen wurden, um mit internen Geräten, wie Grafikkarten zu arbeiten, letzteres um externe Geräte wie Scanner anzuschließen. Diese Definition war immer ungenau: IDE ist der Verwendungsart nach ein externer Bus; er wird aber fast immer innerhalb des Computers zu finden sein.
Busse der "dritten Generation" sind jetzt im Kommen, einschließlich HyperTransport und InfiniBand. Sie haben gewöhnlich die Eigenschaft, dass sie mit sehr hohen Geschwindigkeiten laufen, die benötigt werden, um Speicher und Videokarten zu unterstützen, während auch niedrigere Geschwindigkeiten möglich sind, um die Kommunikation mit langsameren Geräten, wie Laufwerken zu unterstützen. Sie sind auch sehr flexibel, was ihre physikalischen Anschlüsse betrifft und lassen sich sowohl als interne Busse verwenden, als auch, um verschiedene Rechner miteinander zu verbinden.
Dieses kann zu komplizierten Problemen führen, wenn es darum geht, unterschiedliche Anfragen zu bedienen, was dazu führt, dass die Software im Vergleich zum eigentlichen Hardwaredesign in den Vordergrund rückt. Im Allgemeinen neigen die Busse der dritten Generation dazu, mehr wie ein Netzwerk als wie ein Bus (im traditionellen Verständnis) auszusehen, mit mehr Bedarf an Protokollinformationen als bei früheren Systemen, und der Möglichkeit, dass verschiedene Geräte den Bus gleichzeitig benutzen.
Die Bezeichnung als Datenbus wird in mehrfachem Zusammenhang verwendet:
Dieser Bus ist unidirektional.
Der Steuerbus ist ein Teil des Bussystems, welcher die Steuerung des Bussystems bewerkstelligt. Hierzu zählen unter anderem die Leitungen für die Interrupt-Steuerung, Buszugriffssteuerung, der Taktung (falls ein Bustakt erforderlich ist), Reset- und Statusleitungen. Welche der Leitungen in einem Bus eingesetzt sind, ist von der Art und Struktur des Busses abhängig. In Multi-Master-Systemen, in denen mehr als ein Subsystem die Buskontrolle übernehmen kann, ist ein Arbiter als Entscheidungsinstanz erforderlich.
- valign="top" |
Entgegen vieler Meinungen gehört der Accelerated Graphics Port (AGP) nicht zu den Bus-Systemen, da er, wie der Name schon sagt, ein Port ist und man nur maximal 1 Gerät daran anschließen kann. Noch dazu ist er rein für Grafikkarten bestimmt und nicht universell einsetzbar.
- valign="top" |
Sabirnica | Databus | Computer bus | Bus de datos | Väylä | Bus informatique | Bus | Sabirnica | Bus | バス (コンピュータ) | Databus | Barramento | Vodilo | Buss (elektronisk term) | Veriyolu | Шина (ел.) | 总线
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Bus (Datenverarbeitung)".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world