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?
data-transfer
bescheiden
quelle
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle