Systembus - Hardware-Zone

Direkt zum Seiteninhalt
Systembus
  • Die folgenden Abschnitte beschreiben teilweise veraltete Technologien, deren Kenntnis aber für das Verstehen und der Bewertung aktueller Entwicklungen von großer Bedeutung ist.

Als Systembus bezeichnet man die Verbindungsleitungen zwischen Prozessor und Chipsatz, über die Daten-, Adress- und Steuersignale ausgetauscht werden. Früher sprach man in diesem Zusammenhang auch von Daten-, Adress- und Steuerbus.
 

Systembus
  • Nutzdaten wurden über den Datenbus ausgetauscht.
  • Über den Adressbus wurden ausschließlich Speicheradressen übertragen. Je mehr Adressleitungen zur Verfügung stehen, desto mehr Arbeitsspeicher kann verwaltet werden. Mit den Anfang der 1990er Jahre üblichen 32 Adressleitungen konnten theoretisch bis zu 4 GB (2^32) RAM genutzt werden.
  • Per Steuerbus wurden verschiedene Steuersignale übertragen, um z.B. unterschiedliche Übertragungsmodi (Lese- oder Schreibzugriff, Burst-Modus) festzulegen. Jedes Signal wird über eine eigene Steuerleitung aktiviert oder deaktiviert.

Es gibt verschiedene Geräte, die an den Systembus angeschlossen werden können: Der
Speicher-Controller steuert den Datentransport zwischen CPU und Arbeitsspeicher und führt eine regelmäßige Auffrischung der Speicherzellen durch. Als Bridge (Brücke) bezeichnet man ein Gerät, das verschiedene Bussysteme miteinander verbindet. Im Beispiel oben wird z.B. der AGP-Bus (Accelerated Graphics Port, "beschleunigter Grafik-Anschluss") der Grafikkarte an den Systembus gekoppelt. Host-Controller haben die Funktion einer "intelligenten" Brücke, die den Datentransfer auch selbstständig steuern kann. An sie werden Festplatten und externe Ein-/Ausgabegeräte angeschlossen. Die Kommunikationsteilnehmer werden über ein eigenes Taktsignal synchronisiert, den Systemtakt. Dieser wird in MHz (1 Megahertz = 1.000.000 Schwingungen pro Sekunde) oder GHz (Gigahertz = 1.000 MHz) angegeben. Weitere Eigenschaften eines Busses sind:

  • Busbreite: Die Busbreite gibt die Anzahl der parallelen Leitungen an. Je breiter der Bus oder die Verbindung ist, desto mehr Daten können pro Takt(-zyklus) übertragen werden
  • Latenz- oder Zugriffszeit ist die Zeitspanne zwischen Adresssignal und Eintreffen der angeforderten Daten. Je niedriger die Latenzzeit einer Verbindung ist, desto mehr Datenpakete können pro Sekunde über eine Leitung übertragen werden.
  • Übertragungs- oder Transferrate: Sie gibt die maximale Anzahl an Bytes an, die über den Bus übertragen werden und ist abhängig von Busbreite und Systemtakt. Bei dieser Angabe spielt die Zugriffszeit keine Rolle, da in der Regel im Burst-Modus gemessen wird. In diesem Modus können mehrere Datenblöcke direkt hintereinander gesendet werden, ohne zuvor jedes Mal die Speicheradresse übertragen zu müssen.

Bei älteren PCs gab es nur einen gemeinsamen Systembus, an den alle Komponenten (CPU, Arbeitsspeicher, externer Cache, Speicher und Busse für Ein-/Ausgabegeräte) angebunden waren. Um Zugriffskonflikte zu vermeiden, musste der Bus deshalb von einem sogenannten Arbiter ("Schiedsrichter") zugeteilt werden. Der Arbiter musste die Anfragen der einzelnen Geräte zuerst genehmigen.

