Pourquoi la transmission de données en série est-elle plus rapide qu'en parallèle?

133

Intuitivement, on pourrait penser que la transmission de données en parallèle devrait être plus rapide que la transmission de données en série; en parallèle, vous transférez plusieurs bits en même temps, alors que vous êtes en série d'un bit à la fois.

Alors, qu'est-ce qui rend les interfaces SATA plus rapides que les périphériques PATA, PCI-e plus rapides que les ports PCI et les ports série plus rapides que les interfaces parallèles?

modeste
la source
Peut-être que oui, mais si oui, comment puis-je voir tout cela? Intel.com/content/www/us/en/chipsets/performance-chipsets/… . 2 liaisons de fréquence / canaux / tuyaux indépendants 4 bits "et DMI parle de 4 liens. (ajouté - la réponse de Scott pourrait en partie couvrir cela)
barlop
2
Tout se résume à la fréquence d'horloge.
Daniel R Hicks
36
Les trois réponses existantes ne mentionnent pas l'économie, c'est- à- dire le coût . Il est tout simplement moins coûteux de créer une interface série très rapide qu'une interface parallèle très rapide. Pour les lignes de transmission, un câble série utilisant seulement quelques fils est meilleur marché qu'un câble parallèle qui sera difficile et coûteux à protéger.
sciure de bois
13
À l'époque des connexions DB25 et DB9 , vous avez eu la chance de pouvoir passer à 115 kbit / s en série alors que le parallèle vous permettait d' obtenir 12 Mbit / s avec huit broches de données parallèles.
un CVn

Réponses:

145

Vous ne pouvez pas le formuler de cette façon.

La transmission série est plus lente que la transmission parallèle avec la même fréquence de signal . Avec une transmission parallèle, vous pouvez transférer un mot par cycle (par exemple, 1 octet = 8 bits), mais avec une transmission en série, une fraction seulement (par exemple, 1 bit).

La raison pour laquelle les appareils modernes utilisent la transmission série est la suivante:

  • Vous ne pouvez pas augmenter la fréquence du signal pour une transmission en parallèle sans limite, car, par conception, tous les signaux de l'émetteur doivent arriver au récepteur en même temps . Cela ne peut pas être garanti pour les hautes fréquences, car vous ne pouvez pas garantir que le temps de transit du signal est égal pour toutes les lignes de signal (pensez à des chemins différents sur la carte mère). Plus la fréquence est élevée, plus les différences sont minimes. Par conséquent, le récepteur doit attendre que toutes les lignes de signal soient réglées - évidemment, attendre réduit le taux de transfert.

  • Un autre point positif (tiré de ce post ) est qu’il est nécessaire d’envisager la diaphonie avec des lignes de signal parallèles. Plus la fréquence est élevée, plus la diaphonie est prononcée et, avec elle, plus la probabilité qu'un mot soit corrompu et la nécessité de le retransmettre. 1

Ainsi, même si vous transférez moins de données par cycle avec une transmission série, vous pouvez utiliser des fréquences beaucoup plus élevées, ce qui entraîne un taux de transfert net plus élevé.


1 Cela explique également pourquoi les câbles UDMA (ATA parallèle avec une vitesse de transfert accrue) ont deux fois plus de fils que de broches. Un fil sur deux était mis à la terre pour réduire la diaphonie.

