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

133

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?

bescheiden
quelle
Vielleicht ist es, aber wenn ja, howcome Ich sehe all diese intel.com/content/www/us/en/chipsets/performance-chipsets/... es mehrere Fahrspuren für PCIe sagt, und ich sah FDI auf wikipedia und gesagt " 2 unabhängige 4-Bit-Festfrequenzverbindungen / Kanäle / Pipes "und DMI-Gespräche über 4 Verbindungen. (fügte hinzu - Scotts Antwort könnte das teilweise abdecken)
Barlop
2
Alles läuft auf den Takt hinaus.
Daniel R Hicks
36
In den vorhandenen drei Antworten wird die Wirtschaftlichkeit, dh die Kosten, nicht erwähnt . Es ist einfach billiger, eine sehr schnelle serielle Schnittstelle als eine sehr schnelle parallele Schnittstelle herzustellen. Bei Übertragungsleitungen ist ein serielles Kabel mit nur wenigen Drähten billiger als ein Parallelkabel, dessen Abschirmung schwierig und teuer ist.
Sägemehl
13
In den Tagen der DB25- und DB9- Verbindungen hatten Sie das Glück, 115 kbit / s seriell durchzuschieben, während Sie parallel 12 Mbit / s mit acht parallelen Datenpins erhielten.
CVn

Antworten:

145

Sie können es nicht so formulieren.

Die serielle Übertragung ist bei gleicher Signalfrequenz langsamer als die parallele Übertragung . Bei einer parallelen Übertragung können Sie ein Wort pro Zyklus übertragen (z. B. 1 Byte = 8 Bit), 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 nicht die Signalfrequenz für eine parallele Übertragung ohne Limit erhöhen, da durch Design, alle Signale vom Sender müssen beim Empfänger an ankommen gleichzeitig . 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 (aus diesem Beitrag ) ist, dass man das Ü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 mit 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 hatten wie Stifte. Jeder zweite Draht wurde geerdet, um das Übersprechen zu verringern.

mpy
quelle
9
Der Empfänger muss nicht darauf warten, dass alle Leitungen gleichzeitig eingerichtet werden - die schnelle parallele Übertragung umfasst heutzutage das Messen und anschließende Kompensieren der Ankunftsverzögerung auf jeder Leitung separat . Dies gilt sogar für kurze On-Board-Verbindungen wie CPU <-> DRAM! Dies wurde möglich, indem einige serielle Techniken wie eingebettete Uhren (z. B. 8b / 10b-Codierung) und / oder Trainingssequenzen übernommen wurden.
Beni Cherniavsky-Paskin
Ihre Ausarbeitung widerspricht Ihrer Aussage. Sie geben an, dass die Seriennummer langsamer ist, und erklären, warum sie schneller ist. Ich denke, dass es die Quelle der Verwirrung ist und frage mich, wie es antworten kann.
Val
11
@Val Du liest nicht die ganze Antwort. Ein Bus bewegt mehr Menschen als ein Auto, wenn sie mit der gleichen Geschwindigkeit fahren. Aufgrund der Funktionsweise der Physik können diese Autos jedoch viel schneller fahren als ein Bus. Gleiches gilt für Datenverbindungen: Parallelkabel übertragen mit der gleichen Geschwindigkeit mehr Daten als serielle Kabel. Wir können jedoch ein serielles Kabel weitaus schneller betreiben als ein paralleles Kabel. Wenn wir versuchen, das Parallelkabel zu beschleunigen, führt die Physik dazu, dass die Daten zu Müll werden.
Darth Android
1
Tatsächlich sehe ich verkehrt herum. Es ist der (öffentliche) Personenverkehr, der einen höheren Durchsatz aufweist, da Sie das Automobil nicht mit jedem transportieren, obwohl die Menschen es vorziehen, sich einzeln in parallelen Automobilen zu bewegen, und daher eine umfangreiche Vorortinfrastruktur entwickeln, anstatt die Menschen in kompakte 3D-Städte zu packen. Ich sehe den Ausbruch von seriellen Bits als einen Zug. Das Senden eines Pakets ist in etwa teuer, es spielt jedoch keine Rolle, wie viele Daten Sie pro Paket senden. Es ist daher 1000-mal billiger, einen Zug mit 1000 Bits anstelle von 1000 parallelen Wagen zu senden.
Val
1
@Val So funktioniert Transport ja, aber so funktioniert Elektromagnetismusphysik nicht und passt nicht als Analogie. Effizienz ist hier kein Thema, nur Geschwindigkeit und Durchsatz. Obwohl eine parallele Verbindung mehr Daten pro Taktzyklus bewegen kann, kann eine serielle Verbindung weniger Daten pro Taktzyklus bewegen, hat jedoch so viel mehr Taktzyklen im selben Zeitrahmen, dass sie immer noch einen höheren Durchsatz aufweist.
Darth Android
70

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.