Ein typischer Bustransfer lief wie folgt ab:

  • Zuerst teilt das Gerät über den Steuerbus dem Arbiter mit, dass es den Bus benutzen möchte (BREQ = Bus Request, "Bus-Anfrage). Sobald dér Bus verfügbar und das Gerät an der Reihe ist, genehmigt der Arbiter über ein Bestätigungssignal (BGRT = Bus Grant, "Bus-Erlaubnis") den Zugriff. Welches Zuteilungsverfahren letztendlich eingesetzt wird, hängt vom Systembus ab.
  • Das Gerät ist jetzt "Bus-Master", d.h. es hat Kontrolle über den Bus. Über zwei Steuerleitungen bestimmt das Gerät den Übertragungsmodus: Senden (WR) oder Empfangen (RD). Daneben wird die Größe des zu übermittelnden Datenblocks (8, 16, 32 oder 64 Bit) festgelegt. Gleichzeitig wird über die Adressleitungen die Adresse der Daten im Speicher übertragen.
  • Die Daten werden je nach Übertragungsmodus über den Datenbus zum Arbeitsspeicher übertragen bzw. aus diesem geholt. Wenn der Transfer abgeschlossen ist, signalisiert das Gerät über eine Steuerleitung, das es fertig ist und gibt so den Bus für das nächste Gerät frei.

Neben dem aufwendigen Zuteilungsmechanismus hatte der gemeinsame Systembus noch weitere Nachteile: Da alle Geräte an den Systembustakt gekoppelt waren, musste sich der Prozessor immer nach dem langsamsten Gerät richten. Das war auch der Grund für die beim 80486DX2-Prozessor eingeführte interne Taktvervielfachung. Der interne Arbeitstakt wurde auf 66 MHz erhöht, der (externe) Systemtakt blieb hingegen bei "nur" 33 MHz. Ein weiteres Problem war die langsame Anbindung des Speichers, die ebenfalls mit dem Systemtakt arbeitete. Bei Grafikkarten wurde dieser Flaschenhals bald durch die Einführung unabhängiger, lokaler Bussysteme (VLB - VESA Local Bus oder AGP - Accelerated Graphics Port) beseitigt.
Front-Side Bus (FSB)
Beim Pentium-Pro-Prozessor löste man das Problem der langsamen Speicheranbindung, indem man einen eigenen, unabhängigen Bus entwickelte, der mit dem vollen Prozessortakt getaktet werden konnte (Dual Independent Bus). Dieser Back-Side Bus verbindet die CPU mit einem eigenen 2L-Cache und evtl. einer weiteren CPU. Der bisherige Systembus wurde fortan als Front-Side Bus, kurz FSB, bezeichnet.
Der eigentliche Geschwindigkeitsschub ergab sich eher durch den großen, direkt angebundenen 2L-Cache, der Datendurchsatz des Hauptspeichers wurde dadurch nicht verbessert. AMD nutzte deshalb beim Front-Side Bus seiner Athlon-Prozessoren das EV6-Protokoll, das ursprünglich für den DEC Alpha-Prozessor entwickelt wurde. Es ermöglichte die Übertragung von Daten sowohl an der aufsteigenden Flanke als auch an der absteigenden Flanke des Taktsignals. Dadurch konnten pro Takt doppelt so viele Daten (2 x 64 Bit) übertragen werden. Mit Einführung des Pentium IV (2000) führte Intel sogar ein QDR-Verfahren (Quad Data Rate = "Vierfache Datenrate") ein, bei dem pro Takt gleich viermal so viele Datenblöcke (4 x 64 Bit) übertragen werden konnten. Aus Marketinggründen gaben die Hersteller in der Folgezeit immer die "effektive" Taktfrequenz an.

FSB-Taktfrequenzen ausgewählter CPUs (in Klammern die effektive Taktfrequenz)

  • Pentium II: 66, 100 MHz
  • Pentium III: 100, 133 MHz
  • Athlon: 100 (FSB200), 133 (FSB266) MHz
  • Pentium IV: 100 (FSB400), 133 (FSB533) , 200 (FSB800) MHz
  • Athlon XP: 133 (FSB266), 166 (FSB333), 200 (FSB400) MHz
  • Pentium Core 2 Duo/Quad: 200, 266 (FSB1066), 333 (FSB1333), 400 (FSB1600) MHz

HyperTransport (HT)


2003 ersetzte AMD den Front-Side Bus durch eine Punkt-zu-Punkt-Verbindung, die als HyperTransport (HT) bezeichnet wird. Anders als bei einem Bus ist jeder Sender direkt mit dem Empfänger verbunden. Der Vorteil dieser Art der Kommunikation ist, dass der Sender nicht darauf achten muss, ob die Leitung gerade frei ist. Eine HyperTransport-Verbindung, auch als Link bezeichnet, besteht aus jeweils einer Verbindung zum Senden und Empfangen von Daten. Link-Breite (2, 4, 8, 16 oder 32 Bit) und Taktfrequenz (200 MHz bis 3.200 MHz) sind von den angeschlossenenen Geräten abhängig. Da jeder Link mittels DDR-Verfahren (DDR = Double Data Rate, "doppelte Datenrate") 64 Bit (32 Bit x 2) pro Takt übertragen kann beträgt die Datenübertragungsrate 25,6 GB/s (4 Byte x 2 x 3.200 MHz). Beim schnellsten Front-Side Bus (FSB1600) können zwar pro Takt 256 Bit (64 Bit x 4) übertragen werden, aber nur mit einer Frequenz von maximal 400 MHz. Das ergibt eine Übertragungsrate von 12,8 GB/s (32 Byte x 400).

Weitere wichtige Unterschiede im Vergleich zum FSB:

  • Vollduplex-Betrieb: Senden und Empfangen sind gleichzeitig möglich.
  • Paketorientierte Übertragung: Der Datenstrom wird in einzelne Pakete aufgeteilt. Jedes Paket enthält neben einer fortlaufenden Nummer u.a. die Adressen von Sender und Empfänger. Die Pakete sind also unabhängig von der jeweiligen Verbindung. So können Daten zwischengespeichert und umgeleitet werden, etwa wenn ein Link gerade nicht verfügbar ist oder ein anderes Paket dringender zugestellt werden muss. Da neben Adressen und Nutzdaten noch zusätzliche Kontrollinformationen in einem Paket abgelegt werden, sinkt allerdings die tatsächlich verfügbare Bandbreite der Verbindung.
  • Hersteller- bzw. Prozessorunabhängigkeit: HyperTransport ist ein offener, prozessorunabhängiger Standard, d.h. eine HT-Verbindung kann unabhängig von der angekoppelten CPU betrieben werden. Individuelle Verbindungsparameter wie Taktfrequenz oder Link-Breite werden zwischen den Geräten ausgehandelt. Ein klassischer Systembus wie der Front-Side Bus hingegen stellt lediglich eine "Verlängerung" der internen Signalleitungen des Prozessors dar. Deshalb können Geräte nur über Brücken an den FSB angeschlossen werden, wodurch die Latenzzeit erhöht wird.
  • Differenzielle Signalübertragung: Die differenzielle Übertragung ermöglicht eine fast störungsfreie Signalübertragung.
QuickPath Interconnect (QPI)
2009 wurde auch bei Intel-CPUs der gemeinsame Systembus abgeschafft und durch eine selbst entwickelte Punkt-zu-Punkt-Verbindung namens QPI (QuickPath Interconnect) ersetzt. Jede QPI-Verbindung, auch als Link bezeichnet, besteht aus 20 differenziellen Leitungspaaren mit je einer Taktleitung (insgesamt 42 Leitungen). Um gleichzeitig Senden und Empfangen zu können, werden immer zwei Links gebündelt. Pro Link können dank DDR-Verfahren (Double Data Rate, "Doppelte Datenrate") theoretisch zwei Datenpakete á 20 Bit übertragen werden, da aber je 4 Bit für zusätzliche Adress- und Steuernformationen benötigt werden, beträgt die tatsächlich verfügbare Bandbreite für Nutzdaten nur 32 Bit (= 2 x 16 Bit) pro Takt. Im Vergleich zum Front-Side Bus, der 4 x 64 Bit (= 256 Bit oder 32 Byte) pro Takt übertragen kann, ist das zunächst ein sehr geringer Wert. Da ein QPI-Link aber als Paar und mt einer viel höheren Taktfrequenz betrieben wird, ist die Übertragungsrate (GB/s) höher. Geht man von einem Referenztakt von 400 (FSB) bzw. 2.400 MHz (QPI-Link) aus, beträgt diese beim FSB 12,8 GB/s (400 x 32 Byte) und beim QPI-Linkpaar (2.400 x 4 Byte x 2 Links) 19,2 GB/s. (Quelle) Außerdem muss in der Praxis auch berücksichtigt werden, dass keine Wartezyklen wegen langsamer Geräte eingeplant werden müssen.



Crossbar- Switch

Bei der QuickPath-Architektur sind CPU-Kerne und 3L-Cache über QPI-Links mit einem zentralen Verteiler verbunden, der wie eine Vermittlungsstelle funktioniert (der englische Begriff "crossbar-switch" bezeichnete ursprünglich die Koordinatenschalter einer analogen Telefon-Vermittlungsstelle). Alle Sender sind über ein Koppelfeld mit allen Empfängern verbunden. Damit die vom Sender eintreffenden Daten an den richtigen Empfänger gelangen, müssen die entsprechenden Schalter an den Kreuzungspunkten aktiviert werden. Dadurch entstehen bei vielen Kommuikationsteilnehmern hohe Latenzzeiten. Außerdem werden immer mehr Leitungen benötigt:

  • 84 Leitungen bei 2 Teilnehmern (1 Kern/1 Cache)
  • sogar 504 Leitungen (84 x 6 Verbindungen) bei 3 Teilnehmern (2 Kerne/1 Cache)
  • 1.680 Leitungen (84 x 20) bei 5 Teilnehmern (4 Kerne/1 Cache)

Im Hinblick auf CPUs mit mehr als 4 Kernen wurde der Crossbar-Switch deshalb bald durch eine Ringstruktur ersetzt.
Direct Media Interface (DMI)
Die "direkte Medien-Schnittstelle" (Direct Media Interface) wurde von Intel zunächst zur Anbindung der Schnittstellen für Festplatten, optische Speicher und Ein-/Ausgabegeräte an die Northbridge des Chipsatzes genutzt. Da die Funktionseinheiten der Northbridge (Speicher-Controller, Grafik-Schnittstelle) mittlerweile vollständig in die CPU verlagert wurden, nimmt sie in aktuellen PCs mit Intel-Prozessor die Position des Systembus ein. DMI wurde etwa zeitgleich mit PCI Express eingeführt und hat auch viele Gemeinsamkeiten:

  • Serielle Übertragung: Es wird jedes Bit einzeln übertragen.
  • Das Taktsignal wird mittels Leitungscodierung direkt in das Datensignal eingebettet, weshalb keine zusätzliche Taktleitung benötigt wird.
  • Jedes Gerät wird über einen sogenannten Link an einen zentralen Verteiler gekoppelt.
  • Differenzielle Übertragung
  • Gleichzeitiges Senden und Empfangen (Vollduplex-Modus)

Eine einfache DMI-Verbindung (Link) besteht aus je einem Leitungspaar zum Senden und Empfangen von Daten. Die theoretische Bandbreite eines Link liegt bei 1 GB/s, wegen der Leitungskodierung beträgt die tatsächliche Übertragungungsrate aber nur 985 MB/s (DMI 3.0). Da in der Regel 4 Links zur Anbindung an den Chipsatz verwendet werden, steigt sie auf 3,94 GB/s. Das ist zwar deutlich weniger als bei QPI, dafür hat DMI das bessere Kosten-/Nutzenverhältnis. AMDs Pendant zu DMI nennt sich UMI (Unified Media Interface).
Übersicht

Front-Side Bus
HyperTransport
QPI
DMI/UMI
Bus- bzw. Verbindungsbreite (Bit)642 - 3220 (pro Link)2 (pro Link)
Taktfrequenz (GHz)0,40,2 - 3,22,4 - 4,8-
Datenübertragungsrate (GB/s)12,8 25,6 (2 Links)38,4 (2 Links)3,94 (4 Links)
Topologie (Anordnung der Geräte)BusDaisy Chain (Reihe), auch Stern möglichSternBus
Anzahl der Pins (Anschlüsse)15024 - 1978416 (4 Links)
proprietär? (herstellerabhängig)janeinjaja
SynchronisationTaktsignalTaktsignalTaktsignalselbsttaktend
Leitungskodierungkeinekeinekeine128B/130B
Zurück zum Seiteninhalt