EMZETT.
Login

Bus-Systeme

Kurz: Interne Datenverbindungen in einem Computer, über die mehrere Komponenten gemeinsam Daten austauschen — z. B. der PCIe-Bus zwischen CPU/Chipsatz und Erweiterungskarten.

Genauer: Ein Bus verbindet nicht nur zwei, sondern potenziell mehrere Teilnehmer über dieselben Leitungen, was Verkabelungsaufwand spart, aber Bandbreite unter den Teilnehmern aufteilt. Bekannte Beispiele sind PCIe (Erweiterungskarten), USB (Peripherie) und interne Speicherbusse.

Im Detail

Warum überhaupt ein Bus?

Die Alternative zu einem Bus wäre eine direkte Punkt-zu-Punkt-Verkabelung zwischen jeder einzelnen Komponente — bei n Teilnehmern bräuchte das theoretisch eine eigene Leitung für jedes mögliche Paar, was bei vielen Teilnehmern schnell zu einem unpraktikablen Kabelgewirr und enormem Platzbedarf auf der Platine führen würde. Ein Bus löst das, indem sich alle angeschlossenen Geräte dieselben Leitungen teilen und über ein Protokoll regeln, wer wann senden darf (z. B. per Arbitrierung oder festen Zeitschlitzen). Der Preis dafür: Die verfügbare Bandbreite muss unter allen aktiven Teilnehmern aufgeteilt werden — sendet ein Teilnehmer gerade, müssen die anderen warten.

Vom geteilten Bus zur geswitchten Verbindung

Moderne Bus-Systeme wie PCIe sind deshalb zunehmend als “geswitchte” Punkt-zu-Punkt-Verbindungen mit mehreren parallelen Lanes aufgebaut, statt als klassischer, geteilter Bus im ursprünglichen Sinn: Jedes Gerät bekommt effektiv eine eigene, dedizierte Verbindung zu einem zentralen Switch-Chip, der den Datenverkehr intelligent weiterleitet — das Wort “Bus” hat sich dabei aus historischen Gründen gehalten, obwohl die physische Architektur nicht mehr dem ursprünglichen “alle teilen sich eine Leitung”-Prinzip entspricht.

Bus-Ebenen im Computer

Innerhalb eines Computers gibt es mehrere Bus-Ebenen mit sehr unterschiedlichen Geschwindigkeiten und Aufgaben: der Speicherbus zwischen CPU und RAM (extrem schnell, mehrere zehn GB/s, für den Dauerbetrieb bei minimaler Latenz ausgelegt), PCIe zwischen CPU/Chipsatz und Erweiterungskarten wie Grafikkarten oder NVMe-SSDs (mehrere GB/s pro Lane, mehrere Lanes parallel möglich), sowie deutlich langsamere externe Busse wie USB für Peripherie (Mäuse, Tastaturen, externe Laufwerke). Je näher ein Bus an der CPU sitzt, desto höher ist typischerweise seine Bandbreite und desto kürzer die physischen Leitungslängen, da hohe Taktraten über längere Leiterbahnstrecken zunehmend störanfällig werden (elektromagnetische Störeinstrahlung, Signalverzögerung).

Historische Bus-Standards

Frühere PC-Generationen kannten noch deutlich mehr unterschiedliche, langsamere Bus-Standards für Erweiterungskarten (ISA, später PCI, AGP speziell für Grafikkarten) — PCIe hat diese Vielfalt seit Mitte der 2000er weitgehend abgelöst und vereinheitlicht, da es sowohl für einfache Netzwerkkarten als auch für High-End-Grafikkarten skaliert (durch unterschiedliche Anzahl paralleler Lanes, z. B. PCIe x1 bis x16).

Busbreite und Taktrate

Die Übertragungsleistung eines Busses ergibt sich aus dem Zusammenspiel zweier Größen: der Busbreite (wie viele Bits gleichzeitig parallel übertragen werden, z. B. 64 Bit beim klassischen Speicherbus) und der Taktrate (wie oft pro Sekunde ein neuer Wert angelegt wird). Ein breiterer Bus überträgt pro Takt mehr Daten, braucht dafür aber mehr parallele Leiterbahnen, die exakt gleich lang und gleich elektrisch abgestimmt sein müssen (“Signal-Timing”), damit alle Bits gleichzeitig beim Empfänger ankommen — bei sehr hohen Taktraten wird das technisch zunehmend anspruchsvoll, weshalb moderne Hochgeschwindigkeitsbusse wie PCIe stattdessen auf wenige, aber sehr schnell getaktete serielle Lanes setzen statt auf viele parallele, langsamere Leitungen.

Bus als Flaschenhals

Da sich mehrere Komponenten dieselbe Busbandbreite teilen, kann ein Bus zum Engpass für das Gesamtsystem werden, selbst wenn die einzelnen angeschlossenen Komponenten theoretisch schneller wären. Ein typisches Beispiel: Eine sehr schnelle NVMe-SSD, die über eine begrenzte Anzahl PCIe-Lanes angebunden ist, teilt sich diese Lanes je nach Mainboard-Design mitunter mit anderen Erweiterungskarten — sind mehrere leistungshungrige Komponenten gleichzeitig aktiv, kann die verfügbare Bandbreite pro Gerät unter die eigentlich mögliche Höchstgeschwindigkeit fallen. Aus diesem Grund geben Mainboard-Hersteller in ihren Handbüchern oft genau an, welche Steckplätze sich Lanes teilen und unter welchen Bedingungen sich die verfügbare Bandbreite reduziert.

Siehe auch: PCIe, USB, Bandbreite, CPU