mpy
la source
9
Le récepteur n'a pas à attendre que toutes les lignes soient réglées en même temps - une transmission parallèle rapide consiste aujourd'hui à mesurer puis à compenser le délai d'arrivée sur chaque fil séparément . Ceci est valable même pour les liens intégrés tels que CPU <-> DRAM! Cela est devenu possible en adoptant certaines techniques en série telles que des horloges intégrées (par exemple, codage 8b / 10b) et / ou des séquences d'apprentissage.
Beni Cherniavsky-Paskin
Votre élaboration contredit votre affirmation. Vous commencez par dire que la série est plus lente et expliquez pourquoi c'est plus rapide. Je pense que c'est la source de confusion et je me demande comment il peut répondre.
Val
11
@ Val Vous ne lisez pas toute la réponse. Un autobus déplace plus de monde qu'une voiture quand ils vont à la même vitesse - mais à cause du fonctionnement de la physique, ces voitures peuvent aller beaucoup plus vite qu'un bus, il est donc plus rapide de déplacer des gens en les utilisant que des autobus. Il en va de même pour les liaisons de données: à la même vitesse, les câbles parallèles déplacent plus de données qu'un câble série; Cependant, nous pouvons pousser un câble série pour fonctionner beaucoup plus rapidement qu'un câble parallèle. Si nous essayons d'accélérer le câble parallèle, la physique fait en sorte que les données deviennent des ordures.
Darth Android
1
En fait, je vois la tête en bas. Le transport de passagers (public) a un débit plus élevé, car vous ne transportez pas la voiture avec tout le monde, bien que les gens préfèrent se déplacer individuellement, dans des automobiles parallèles et, par conséquent, développent une vaste infrastructure de banlieue au lieu d’emballer les gens dans des villes compactes et 3d. Je vois la rafale de bits de la série comme un train. En gros, l’envoi d’un paquet coûte cher, mais peu importe la quantité de données que vous envoyez par paquet. Il est donc 1000 fois moins cher d’envoyer un train de 1000 bits plutôt que 1000 voitures parallèles.
Val
1
@Val C'est comme ça que fonctionnent les transports, mais ce n'est pas comme ça que la physique de l'électro-magnétisme fonctionne, et ça ne convient pas comme analogie. Personne ne parle d’efficacité ici, juste de la vitesse et du débit. Même si une liaison parallèle peut déplacer plus de données par cycle d'horloge, une liaison série peut déplacer moins de données par cycle d'horloge, mais a tellement plus de cycles d'horloge dans le même laps de temps qu'elle a toujours un débit plus élevé.
Darth Android
70

Le problème est la synchronisation.

Lorsque vous envoyez en parallèle, vous devez mesurer toutes les lignes exactement au même moment, car plus la fenêtre est grande, plus la taille de la fenêtre devient petite et plus petite. Finalement, elle peut devenir si petite que certains fils peuvent encore se stabiliser. tandis que d'autres sont terminés avant que vous n'ayez plus de temps.

En envoyant en série, vous n'avez plus besoin de vous soucier de la stabilisation de toutes les lignes, mais d'une seule ligne. Et il est plus rentable de stabiliser une ligne 10 fois plus rapidement que d'ajouter 10 lignes à la même vitesse.

Certaines choses comme PCI Express font le meilleur des deux mondes, elles établissent un ensemble de connexions série parallèles (le port 16x de votre carte mère dispose de 16 connexions série). En faisant cela, chaque ligne n'a pas besoin d'être parfaitement synchronisée avec les autres lignes, aussi longtemps que le contrôleur à l'autre extrémité peut réorganiser les "paquets" de données au fur et à mesure qu'ils arrivent dans le bon ordre.

La page "Comment ça marche" pour PCI-Express explique en détail comment le PCI Express en série peut être plus rapide que le PCI ou le PCI-X en parallèle.


Version TL; DR: Il est plus facile d’obtenir une seule connexion 16 fois plus rapidement que 8 connexions 2 fois plus rapide une fois que vous avez atteint de très hautes fréquences.

