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


Intuitivement, vous penseriez que la transmission de données 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 dans le mode série, vous faites un bit à la fois.

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


124
2018-06-02 16:27


origine


Peut-être que oui, mais si oui, comment puis-je voir tout cela? intel.com/content/www/us/en/chipsets/performance-chipsets/...    il dit plusieurs voies pour PCIe, et j'ai regardé FDI sur wikipedia et il a dit "2 liens / canaux / canaux à fréquence fixe 4 bits indépendants" et DMI parle de 4 liens. (La réponse de Scott pourrait en partie couvrir cela) - barlop
Tout se résume à la cadence d'horloge. - Daniel R Hicks
Les trois réponses existantes ne mentionnent pas l'économie, c'est-à-dire Coût. Il est tout simplement moins coûteux de faire 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 qui utilise seulement quelques câbles est moins cher qu'un câble parallèle qui sera difficile et coûteux à protéger. - sawdust
De retour à l'époque de DB25 et DB9 connexions, vous avez eu de la chance de pousser 115 kbit / s en série alors que parallèle vous a eu 12 Mbit / s avec huit broches de données parallèles. - Michael Kjörling


Réponses:


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

La transmission en série est Ralentissez que la transmission parallèle compte tenu de 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 seulement une fraction (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 parallèle sans limite, car, de par leur conception, tous les signaux provenant de l’émetteur doivent parvenir au récepteur à le 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 à toutes les lignes de signal (pensez à différents chemins 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, l'attente réduit le taux de transfert.

  • Un autre bon point (de ce post) est-ce qu'il faut considérer diaphonie avec des lignes de signaux parallèles. Plus la fréquence est élevée, plus la diaphonie est prononcée et plus la probabilité d'un mot corrompu et la nécessité de la retransmettre sont élevées.1

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


1 Cela explique aussi pourquoi Câbles UDMA (Parallel ATA avec une vitesse de transfert accrue) avait deux fois plus de fils que les broches. Tous les deux fils étaient mis à la terre pour réduire la diaphonie.


140
2018-06-02 16:44



Le récepteur n’a pas à attendre que toutes les lignes s’installe en même temps - la transmission rapide en parallèle, aujourd’hui, implique de mesurer puis de compenser le délai d’arrivée sur chaque fil séparément. Cela vaut même pour les liens courts tels que CPU <-> DRAM! Cela est devenu possible en adoptant certaines techniques en série telles que les horloges intégrées (par exemple, codage 8b / 10b) et / ou les séquences d'apprentissage. - Beni Cherniavsky-Paskin
Votre élaboration contredit votre déclaration. Vous commencez à dire que la série est Ralentissez et expliquer pourquoi c'est plus rapide. Je pense que c'est la source de confusion et se demande comment il peut répondre. - Val
@Val Vous ne lisez pas toute la réponse. Un bus déplace plus de monde qu'une voiture à la même vitesse - mais à cause de la physique, ces voitures peuvent aller façon plus rapide qu'un bus, il est donc plus rapide de déplacer les personnes en utilisant des voitures que des bus. 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 qu'il fonctionne beaucoup plus rapidement qu'un câble parallèle. Si nous essayons d’accélérer le câble parallèle, la physique cause que les données deviennent des déchets. - Darth Android
En fait, je vois à l'envers. C'est le transport de passagers (public) qui a le plus de débit parce que vous ne transportez pas l'automobile avec tout le monde, bien que les gens préfèrent se déplacer individuellement dans des automobiles parallèles et développer de vastes infrastructures de banlieue plutôt que de les emballer dans des villes compactes. Je vois la rafale de bits en 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
@Val C'est comme ça que fonctionnent les transports, mais ce n'est pas comme cela que fonctionne la physique de l'électro-magnétisme et cela ne correspond pas à une analogie. Personne ne parle ici d’efficacité, de vitesse et de débit. Même si un lien 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 dispose de tellement plus de cycles d'horloge dans le même laps de temps que son débit est encore plus élevé. - Darth Android


Le problème est la synchronisation.

Lorsque vous envoyez en parallèle, vous devez mesurer toutes les lignes au même moment. Lorsque vous accélérez, la taille de la fenêtre devient de plus en plus petite. En fin de compte, il peut arriver que certains fils se stabilisent. tandis que d'autres sont finis avant que vous ayez manqué de temps.

En envoyant une 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 font un ensemble parallèle de connexions série (le port 16x de votre carte mère a 16 connexions série). En faisant cela, chaque ligne n'a pas besoin d'être en parfaite synchronisation avec les autres lignes, tant que le contrôleur à l'autre extrémité peut réorganiser les "paquets" de données au fur et à mesure de leur entrée dans le bon ordre.

le La page How Stuff Works pour PCI-Express fait une très bonne explication en profondeur sur la manière dont PCI Express en série peut être plus rapide que PCI ou PCI-X en parallèle.


TL; DR Version: Il est plus facile de faire une seule connexion 16 fois plus vite que 8 connexions plus rapides une fois que vous atteignez des fréquences très élevées.


67
2018-06-02 16:40



@barlop Vous pouvez faire du parallèle en Ethernet, mais ce n'est pas très courant dans l'utilisation grand public, le terme pour cela s'appelle Liaison des canaux. --correction: Il est devenu courant dans l'utilisation grand public, en utilisant la liaison de la fréq sans fil. c'est comment 802.11n peut obtenir des taux allant jusqu'à 600 Mbit / s, ils utilisent jusqu'à 4 flux série simultanés. - Scott Chamberlain
@barlop Je vous ai donné le mauvais terme, Channel Bonding est le terme générique le plus large, spécifiquement pour Ethernet, le terme correct pour ce que vous demandez est appelé Agrégation de liens. - Scott Chamberlain
Rich Seifert a écrit "En effet, beaucoup de gens appellent IEEE 802.11" sans fil Ethernet ". Bien que cela vienne contredire un 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 à qui la différence de technologie n'est pas importante. "<- ses mots. J'ai lu il y a quelques années qu'il préside et édite 802.3x et présidé Ethernet II (apparemment Ethernet DIX, 10Mbps Ethernet) - et qu'il a participé activement à la tâche IEEE 802.3z Gigabit Ethernet Force ". Donc, tout à fait une autorité pour dire 802.11 n'est pas Ethernet. - barlop
1000BASE-T Ethernet (802.3ab, "Gigabit Ethernet") utilise 4 paires de fils en parallèle. - MSalters
Les caractéristiques économiques de l’Ethernet sont différentes de celles des bus comme le SATA - les câbles sont très longs et coûteux à remplacer. Early Ethernet utilisait une paire de fils mais normalisée sur des câbles à 4 paires anticipant une utilisation future (à cette époque, l'approche évidente était la rapidité de la transmission). Cela s'est avéré difficile, à cause de la diaphonie, mais comme les câbles sont déjà là, il est dommage de ne pas les utiliser. Finalement, il est devenu possible de procéder à une suppression de diaphonie avec un traitement DSP très compliqué -> D2A-> ... câble ... -> A2D-> traitement DSP. - Beni Cherniavsky-Paskin


Parallel n'est pas intrinsèquement plus lent, mais il présente des défis que la communication série ne présente pas.

Mais la plupart des liens les plus rapides sont toujours parallèles: le bus frontal de votre ordinateur est généralement très parallèle et fait généralement partie des liaisons les plus rapides d’un ordinateur. Les connexions à fibres optiques peuvent également être très 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 consiste en 4 canaux parallèles d’Ethernet à 250 Mbits en un seul fil.

Le défi le plus prononcé introduit par le parallélisme est la "diaphonie": lorsque le courant du signal démarre ou s’arrête, il induit momentanément un petit courant sur les fils voisins. 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 la quantité de fils dans le câble ruban et en connectant tous les autres fils à la terre. Mais cette solution ne vous mène que jusqu’à présent. Les câbles longs, les plis et les boucles, ainsi que la proximité d'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, alors vous pouvez le changer aussi rapidement que votre matériel le permet. Il résout également les problèmes de synchronisation subtils, certains signaux se déplaçant plus rapidement que d'autres.

Deux fils sont toujours théoriquement 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.


16
2018-06-03 08:47



Le FSB ne fait pas partie des conceptions de processeurs grand public depuis l’Intel Core 2, AMD l’a laissé quelques années auparavant avec le design AMD64. Au lieu de cela, les deux ont déplacé le contrôleur de mémoire sur le CPU lui-même et ont connecté tout le reste au 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 compliquent le problème de la synchronisation (les paires torsadées présentant des rapports de torsion différents présentent de légères variations d’impédance). les variations des vitesses de transmission, et ...). - dmckee


La transmission de données série n'est pas plus rapide que parallèle. C'est plus pratique et le développement est donc passé à la réalisation d'interfaces série externes rapides entre les équipements. Personne ne veut manipuler des câbles plats ayant au moins 50 conducteurs.

Entre les puces sur un circuit imprimé, un protocole série comme I2C qui ne nécessite que deux fils est beaucoup plus facile à gérer que le routage de nombreuses traces parallèles.

Mais il y a beaucoup d'exemples dans votre ordinateur où le parallélisme est utilisé pour augmenter massivement la bande passante. Par exemple, les mots ne sont pas lus un peu à la fois dans la mémoire. Et en fait, les caches sont remplis dans de grands blocs. Les écrans raster sont un autre exemple: l'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 essentiellement du parallélisme.

Ce périphérique DAC présenté par Tektronix comme «le DAC 10 bits haute vitesse 10 bits commercialisé le plus rapide au monde» fait un usage intensif du parallélisme pour intégrer les données, qui arrivent dans le DAC sur 320 lignes, réduites à 10 par deux phases de multiplexage pilotées par divisions de l'horloge maître 12 GHZ. Si le DAC 10 bits le plus rapide du monde pouvait être réalisé en utilisant une seule ligne d'entrée en série, ce serait probablement le cas.


11
2018-06-02 19:25



+1 pour mentionner les câbles plats à 50 broches. L'une des motivations pour accéder aux câbles SAS / SATA était que les câbles larges affectaient le flux d'air à l'intérieur du boîtier. - jqa


Le parallélisme était le moyen évident d'augmenter la vitesse lorsque les portes logiques étaient suffisamment lentes pour que vous puissiez utiliser des techniques électriques similaires pour les bus / câbles et la transmission sur puce. Si vous faites déjà basculer le fil aussi vite que votre transistor le permet, la seule façon de faire l’échelle consiste à utiliser plus de fils.

Avec le temps, la loi de Moore a dépassé les contraintes électromagnétiques, si bien que les transmissions sur les câbles, voire 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 le délai de propagation de l'ordre de quelques horloges, vous commencez à vous inquiéter des effets analogiques tels que les réflexions => vous avez besoin d'impédances adaptées (particulièrement délicates pour les connecteurs) et préférez les fils point à point par rapport aux bus multipoints. C'est pourquoi SCSI avait besoin d'une terminaison, et c'est pourquoi l'USB a besoin de concentrateurs au lieu de simples séparateurs.

  • À des vitesses plus élevées, vous avez plusieurs bits en vol à tout moment sur le câble => vous devez utiliser des protocoles pipelinés (ce qui explique pourquoi les protocoles FSB d'Intel sont devenus extrêmement compliqués; je pense que les protocoles en paquets tels que PCIe réagissent à cette complexité).

    Un autre effet est une pénalité de plusieurs cycles pour changer la direction du flux de signal, c'est pourquoi Firewire et SATA et PCIe utilisant des fils dédiés par direction ont surpassé l'USB 2.0.

  • Le bruit induit, appelé diaphonie, augmente avec la fréquence. L'avancée la plus importante des vitesses provient de l'adoption de la signalisation différentielle qui réduit considérablement la diaphonie (mathématiquement, le champ de charge non équilibrée descend à R ^ 2, mais le champ d'un dipôle devient R ^ 3).

    Je pense que c'est ce qui a causé l'impression "série est plus rapide que parallèle" - le saut était si grand que vous pouviez descendre à 1 ou 2 paires différentielles et être toujours plus rapide que les câbles LPT ou IDE. Il y avait aussi une victoire de diaphonie avec une seule paire de signaux dans le câble, mais c'est mineur.

  • Le délai de propagation des fils varie (à la fois parce que les longueurs de fil sont difficiles à faire dans les virages à 90º, les connecteurs, etc. et à cause des effets parasites des autres conducteurs), ce qui a compliqué la synchronisation.

    La solution consistait à accorder des délais ajustables à chaque récepteur et à les régler au démarrage et / ou en continu à partir des données elles-mêmes. Encoder les données pour éviter les stries de 0 ou de 1 entraîne un léger surcoût mais présente des avantages électriques (évite la dérive du DC, contrôle le spectre) et permet surtout de laisser tomber le (s) fil (s) de l'horloge signaux mais est une affaire énorme pour un câble série d'avoir 1 ou 2 paires au lieu de 2 ou 3).

Notez que nous sont jeter le parallélisme sur le goulot d'étranglement - les 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 sont devenues indispensables pour tous les deux transmission parallèle et série. Il est juste que plus les câbles sont longs, plus il devient intéressant de pousser des taux plus élevés avec moins de fils.


8
2018-06-04 22:00