it-swarm.com.de

Warum ist die serielle Datenübertragung schneller als die parallele?

Intuitiv würde man meinen, dass die parallele Datenübertragung schneller sein sollte als die serielle Datenübertragung. parallel übertragen Sie viele Bits gleichzeitig, während Sie seriell jeweils ein Bit gleichzeitig übertragen.

Was macht SATA-Schnittstellen schneller als PATA, PCI-e-Geräte schneller als PCI und serielle Ports schneller als parallel?

131
modest

Sie können es nicht so formulieren.

Die serielle Übertragung ist langsamer als die parallele Übertragung bei der gleichen Signalfrequenz. Bei einer parallelen Übertragung können Sie ein Wort pro Zyklus übertragen (z. B. 1 Byte = 8 Bits), bei einer seriellen Übertragung jedoch nur einen Bruchteil davon (z. B. 1 Bit).

Der Grund, warum moderne Geräte serielle Übertragung verwenden, ist der folgende:

  • Sie können die Signalfrequenz für eine parallele Übertragung nicht unbegrenzt erhöhen, da standardmäßig alle Signale vom Sender um zur gleichen Zeit beim Empfänger ankommen müssen. Dies kann für hohe Frequenzen nicht garantiert werden, da Sie nicht garantieren können, dass die Signallaufzeit für alle Signalleitungen gleich ist (denken Sie an unterschiedliche Pfade auf dem Mainboard). Je höher die Frequenz, desto mehr Unterschiede spielen eine Rolle. Daher muss der Empfänger warten, bis alle Signalleitungen eingerichtet sind - offensichtlich verringert das Warten die Übertragungsrate.

  • Ein weiterer guter Punkt (von dieser Post ) ist, dass man Übersprechen mit parallelen Signalleitungen berücksichtigen muss. Je höher die Frequenz, desto ausgeprägter das Übersprechen und damit die Wahrscheinlichkeit eines fehlerhaften Wortes und die Notwendigkeit, es erneut zu übertragen.1

Selbst wenn Sie bei einer seriellen Übertragung weniger Daten pro Zyklus übertragen, können Sie zu viel höheren Frequenzen wechseln, was zu einer höheren Nettoübertragungsrate führt.


1 Dies erklärt auch, warum UDMA-Kabel (Parallel ATA mit erhöhter Übertragungsgeschwindigkeit) doppelt so viele Drähte wie Stifte hatten. Jeder zweite Draht wurde geerdet, um das Übersprechen zu verringern.

142
mpy

Das Problem ist die Synchronisation.

Wenn Sie parallel senden, müssen Sie alle Linien genau im selben Moment messen, da die Größe des Fensters mit zunehmender Geschwindigkeit immer kleiner wird. Schließlich kann es so klein werden, dass sich einige Drähte noch stabilisieren während andere fertig sind, bevor dir die Zeit ausgeht.

Durch das Senden der Seriennummer müssen Sie sich nicht mehr um die Stabilisierung aller Leitungen kümmern, sondern nur noch um eine Leitung. Und es ist kostengünstiger, eine Linie 10-mal schneller stabilisieren zu lassen, als 10 Linien mit derselben Geschwindigkeit hinzuzufügen.

Einige Dinge wie PCI Express machen das Beste aus beiden Welten, sie machen einen parallelen Satz serieller Verbindungen (der 16x-Port auf Ihrem Motherboard hat 16 serielle Verbindungen). Auf diese Weise muss nicht jede Leitung perfekt mit den anderen Leitungen synchronisiert sein, solange der Controller am anderen Ende die "Datenpakete" neu ordnen kann, sobald sie in der richtigen Reihenfolge eingehen.

Auf der Seite Funktionsweise von PCI-Express wird ausführlich erläutert, wie PCI Express in Serie schneller als PCI oder PCI-X parallel sein kann.


TL; DR Version: Es ist einfacher, eine einzelne Verbindung 16-mal schneller als 8 Verbindungen 2-mal schneller zu machen, sobald Sie zu sehr hohen Frequenzen gelangen.