Wenn Sie die Seriennummer einsenden, brauchen Sie sich nicht mehr um die Stabilisierung aller Leitungen zu 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.

Scott Chamberlain
quelle
1
@barlop Sie können in Ethernet parallel arbeiten, aber es ist im Consumer-Bereich nicht sehr verbreitet. Der Begriff dafür lautet Channel Bonding . --Korrektur : Bei Verbrauchern ist es üblich geworden, die Funkfrequenz zu verbinden. Auf diese Weise kann 802.11n Raten von bis zu 600 Mbit / s erreichen . Dabei werden bis zu 4 serielle Streams gleichzeitig verwendet.
Scott Chamberlain
1
@barlop Ich habe Ihnen den falschen Begriff gegeben, Channel Bonding ist der allgemeinere Begriff, speziell für Ethernet heißt der richtige Begriff für das, wonach Sie fragen, Link Aggregation .
Scott Chamberlain
2
Rich Seifert schrieb: "Tatsächlich nennen viele Leute IEEE 802.11" Wireless Ethernet ". Dies widerspricht zwar jedem technologischen Argument (es wird nicht einmal das gleiche Frame-Format wie IEEE 802.3 verwendet), aber ich kann damit leben, wenn ich spreche für Menschen, für die der technologische Unterschied unwichtig ist . " <- seine Worte. Ich habe vor einigen Jahren gelesen, dass er den Lehrstuhl für 802.3x und den Lehrstuhl für Ethernet II (das ist anscheinend DIX-Ethernet, 10 Mbit / s Ethernet) innehat und "ein aktiver Teilnehmer der IEEE 802.3z Gigabit Ethernet Task Force" ist. Es ist also eine ziemliche Autorität zu sagen, dass 802.11 kein Ethernet ist.
Barlop
1
1000BASE-T-Ethernet (802.3ab, "Gigabit-Ethernet") verwendet 4 Drahtpaare parallel.
MSalters
4
Die Wirtschaftlichkeit von Ethernet unterscheidet sich von Bussen wie SATA - Kabel sind sehr lang und teuer zu ersetzen, sodass Sie sich am Ende auf die Aufrüstung der Elektronik konzentrieren müssen. Frühe Ethernet-Versionen verwendeten 1 Adernpaar, waren jedoch für 4 Adernpaare standardisiert und erwarteten eine zukünftige Verwendung (zu dieser Zeit war Parallelität der offensichtliche Ansatz für eine schnellere Übertragung). Dies stellte sich aufgrund von Übersprechen als schwierig heraus, aber da die Kabel bereits vorhanden sind, war es eine Schande, sie nicht zu verwenden. Schließlich wurde es möglich, eine Übersprech-Unterdrückung mit sehr komplizierter DSP-Verarbeitung durchzuführen -> D2A-> ... Kabel ... -> A2D-> DSP-Verarbeitung.
Beni Cherniavsky-Paskin
19

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 einzelne 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 "Übersprechen": Wenn der Signalstrom startet oder stoppt, induziert er vorübergehend 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.