Scott Chamberlain
la source
1
@barlop Vous pouvez faire du parallèle en Ethernet, mais ce n'est pas très courant chez les consommateurs, son terme s'appelle Channel Bonding . --correction : elle est devenue courante chez les consommateurs, utilisant la liaison de la fréquence sans fil. C’est ainsi que 802.11n peut obtenir des débits allant jusqu’à 600 Mbit / s , ils utilisent jusqu’à 4 flux série simultanés.
Scott Chamberlain
1
@barlop Je vous ai donné le mauvais terme. Channel Bonding est le terme générique le plus général. En ce qui concerne Ethernet, le terme correct pour ce que vous demandez est appelé agrégation de liens .
Scott Chamberlain
2
Rich Seifert a écrit "En effet, beaucoup de gens appellent IEEE 802.11" Ethernet sans fil ". Bien que cela contredise tout argument technologique (il n'utilise même pas le même format de trame que IEEE 802.3), je peux vivre avec en parlant aux personnes pour qui la différence technologique n’a aucune importance ". <- ses mots. J'ai lu il y a quelques années qu'il présidait et édite 802.3x et présidait Ethernet II (apparemment le DIX Ethernet, 10 Mbps Ethernet) - et j'ai lu qu'il "participait activement au groupe de travail IEEE 802.3z Gigabit Ethernet". Il est donc tout à fait légitime de dire que 802.11 n’est pas Ethernet.
barlop
1
Le réseau Ethernet 1000BASE-T (802.3ab, "Gigabit Ethernet") utilise 4 paires de fils en parallèle.
MSalters
4
Les aspects économiques d’Ethernet sont différents de ceux des bus tels que SATA - les câbles sont très longs et coûteux à remplacer. Vous devez donc vous concentrer sur la mise à niveau de l’électronique. Les premiers réseaux Ethernet utilisaient une paire de câbles, mais normalisés sur quatre paires de câbles anticipant une utilisation future (à cette époque, l'approche évidente était la transmission parallèle). Cela s'est avéré difficile, à cause de la diaphonie, mais comme les câbles sont déjà là, il était dommage de ne pas les utiliser. Finalement, il est devenu possible de supprimer la diaphonie avec un traitement DSP très complexe-> D2A-> ... câble ... -> A2D-> Traitement DSP.
Beni Cherniavsky-Paskin
19

Le mode parallèle n'est pas intrinsèquement plus lent, mais il introduit des problèmes par rapport à la communication série.

Cependant, bon nombre des liaisons les plus rapides sont toujours parallèles: le bus frontal de votre ordinateur est généralement très parallèle et compte généralement parmi les liaisons les plus rapides d'un ordinateur. Les connexions par fibre optique peuvent également être hautement parallèles en transportant plusieurs longueurs d'onde sur une seule fibre. C'est cher et donc pas typique, cependant. La forme la plus courante d'Ethernet Gigabit est en réalité 4 canaux parallèles d'Ethernet à 250 Mbits dans un seul fil.

Le défi le plus important introduit par le parallélisme est la "diaphonie": lorsque le courant du signal commence ou s’arrête, il induit momentanément un faible courant sur les fils qui le bordent. Plus le signal est rapide, plus cela se produit souvent et plus il est difficile de filtrer. Parallel IDE a tenté de minimiser ce problème en doublant le nombre de fils dans le câble ruban et en reliant tous les autres fils à la terre. Mais cette solution ne vous mène que jusqu'à présent. Les longs câbles, les plis et les boucles ainsi que la proximité des autres câbles plats en font une solution peu fiable pour les signaux à très grande vitesse.

Mais si vous n'utilisez qu'une seule ligne de signal, vous êtes alors libre de la changer aussi rapidement que votre matériel le permet. Il résout également des problèmes de synchronisation subtils lorsque certains signaux voyagent plus rapidement que d’autres.

En théorie, deux fils sont toujours deux fois plus rapides qu'un, mais chaque ligne de signal que vous ajoutez complique subtilement la physique, ce qui peut être préférable d'éviter.

tylerl
la source
Le FSB ne fait plus partie des conceptions de processeurs grand public depuis l’ère Intel Core 2. AMD l’a abandonné quelques années auparavant avec le design AMD64. Au lieu de cela, les deux ont déplacé le contrôleur de mémoire sur la CPU elle-même et ont connecté tout le reste à la CPU avec des bus rapides / étroits au lieu de la conception (relativement) large / lente d'un FSB.
Dan Neely
Les techniques de réduction de la diaphonie sont connues depuis des décennies, mais comme indiqué dans les commentaires aux questions, elles introduisent des coûts supplémentaires, et certaines d’entre elles aggravent le problème de synchronisation variations de vitesses de transmission, et ...).
dmckee
13

La transmission de données en série n'est pas plus rapide que le parallèle. C'est plus pratique et le développement a donc été fait pour créer une interface série externe rapide entre les unités d'équipement. Personne ne veut traiter avec des câbles à ruban qui ont 50 conducteurs ou plus.

Entre les puces d'une carte de circuit imprimé, un protocole série tel que I2C ne nécessitant que deux fils est beaucoup plus simple à gérer que le routage de nombreuses traces parallèles.

Mais il existe de nombreux exemples dans votre ordinateur où le parallélisme est utilisé pour augmenter considérablement la bande passante. Par exemple, les mots ne sont pas lus bit par bit dans la mémoire. Et en fait, les caches sont remplies dans de grands blocs. Les écrans raster en sont un autre exemple: accès parallèle à plusieurs banques de mémoire pour obtenir les pixels plus rapidement, en parallèle. La bande passante mémoire dépend du parallélisme.