69

Parallel ist nicht von Natur aus langsamer, aber es bringt Herausforderungen mit sich, die bei serieller Kommunikation nicht auftreten.

Viele der schnellsten Verbindungen sind jedoch immer noch parallel: Der Front-Side-Bus in Ihrem Computer ist in der Regel sehr parallel und gehört normalerweise zu den schnellsten Verbindungen in einem Computer. Glasfaserverbindungen können auch hochparallel sein, indem mehrere Wellenlängen über eine einzige Faser übertragen werden. Dies ist jedoch teuer und daher nicht typisch. Die gebräuchlichste Form von Gigabit-Ethernet sind eigentlich 4 parallele Kanäle von 250-Mbit-Ethernet in einem einzigen Draht.

Die größte Herausforderung, die durch Parallelität verursacht wird, ist das "Übersprechen": Wenn der Signalstrom startet oder stoppt, induziert er kurzzeitig einen kleinen Strom auf den Drähten daneben. Je schneller das Signal ist, desto häufiger tritt dies auf und desto schwieriger ist es herauszufiltern. Parallel IDE hat versucht, dieses Problem zu minimieren, indem die Anzahl der Drähte im Flachbandkabel verdoppelt und alle anderen Drähte mit Masse verbunden wurden. Aber diese Lösung bringt Sie nur so weit. Lange Kabel, Faltungen und Schleifen sowie die Nähe zu anderen Flachbandkabeln machen dies zu einer unzuverlässigen Lösung für sehr schnelle Signale.

Aber wenn Sie nur mit einer Signalleitung arbeiten, können Sie diese so schnell umschalten, wie es Ihre Hardware zulässt. Außerdem werden subtile Synchronisationsprobleme behoben, bei denen einige Signale schneller als andere übertragen werden.

Zwei Drähte sind theoretisch immer doppelt so schnell wie einer, aber jede hinzugefügte Signalleitung verkompliziert die Physik, was besser zu vermeiden ist.

18
tylerl

Die serielle Datenübertragung ist nicht schneller als parallel. Es ist praktischer, und so wurde die schnelle externe serielle Schnittstelle zwischen den Geräteeinheiten entwickelt. Niemand möchte sich mit Flachbandkabeln befassen, die 50 oder mehr Leiter haben.

Zwischen Chips auf einer Leiterplatte ist ein serielles Protokoll wie I2C, das nur zwei Drähte benötigt, viel einfacher zu handhaben als das Routen zahlreicher paralleler Leiterbahnen.

Es gibt jedoch viele Beispiele in Ihrem Computer, in denen Parallelität verwendet wird, um die Bandbreite massiv zu erhöhen. Beispielsweise werden Wörter nicht bitweise aus dem Speicher gelesen. Tatsächlich werden Caches in großen Blöcken aufgefüllt. Ein weiteres Beispiel sind Rasteranzeigen: Paralleler Zugriff auf mehrere Speicherbänke, um die Pixel parallel schneller zu machen. Die Speicherbandbreite hängt entscheidend von der Parallelität ab.

Dieses DAC-Gerät das von Tektronix als "schnellster kommerziell erhältlicher 10-Bit-Hochgeschwindigkeits-DAC der Welt" angepriesen wird, nutzt die Parallelität, um die Daten, die über 320 Leitungen in den DAC gelangen, auf 10 bis 10 zu reduzieren zwei Stufen des Multiplexens werden durch unterschiedliche Divisionen des Master-12-GHz-Takts angesteuert. Wenn der schnellste 10-Bit-DAC der Welt über eine einzige serielle Eingangsleitung hergestellt werden könnte, wäre dies wahrscheinlich der Fall.

12
Kaz

Parallel war der offensichtliche Weg, um die Geschwindigkeit zu erhöhen, wenn Logikgatter langsam genug waren, dass Sie ähnliche elektrische Techniken für Busse/Kabel und On-Chip-Übertragung verwenden konnten. Wenn Sie den Draht bereits so schnell umschalten, wie es Ihr Transistor zulässt, können Sie nur mit mehr Drähten skalieren.

Mit der Zeit überwand Moores Gesetz die elektromagnetischen Beschränkungen, so dass die Übertragung über Kabel oder sogar über Busse zu einem Engpass im Vergleich zu den Geschwindigkeiten auf dem Chip wurde. OTOH, die Geschwindigkeitsdisparität ermöglicht eine ausgeklügelte Verarbeitung an den Enden, um den Kanal effektiver zu nutzen.

  • Sobald sich die Übertragungsverzögerung der Größenordnung einiger Uhren nähert, machen Sie sich Sorgen über analoge Effekte wie Reflexionen => Sie benötigen abgestimmte Impedanzen auf dem Weg (besonders schwierig für Steckverbinder) und bevorzugen Punkt-zu-Punkt-Kabel gegenüber Mehrpunkt-Bussen. Aus diesem Grund musste SCSI terminiert werden, und aus diesem Grund benötigt USB Hubs anstelle einfacher Splitter.

  • Bei höheren Geschwindigkeiten sind zu einem bestimmten Zeitpunkt mehrere Bits auf der Leitung im Flug => Sie müssen Pipeline-Protokolle verwenden (weshalb die FSB -Protokolle von Intel furchtbar kompliziert wurden; ich denke, paketierte Protokolle wie PCIe waren eine Reaktion zu dieser Komplexität).

    Ein weiterer Effekt ist eine Mehrzyklusstrafe für das Umschalten der Signalflussrichtung. Deshalb übertrafen Firewire, SATA und PCIe, die dedizierte Kabel pro Richtung verwenden, USB 2.0.

  • Induziertes Rauschen, auch bekannt als Übersprechen, nimmt mit der Frequenz zu. Der größte Geschwindigkeitszuwachs resultierte aus der Einführung der differentiellen Signalübertragung, die das Übersprechen drastisch reduzierte (mathematisch gesehen sinkt das Feld einer unsymmetrischen Ladung als R ^ 2, das Feld eines Dipols jedoch als R ^ 3).

    Ich denke, dies hat dazu geführt, dass der Eindruck "Seriell ist schneller als parallel" - der Sprung so groß war, dass Sie auf 1 oder 2 differentielle Paare heruntergehen und immer noch schneller als LPT- oder IDE -Kabel sind . Es gab auch einen Übersprechgewinn, weil nur ein Signalpaar im Kabel war, aber das ist geringfügig.

  • Die Verzögerung der Drahtübertragung ist unterschiedlich (sowohl weil die Drahtlängen bei 90 ° -Windungen, Steckverbindern usw. nur schwer angepasst werden können als auch aufgrund von parasitären Effekten durch andere Leiter), was die Synchronisation zu einem Problem machte.

    Die Lösung bestand darin, an jedem Empfänger einstellbare Verzögerungen zu haben und diese beim Start und/oder kontinuierlich anhand der Daten selbst einzustellen. Das Codieren der Daten, um Streifen von Nullen oder Einsen zu vermeiden, verursacht einen geringen Overhead, hat jedoch elektrische Vorteile (vermeidet DC -Drift, steuert das Spektrum) und ermöglicht vor allem, die Taktleitung (en) insgesamt fallen zu lassen (was keine ist) große Sache über 40 Signale hinaus, aber es ist eine große Sache, dass ein serielles Kabel 1 oder 2 Paare anstelle von 2 oder 3 hat.

Beachten Sie, dass wir sind Parallelität auf den Engpass werfen - heutige BGA-Chips haben Hunderte oder Tausende von Pins, PCBs haben immer mehr Schichten. Vergleichen Sie dies mit alten 40-Pin-Mikrocontrollern und 2-Lagen-Leiterplatten ...

Die meisten der oben genannten Techniken wurden für die sowohl parallele als auch serielle Übertragung unverzichtbar. Je länger die Drähte, desto attraktiver wird es, höhere Raten durch weniger Drähte zu drücken.