Wenn Sie jedoch nur eine Signalleitung verwenden, können Sie diese beliebig schnell umschalten, so schnell es Ihre Hardware zulässt. Es behebt auch subtile Synchronisationsprobleme, 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.

tylerl
quelle
Der FSB ist seit der Intel Core 2-Ära kein Teil der Mainstream-CPU-Designs mehr. AMD hat ihn einige Jahre zuvor mit dem AMD64-Design zurückgelassen. Stattdessen haben beide den Speichercontroller auf die CPU selbst verschoben und alles andere mit schnellen / schmalen Bussen an die CPU angeschlossen, anstatt das (relativ) breite / langsame Design eines FSB.
Dan Neely
Nebensprechreduzierungstechniken sind seit Jahrzehnten bekannt, aber wie in den Kommentaren zu den Fragen erwähnt, die zusätzliche Kosten verursachen, und einige von ihnen verschlimmern das Synchronisationsproblem (verdrillte Paare mit unterschiedlichen Verdrillungsverhältnissen weisen geringfügige Impedanzschwankungen auf, was bedeutet, dass sie geringfügig sind Schwankungen der Übertragungsgeschwindigkeiten und ...).
dmckee
13

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 zahlreiche parallele Leiterbahnen zu routen.

Es gibt jedoch viele Beispiele in Ihrem Computer, bei 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 stark die Parallelität, um die Daten einzuspeisen, die über 320 Leitungen in den DAC gelangen und durch zwei Multiplexstufen auf 10 reduziert werden angetrieben von verschiedenen Abteilungen des Masters 12 GHz Uhr. Wenn der schnellste 10-Bit-DAC der Welt über eine einzige serielle Eingangsleitung hergestellt werden könnte, wäre dies wahrscheinlich der Fall.

Kaz
quelle
1
+1 für die Erwähnung von 50-poligen Flachbandkabeln. Eine der Beweggründe für die Entscheidung für SAS / SATA-Kabel war, dass die breiten Kabel den Luftstrom in der Box beeinträchtigten.
JQA
11

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 auf dem Weg abgestimmte Impedanzen (besonders schwierig für Steckverbinder) und bevorzugen Punkt-zu-Punkt-Kabel gegenüber Mehrpunkt-Bussen. Deshalb brauchte SCSI eine Terminierung, und deshalb braucht 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, dass paketierte Protokolle wie PCIe eine Reaktion auf diese Komplexität waren).

    Ein weiterer Effekt ist eine Mehrzyklusstrafe für das Umschalten der Signalflussrichtung. Aus diesem Grund haben Firewire, SATA und PCIe, die dedizierte Kabel pro Richtung verwenden, die Leistung von USB 2.0 übertroffen.

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

    Ich denke, dies ist der Grund für den Eindruck, dass "Seriell ist schneller als Parallel" - der Sprung war so groß, 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 Gleichstromdrift, steuert das Spektrum) und ermöglicht vor allem, die Taktleitung (en) insgesamt fallen zu lassen (was keine große Sache über 40 ist) Für ein serielles Kabel ist es jedoch ein großes Problem, 1 oder 2 Paare anstelle von 2 oder 3 zu haben.

Beachten Sie, dass wir sind Parallelität am Engpass zu werfen - der heutigen BGA - Chips haben Hunderte oder Tausende von Stiften, haben PCBs mehr und mehr Schichten. Vergleichen Sie dies mit alten 40-poligen Mikrocontrollern und 2-Lagen-Leiterplatten ...

Die meisten der oben genannten Techniken wurden sowohl für die parallele als auch für die serielle Übertragung unverzichtbar . Es ist nur so, dass es umso attraktiver wird, je länger die Drähte sind, um höhere Raten durch weniger Drähte zu drücken.

Beni Cherniavsky-Paskin
quelle