Paralleler Bus vs. seriellem Punkt zu Punkt (3)

Freitag, 3. Oktober 2008
 / von anddill
 

Multilink: flink und breit

Reicht die Übertragungsleistung eines Links nicht, kann man Links zusammenschalten. Bei einem PCI Express x16 Grafikkartensteckplatz gibt es also 16 unabhängige Links in jede Richtung. Wichtig dabei ist, dass nicht etwa ein Datenwort wie bei einem parallelen Bus auf die einzelnen Links aufgeteilt wird, sondern immer jeder Link ein Wort überträgt. Das nächste Wort wird dann vom nächsten Link übernommen usw.

Kleine Pufferspeicher in den Sendern und Empfängern sorgen dann dafür, dass die Worte nach der Übertragung wieder in der richtigen Reihenfolge sortiert sind. Der große Vorteil dieser Unabhängigkeit ist, dass man Laufzeitdifferenzen zwischen den einzelnen Links in der Praxis ignorieren kann. Auf einer realen Platine sieht das dann so aus:

Rechts im Bild ist ein Teil des Chipsatzes, links die Lötpins eines PCIe-Sockels. Man erkennt sehr gut die einzelnen Leitungspaare und auch, dass die Längen der Links unterschiedlich sind. Die Abschirmung liegt übrigens als Massefläche unter den Leitungen. Es gibt keinen Längenausgleich durch mäanderförmige Leitungen. Auch hier wurde wieder ein Platinendesign-Problem mit Elektronik erschlagen.

Noch ein Beispiel aus der Praxis, in diesem Falle SATA. Hier Bilder vom Kabelaufbau und von den Anschlüssen auf der Platine:

Aufbau eines SATA-Kabels
Aufbau eines SATA-Kabels
Sata Anschlüsse auf einem Mainboard
Sata Anschlüsse auf einem Mainboard

Auch hier ist das vertraute Universaldesign gut zu erkennen. Ein Leitungspaar für jede Übertragungsrichtung mit Abschirmung. Für eine gute Erdung und Abschirmung sind beim SATA-Stecker drei Masseleitungen vorgesehen. Auf dem Platinenbild kann man die Leitungen leider nicht bis zur Lötstelle verfolgen, da sie auf der Oberseite der Platine noch jeweils über ein Kondensatorenpaar geführt sind. Die Kondensatoren sind dann wieder ein Unterschied zu PCIe. Sie sorgen dafür, dass wirklich nur die hohen Frequenzen der Datenimpulse und keine Störspannungen wie Brummen oder Gleichspannung übertragen werden, wie das beispielsweise bei eSATA vorkommen kann.

Und weiter?

Die Technik der seriellen Links ist zwar sehr komplex, aber die genau definierten Übertragungswege bieten aufgrund ihrer Herkunft aus der Hochfrequenztechnik noch Reserven für eine saubere Übertragung bei höheren Frequenzen. Macht die Elektronik Fortschritte, kann man einfach mit dem Takt die Datenrate anheben. Genau dies wurde beim Umstieg von PCIe auf PCIe2, von SATA auf SATA2 und beim Hypertransport des Phenom-Prozessors bereits praktiziert. Grob geschätzt sollten noch zwei oder drei Takterhöhungen möglich sein, ehe die Technik grundlegend überarbeitet werden muss. Oder vielleicht sehen wir irgendwann SATA4-2x-Verbindungen?

Die seriellen Links haben sich also erfolgreich in der gesamten PC-Technik ausgebreitet und ihre Vorgänger praktisch verdrängt. In der gesamten Technik? Nein, eine letzte kleine Bastion auf den Platinen hält stand, und hat bisherige Eroberungsversuche erfolgreich abgewehrt. Die Rede ist hier vom Speicherbus der CPUs und Grafikchips. Die Rambus-Technik ist gefloppt, und Intels Versuch, im Serverbereich FB-DIMMs zu etablieren, wird auch nicht besonders begeistert aufgenommen. Der Grund ist die höhere Latenz serieller Links. Das ganze Puffern, Codieren, Serialisieren, Decodieren, nochmal Puffern und Zusammensetzen der Datenströme kostet zu viel Zeit. So viel Zeit, dass der Bau einer PCIe-Soundkarte lange Zeit nicht möglich war. Die aktuell erscheinenden PCIe-Soundkarten von Creative haben alle einen kleinen Pufferspeicher auf der Platine, um nicht ins Stottern zu geraten.

Aber auf lange Sicht wird auch der parallele Speicherbus zumindest bei den CPUs verschwinden. Je größer die Caches werden, und je ausgetüftelter die Cache-Strategien, umso weniger werden die Latenzen eines seriellen Links ins Gewicht fallen und die Vorteile wie einfaches Routing der Leitungen auf den Platinen und die Reduzierung der benötigten Anschlüsse überwiegen.

Es gibt übrigens einen Sonderfall, und zwar ist das der am weitesten verbreitete serielle Bus. Bus ist hier kein Schreibfehler, sondern tatsächlich absichtlich verwendet. Und zwar ist das der USB. Es gibt hier nur ein Datenleitungspaar, an dem auf jeder Seite ein Sender und Empfänger sitzt. Der USB ist also ein Zwitter aus Bus und seriellem Link. Der Nachteil ist, dass die Elektronik ständig zwischen Senden und Empfangen umschalten muss, was die nutzbare Übertragungskapazität leider deutlich reduziert. Aus diesem Grund wird die nächste USB-Version, USB 3.0, auch die bewährte Dual-Link Technik übernehmen. Die Übertragung der Daten im Stecker erfolgt dabei zuerst elektrisch, später soll es auch eine Variante mit optischer Datenleitung geben.