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?
Vous ne pouvez pas le formuler de cette façon.
La transmission série est plus lente que la transmission parallèle étant donné 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 parallèle sans limite, car, par conception, tous les signaux de l'émetteur doivent arriver au récepteur à même heure. 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. De toute évidence, attendre réduit le taux de transfert.
Un autre point positif (de ce post ) est qu’il faut prendre en compte 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 en 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 UDMA-Cables (ATA parallèle avec une vitesse de transfert accrue) avait deux fois plus de fils que de broches. Un fil sur deux était mis à la terre pour réduire la diaphonie.
Le problème est la synchronisation.
Lorsque vous envoyez en parallèle, vous devez mesurer toutes les lignes exactement au même moment, à mesure que vous avancez, la taille de la fenêtre devient de plus en plus petite. Elle peut éventuellement devenir si petite que certains fils peuvent encore se stabiliser. tandis que d'autres sont terminés avant que vous n'ayez manqué de temps.
En envoyant en série, vous n'avez plus à 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 très bien comment le PCI Express en série peut être plus rapide que le PCI ou le PCI-X en parallèle.
TL; Version DR: Il est plus facile d’effectuer une seule connexion 16 fois plus vite que 8 connexions 2 fois plus vite une fois que vous avez atteint les très hautes fréquences.
Le mode parallèle n'est pas intrinsèquement plus lent, mais il introduit des difficultés 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. Parallèle IDE a tenté de minimiser ce problème en doublant le nombre 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 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.
Théoriquement, deux fils sont toujours deux fois plus rapides qu’un, mais chaque ligne de signal ajoutée à l’appareil complique subtilement la physique, ce qui peut être préférable d’éviter.
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 par gros 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 haute vitesse 10 bits 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 pilotées 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.
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 préoccuper 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 paquets comme le PCIe étaient une réaction à cela 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. La plus grande avancée en termes de vitesse 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 l’opération parallèle» - le saut était si grand que vous pouviez 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 DC, contrôle le spectre) et permet surtout de laisser tomber complètement le ou les fils d'horloge (ce qui n'est pas 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 lançons un parallélisme au goulet d’étranglement - les puces BGA d’aujourd’hui ont des centaines, voire des milliers de broches, les circuits imprimés 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 les deux / transmission en parallèle et en série. C'est simplement que plus les fils sont longs, plus il devient intéressant de pousser des taux plus élevés avec moins de fils.