Ce dispositif DAC présenté par Tektronix comme "le DAC 10 bits haute vitesse le plus rapide disponible dans le commerce" utilise beaucoup le parallélisme pour importer les données, qui entrent dans le DAC sur 320 lignes, qui sont réduites à 10 à deux étapes de multiplexage. entraîné par différentes divisions de l'horloge maître 12 GHZ. Si le CNA 10 bits le plus rapide au monde pouvait être fabriqué à l'aide d'une seule ligne d'entrée série, il le ferait probablement.

Kaz
la source
1
+1 pour mentionner des câbles ruban à 50 broches. L'une des motivations pour utiliser les câbles SAS / SATA était que les câbles larges affectaient le flux d'air à l'intérieur du boîtier.
Jqa
11

Le parallèle était le moyen évident d'augmenter la vitesse lorsque les portes logiques étaient suffisamment lentes pour pouvoir utiliser des techniques électriques similaires pour les bus / câbles et la transmission sur puce. Si vous basculez déjà le fil aussi vite que votre transistor le permet, le seul moyen de faire évoluer la balance consiste à utiliser plus de fils.

Avec le temps, la loi de Moore a dépassé les contraintes électromagnétiques, de sorte que les transmissions par câbles, voire même par les bus embarqués, sont devenues un goulot d'étranglement par rapport aux vitesses sur puce. OTOH, la disparité de vitesse permet un traitement sophistiqué aux extrémités pour utiliser le canal plus efficacement.

  • Une fois que le délai de propagation approche de l'ordre de quelques horloges, vous commencez à vous soucier des effets analogiques tels que les réflexions => vous avez besoin d'impédances adaptées le long du chemin (particulièrement délicates pour les connecteurs) et vous préférez les fils point à point aux bus multipoints. C'est pourquoi SCSI avait besoin d'une terminaison et que l'USB avait besoin de concentrateurs plutôt que de simples séparateurs.

  • À des vitesses plus élevées, vous avez plusieurs bits en vol à un moment donné le long du câble => vous devez utiliser des protocoles en pipeline (c’est pourquoi les protocoles FSB d’Intel sont devenus terriblement compliqués; je pense que les protocoles en mode paquet comme PCIe réagissaient à cette complexité).

    Un autre effet est une pénalité multi-cycles pour changer la direction du flux de signal - c'est pourquoi Firewire, SATA et PCIe utilisant des câbles dédiés par direction surpassent les performances de l'USB 2.0.

  • Le bruit induit, alias diaphonie, monte en fréquence. Le progrès le plus important en termes de vitesses provient de l’adoption de la signalisation différentielle qui a considérablement réduit la diaphonie (mathématiquement, le champ d’une charge déséquilibrée diminue en R 2, mais celui d’un dipôle en R 3).

    Je pense que c’est ce qui a provoqué l’impression "le port série est plus rapide que le port parallèle": le saut était si grand qu’il était possible de descendre à 1 ou 2 paires différentielles tout en restant plus rapide que les câbles LPT ou IDE . Il y avait aussi un problème de diaphonie à n'avoir qu'une seule paire de signaux dans le câble, mais c'est mineur.

  • Le délai de propagation des fils varie (à cause des longueurs de fils difficiles à faire correspondre aux virages à 90º, aux connecteurs, etc. et aux effets parasites des autres conducteurs), ce qui a rendu la synchronisation problématique.

    La solution consistait à définir des délais réglables sur chaque récepteur et à les régler au démarrage et / ou en permanence à partir des données elles-mêmes. Le codage des données pour éviter les traînées de 0 ou de 1 engendre une légère surcharge mais présente des avantages électriques (évite la dérive de courant continu, contrôle le spectre) et permet surtout de laisser tomber le ou les fils d'horloge (ce qui n'est pas très grave au-dessus de 40 signaux, mais c’est un gros problème pour un câble série d’avoir 1 ou 2 paires au lieu de 2 ou 3).

Notez que nous sommes en train de jeter le parallélisme au goulot d' étranglement - puces BGA d'aujourd'hui ont des centaines ou des milliers de broches, les PCB ont de plus en plus de couches. Comparez cela aux anciens microcontrôleurs à 40 broches et aux circuits imprimés à 2 couches ...

La plupart des techniques ci - dessus est devenu indispensable pour les deux parallèles et la transmission série. C'est simplement que plus les fils sont longs, plus il est intéressant d'attirer des taux plus élevés avec moins de fils.

Beni Cherniavsky-Paskin
la source