Bei der Betrachtung von SATA, PCIe, USB und SD UHS-II fiel mir auf, dass sie alle gleich sind: digitaler serieller Bitstrom, der über differentielle Paare (normalerweise 8b / 10b-codiert) übertragen wird, mit einigen Unterschieden in den Verbindungs- / Protokollschichten.
Warum so? Warum wurde dies zum Standard?
Warum gibt es keine weit verbreiteten Systemkommunikationsprotokolle, die einige fortgeschrittene Modulationsmethoden für eine bessere Symbolrate einsetzen? Vermisse ich etwas? Dies ist keine Frage von "seriell vs parallel", sondern eine Frage von "digital signaling vs modulated analog"
digital-communications
computer-architecture
artemonster
quelle
quelle
Antworten:
Wenn die grundlegende Kupferverbindung zwischen zwei Punkten eine digitale Bitrate unterstützt, die über der von der "Anwendung" zu übertragenden Datenrate liegt, warum sollten Sie sich dann mit etwas anderem als der standardmäßigen differentiellen Hochgeschwindigkeitssignalisierung befassen?
Das Verwenden eines erweiterten Modulationsschemas wird normalerweise durchgeführt, wenn der "Kanal" eine Bandbreite hat, die viel begrenzter ist als Kupfer oder Glasfaser.
quelle
Es gibt zwei Hauptgründe für den Aufstieg der Serienproduktion
1) Es ist möglich. Kostengünstige Transistoren sind seit einem Jahrzehnt in der Lage, GHz-Schaltvorgänge durchzuführen, und das lange genug, um verwendet werden und zum Standard werden zu können.
2) Es ist notwendig. Wenn Sie Daten mit sehr hoher Geschwindigkeit um mehr als ein paar Zoll verschieben möchten. Diese Entfernung schließt Verbindungen von Mobo zu PCI-Karten aus und definitiv Mobo zur Festplatte oder Mobo / Settopbox, um Verbindungen anzuzeigen.
Der Grund dafür ist schief. Wenn Sie mehrere parallele Signale über ein Kabel übertragen, müssen diese innerhalb eines Bruchteils derselben Taktperiode eintreffen. Dies hält die Taktrate niedrig, so dass die Kabelbreite zunehmen muss. Mit steigenden Datenraten wird dies immer unübersichtlicher. Die Aussicht auf eine Erhöhung der Rate in der Zukunft ist nicht existent, doppelt oder vierfach breite ATA jemand?
Der Weg, den Skew-Dämon zu töten, ist seriell zu gehen. Eine Zeile ist immer mit sich selbst synchronisiert, es gibt nichts, womit sie verzerrt werden könnte. Die Leitung führt Daten, die selbst getaktet sind. Das heißt, es wird ein Datencodierungsschema verwendet (häufig 8b / 10b, manchmal viel höher), das eine garantierte Mindestübergangsdichte liefert, die eine Taktextraktion ermöglicht.
Die Aussichten für eine Erhöhung der Datenrate oder der Entfernung in die Zukunft sind ausgezeichnet. Jede Generation bringt schnellere Transistoren und mehr Erfahrung in der Herstellung des Mediums. Wir haben gesehen, wie sich das mit SATA abgespielt hat, das bei 1,5 Gbit / s begann, dann 3 durchlief und jetzt 6 Gbit / s ist. Sogar billige Kabel können eine ausreichend konstante Impedanz und einen angemessenen Verlust liefern, und in das Schnittstellen-Silizium sind Entzerrer eingebaut, um frequenzabhängige Verluste zu bewältigen. Optische Fasern sind für sehr lange Auflagen verfügbar.
Für höhere Datenraten können mehrere serielle Verbindungen parallel betrieben werden. Dies ist nicht dasselbe wie das Parallelschalten von Leitern, die zeitlich auf weniger als einen Taktzyklus abgestimmt werden müssen. Diese seriellen Spuren müssen nur innerhalb eines Datenrahmens auf hoher Ebene abgeglichen werden, der µs oder sogar ms lang sein kann.
Natürlich betrifft der Vorteil der Datenbreite nicht nur die Kabel und Stecker. Seriell profitiert auch der Leiterplattenbereich zwischen Steckverbindern und Chip, der Chip-Pinbelegung und dem Chip-Siliziumbereich.
Ich habe einen persönlichen Standpunkt dazu. Als Designer von Software Defined Radio (SDR) ab den 90er Jahren habe ich Leute wie Analog Devices und Xilinx (und alle anderen ADC- und FPGA-Unternehmen) angeschimpft (sie haben uns von Zeit zu Zeit besucht und danach gefragt) Ich musste so viele parallele differentielle Verbindungen zwischen Multi-100-MHz-ADCs und FPGAs herstellen, als wir gerade begannen, SATA zu sehen, das ATA verdrängt. Endlich haben wir JESD204x, so dass wir jetzt Konverter und FPGAs mit nur wenigen seriellen Leitungen anschließen können.
quelle
Nb/(N+2)b
Nomenklatur wird hier verwendet?Wenn Sie ein Beispiel für etwas suchen, das häufig verwendet wird, aber anders ist, schauen Sie sich 1000BASE-T-Gigabit-Ethernet an. Das nutzt parallele Kabel und nicht-triviale Signalcodierung.
Die meisten Leute benutzen serielle Busse, weil sie einfach sind. Parallele Busse verwenden mehr Kabel und leiden unter Signalversatz bei hohen Datenraten über lange Kabel.
quelle
So ergänzen Sie die anderen guten Antworten:
Die in anderen Antworten genannten Probleme (vor allem der Versatz zwischen parallelen Signalen und die Kosten für zusätzliche Drähte im Kabel) nehmen mit zunehmender Entfernung der Signale zu. Daher gibt es eine Entfernung, bei der seriell der parallel überlegen ist, und diese Entfernung hat sich verringert, wenn die Datenraten angestiegen sind.
Die parallele Datenübertragung findet immer noch statt: innerhalb von Chips und auch bei den meisten Signalen innerhalb von Leiterplatten. Die Entfernungen, die von externen Peripheriegeräten - und sogar von internen Laufwerken - benötigt werden, sind jetzt zu weit und zu schnell, als dass parallele Schnittstellen sinnvoll wären. Somit sind die Signale, denen ein Endbenutzer nun ausgesetzt sein wird, größtenteils seriell.
quelle
Für fortgeschrittene Modulationstechniken müssten Sie analoge Signale senden und empfangen. ADCs und DACs mit Hunderten von MHz sind in der Regel teuer und verbrauchen viel Strom. Die zum Decodieren erforderliche Signalverarbeitung ist auch in Bezug auf Silizium und Leistung kostspielig.
Es ist einfach billiger, ein besseres Kommunikationsmedium zu entwickeln, das Binärsignale unterstützt.
quelle
Die Verwendung serieller Verbindungen hat den Vorteil, dass die physische Größe der Verbindung verringert wird. Moderne integrierte Schaltkreisarchitekturen weisen so viele Anschlüsse auf, dass dies ein starkes Bedürfnis nach Minimierung der physischen Verbindungsanforderungen an ihren Entwurf hervorrief. Dies führte zur Entwicklung von Schaltungen, die an den Schnittstellen dieser Schaltungen unter Verwendung serieller Protokolle mit extremer Geschwindigkeit arbeiten. Aus dem gleichen Grund ist es natürlich, die physischen Verbindungsanforderungen an anderer Stelle in jeder anderen Datenverbindung zu minimieren.
Die ursprüngliche Nachfrage nach dieser Art von Technologie könnte auch auf Glasfaser-Datenübertragungsdesigns zurückzuführen sein.
Als die Technologie zur Unterstützung von Hochgeschwindigkeitsverbindungen sehr verbreitet war, war es nur natürlich, sie an vielen anderen Orten anzuwenden, da die physische Größe von seriellen Verbindungen so viel kleiner ist als Parallelverbindungen.
Auf der Codierungsebene können Codierungsschemata für die digitale Kommunikation so einfach wie NRZ (Non-Return to Zero) , ein etwas komplizierterer Leitungscode (z. B. 8B / 10B) oder viel komplizierter wie QAM (Quadrature Amplitude Modulation) sein .
Komplexität erhöht die Kosten, aber die Auswahl hängt auch von Faktoren ab, die letztendlich von der Informationstheorie und den Kapazitätsgrenzen einer Verbindung abhängen. Das Shannon'sche Gesetz aus dem Shannon-Hartley-Theorem beschreibt die maximale Kapazität eines Kanals (man stelle sich das als "die Verbindung" oder "Verbindung" vor):
Für Funkverbindungen (etwa LTE oder WiFi) wird die Bandbreite häufig durch gesetzliche Bestimmungen begrenzt. In diesen Fällen können QAM und ähnlich komplexe Protokolle verwendet werden, um die höchstmögliche Datenrate zu erzielen. In diesen Fällen ist das Signal-Rausch-Verhältnis häufig ziemlich niedrig (10 bis 100 oder in Dezibel 10 bis 20 dB). Es kann nur so hoch werden, bevor eine Obergrenze unter der gegebenen Bandbreite und dem gegebenen Signal-Rausch-Verhältnis erreicht ist.
Für eine Drahtverbindung wird die Bandbreite durch nichts anderes als die Praktikabilität der Implementierung reguliert. Drahtverbindungen können ein sehr hohes Signal-Rausch-Verhältnis von mehr als 1000 (30 dB) aufweisen. Wie in anderen Antworten erwähnt, ist die Bandbreite durch den Aufbau der Transistoren, die die Leitung ansteuern und das Signal empfangen, und durch den Aufbau der Leitung selbst (einer Übertragungsleitung) begrenzt.
Wenn Bandbreite zu einem begrenzenden Faktor wird, das Signal-Rausch-Verhältnis jedoch nicht, sucht der Entwickler nach anderen Möglichkeiten, um die Datenrate zu erhöhen. Es wird eine wirtschaftliche Entscheidung, ob Sie sich für ein komplexeres Codierungsschema oder für mehr Kabel entscheiden:
Sie werden in der Tat serielle / parallele Protokolle sehen, die verwendet werden, wenn ein einzelner Draht noch zu langsam ist. PCI-Express überwindet auf diese Weise die Bandbreitenbeschränkungen der Hardware, indem mehrere Lanes verwendet werden.
Bei Glasfaserübertragungen müssen sie keine weiteren Fasern hinzufügen (obwohl sie möglicherweise andere verwenden, wenn sie bereits vorhanden sind und nicht verwendet werden). Sie können das Wellenmultiplexen verwenden . Im Allgemeinen wird dies durchgeführt, um mehrere unabhängige parallele Kanäle bereitzustellen, und das in anderen Antworten erwähnte Versatzproblem betrifft unabhängige Kanäle nicht.
quelle
Nehmen Sie vier Lastwagen mit Nutzlast. Vierspurige Autobahn pro Seite. Damit die Lastwagen die Nutzlast erfolgreich parallel transportieren können, müssen sie perfekt nebeneinander liegen. Einer darf nicht mehr als einen Zentimeter vor oder hinter den anderen sein. Hügel, Kurven, spielt keine Rolle. Variieren Sie zu viel und es ist ein Totalausfall.
Aber lassen Sie sie eine Spur nehmen, und der Abstand zwischen ihnen kann variieren. Zwar dauert es linear mehr als das Vierfache des Abstandes zwischen der Vorderseite des ersten und der Rückseite des letzten Lastwagens, um die Nutzlasten zu bewegen, sie müssen jedoch nicht perfekt voneinander beabstandet sein. Nur innerhalb der Länge eines Lastwagens müssen die Kabine und die Nutzlast sowie die Nutzlastlänge richtig positioniert und beabstandet sein.
Sie gehen sogar so weit, parallel, pcie, Netzwerk usw. zu sein, aber während dies technisch gesehen mehrere separate Datenpfade sind, sind sie nicht parallel, da sie die vier Lastwagen analog verlassen und gleichzeitig ankommen müssen können auf vier Fahrspuren ungefähr parallel fahren, können aber variieren, die Lastwagen sind durch die Spur gekennzeichnet, auf der sie angekommen sind, so dass die Nutzlasten am anderen Ende wieder zu dem ursprünglichen Datensatz zusammengefasst werden können. Und / oder jede Spur kann ein Datensatz sein, und wenn Sie mehrere Spuren haben, können Sie mehrere Datensätze gleichzeitig verschieben.
quelle
Als Ergänzung zu Dmitry Grigoryevs Kommentar.
Die analoge Übertragung ist immer fehleranfälliger als die digitale Übertragung. Eine digitale serielle Übertragung hat zum Beispiel getaktete Flanken, bei denen ein analoges Signal irgendwie zwischen 0V und VDD schwebt. Interferenzen sind also viel schwerer zu erkennen. Man könnte das berücksichtigen und differentielle Signalisierung verwenden, wie es in Audio gemacht wird.
Aber dann stößt man auf diesen Geschwindigkeits- / Genauigkeits-Kompromiss zwischen DACs / ADCs. Wenn Sie digitale Systeme miteinander kommunizieren müssen, ist es sinnvoller, eine digitale Übertragung zu verwenden, da Sie keine zeitaufwändige DA-AD-Übersetzung benötigen.
Wenn jedoch ein analoger Computer mit analogen Steuerspannungen betrieben wird, gibt es noch einige, die im Grunde genommen wie analoge modulare Synthesizer aussehen, die Dinge sind anders, und in der Regel können Sie analoge Computer nur für bestimmte Aufgaben bauen. Lustiger Vortrag in deutscher Sprache über analoges Rechnen.
Was analoge modulare Synthesizer anbelangt, so handelt es sich auch um eine Art analoger Computer, die speziell für die Berechnung von Signaländerungen entwickelt wurden.
Es gibt also eine analoge Übertragung in der Datenverarbeitung, die jedoch auf sehr spezielle Bereiche beschränkt ist.
quelle