Bus série, effet de mode ?

Magazine
Marque
Open Silicium
Numéro
7
Mois de parution
juin 2013
Spécialité(s)


Résumé

Tous les bits de données, mettez-vous en file indienne ! Depuis une grosse dizaine d'années maintenant, tous les « vieux » bus parallèles sont remplacés par des systèmes série avec de jolis noms : USB, SATA, HDMI, PCIe. S'agit-il d'un effet de mode ou d'un véritable progrès ?


Body

1. Contraintes mécaniques

Les bus d'interfaces cités en introduction mettent en œuvre des connecteurs permettant le raccordement de périphériques. Cela peut sembler une évidence, et pourtant ces pièces faites de métal et de plastique représentent un premier défi dans la communication. Dans l'idéal, ils doivent être petits, robustes, ne pas altérer le signal et, bien entendu, ne pas coûter trop cher. Nous sommes en droit d'imaginer que le premier critère a sonné le glas du port centronics, qui serait aujourd'hui fort disgracieux sur un laptop de 2cm d'épaisseur.

Pour les ports devant être accessibles hors d'un ordinateur, la robustesse doit être de mise ! Un connecteur compact avec de très nombreux fils est : soit fragile, soit difficile à brancher/débrancher, soit (hélas) les deux. D'ailleurs, en regardant les notices techniques de connecteurs, il y a matière à se faire peur avec des garanties données par les fabricants de quelques dizaines de cycles de connexion-déconnexion, voire parfois à peine une dizaine ! Le passage à une liaison série, avec peu de fils, réduit un peu les contraintes sur les connectiques, ce qui donne par exemple l'USB ou plus récemment le HDMI.

Mais alors, pourquoi sur les bus internes aux machines, tels que le PCI ou (feu) le PATA, la sérialisation s'est également imposée ? Probablement parce que le problème n'est pas seulement mécanico-marketing.

2. Contraintes électriques

Dans le monde idéal qui sert toujours d'introduction à l'apprentissage des principes de l'électricité et de l'électronique, les composants sont parfaits, les signaux toujours carrés ou sinusoïdaux, et l'environnement jamais hostile... Dans ce monde, les bus seraient peut-être encore parallèles. Hélas, le monde réel n'est jamais totalement numérique et de nombreux effets viennent perturber des plans pourtant si parfaits.

2.1. La diaphonie

Une définition possible pour le condensateur est de dire qu'il s'agit de deux armatures conductrices séparées par un isolant. Lorsque deux fils (conducteurs) parcourent une certaine distance côte à côte, par exemple dans un câble multi-brins, nous sommes en présence de condensateurs parasites, leurs gaines plastiques faisant alors office de diélectrique, voir Figure 1. Pour être précis, il s'agit de la capacité linéïque de la ligne. Tant que les niveaux électriques sont stables, aucun problème, le condensateur ne s'opposant qu'aux variations de potentiel. Par contre, lors de transitions, ces capacités parasites vont se charger ou se décharger, adieu les fronts droits des signaux carrés. La figure 2 montre un cas réel dans un câble nappe.

 

nappe_1

 

Figure 1 : Capacités parasites dans un bus

Tout conducteur traversé par un signal va rayonner autour de lui, il a un effet inductif. Si un autre conducteur est dans son environnement immédiat, il va «capter » ce rayonnement, ce qui va créer une différence de potentiel. Cette différence de potentiel (ddp) peut devenir importante, au point de créer des états considérés comme une transition sur le conducteur, avec toutes les désagréables conséquences que cela engendre.

Le fait que des conducteurs, en théorie indépendants, se perturbent, est appelé diaphonie.

 

fig2_signal_cable

 

Figure 2 : Atténuation des fronts : en jaune (en haut) le signal émis, en bleu (au dessous) le signal vu au bout du câble nappe

Par chance (ou génie de nos pairs), il existe des solutions pour en réduire les effets. Par exemple créer une paire torsadée avec chaque signal pour le blinder de sorte que même si les capacités parasites existent toujours, leurs effets sont globalement prédictibles et donc possibles à prendre en compte. Pour les bus planaires (sur PCB ou en câble nappe), cela revient à ajouter des fils à la masse entre les signaux, ce fut utilisé avec l'ultra-DMA pour les disques durs. Une variante est de transmettre deux signaux complémentaires au lieu d'un seul afin de mieux détecter les erreurs, méthode utilisée pour le SCSI (voir [SNLA033]). Si ces solutions fonctionnent bien, elles augmentent significativement le nombre de conducteurs, que ce soit dans les câbles ou sur les cartes.

2.2. Les ondes réfléchies

Que se passe-t-il lorsqu'un signal électrique arrive au bout d'un fil qui n'est connecté à rien ? Pour prendre un cas plus général, disons un signal parcourant un conducteur d'impédance X et qui arrive face à une impédance Y beaucoup plus grande (bout de fil «en l'air » ou entrée de certains transistors). Et bien dans ce cas, tout ou partie du signal est réfléchit et une part de son énergie revient en sens inverse dans le conducteur ! Le rapport entre l'énergie transmise et l'énergie qui revient est le coefficient de réflexion.

 

pci_reflected

 

Figure 3 : Utilisation des ondes réfléchies PCI

Bien entendu, ce signal en retour peut provoquer des effets apparentés à de la diaphonie (sinon, ce serait trop simple).

Pour éviter cela, il faut que le récepteur ou un système tiers absorbe l'énergie résiduelle. Souvenez vous, les «bouchons » sur les câbles réseau coaxiaux, c'était ça (!) idem pour les «terminaisons » sur les câbles SCSI...

3. Le cas du PCI

Pour celles et ceux ayant lu l'article « KNJN » dans Open Silicium 5, le PCI n'a presque plus de secret, à part peut-être au niveau électrique. Parmi les bus cités en introduction, il s'agit d'un cas un peu particulier, intéressant à double titre : d'une part, dans la version bus parallèle (PCI), il utilise au lieu de subir les ondes réfléchies présentées ci-dessus, d'autre part c'est un des (trop) rares cas d'évolution où une grande partie du standard antérieur a été conservée (lors de l'arrivée du PCI-Express).

Lorsqu'un périphérique PCI place un signal sur le bus, il ne fournit que la moitié de l'énergie nécessaire à la transition, par exemple pour passer d'un « 0 » logique (la masse) vers un « 1 » logique (5V ou 3,3V). Lorsque ce signal arrive à l'autre extrémité du bus, il est réfléchi et, au retour, augmente la tension visible sur le bus. La figure 3 montre une simulation d'un tel signal. À ce titre, le PCI a été l'un des premiers bus « green » car il consomme moins d'énergie pour les transitions.

Mais, comme tous les bus parallèles, ses contraintes de fonctionnement ont eu raison de lui, après tout de même le passage de 133MB/s (PCI 32bits et 33MHz) à 533MB/s (PCI 64bits et 66MHz), ainsi qu'un extrême sursaut avec PCI-X à 133MHz. Ainsi, le bus PCI est mort, vive le PCI-Express. Il serait extrêmement réducteur de dire que le PCI-Express n'est qu'une version sérialisée de PCI, de nombreux concepts ont été ajoutés (traitement d'erreur, gestion des files de messages). Toutefois, pour cet article, seule la comparaison physique est mise en avant.

La transmission de données avec PCI-Express se fait par des liens série point-à-point au moyen de paires différentielles (comme la plupart des autres me direz-vous, USB & Co). Chaque paire offre un lien à peu près à 500MB/s (250MB/s dans chaque sens, le lien étant full duplex). Le fait d'avoir utilisé le pluriel pour parler des paires n'est pas anodin, en effet le PCI-E permet d'agréger plusieurs canaux physiques d'où les termes de x2, x4... x32 et atteindre ainsi jusqu'à environ 16GB/s.

En guise de conclusion

S'il semble évident que le passage du parallèle au série va au-delà d'un simple effet de mode, c'est principalement vrai pour les systèmes à la recherche de bande passante toujours plus importante. L'avenir qui se dessine sera peut-être fait de la parallélisation de bus série, ce qui ne serait pas dénué d'un certain côté paradoxal. À moins que d'ici-là, de nouveaux moyens de codage du signal ne voient le jour, car après tout, l'augmentation des performances ne passe pas toujours par une course à la vitesse, comme l'a montré la course au Ghz, puis au nombre de threads dans les microprocesseurs.

Référence

[SNLA033] http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=snla033&fileType=pdf

 



Article rédigé par

Les derniers articles Premiums

Les derniers articles Premium

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

De la scytale au bit quantique : l’avenir de la cryptographie

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Imaginez un monde où nos données seraient aussi insaisissables que le célèbre chat de Schrödinger : à la fois sécurisées et non sécurisées jusqu'à ce qu'un cryptographe quantique décide d’y jeter un œil. Cet article nous emmène dans les méandres de la cryptographie quantique, où la physique quantique n'est pas seulement une affaire de laboratoires, mais la clé d'un futur numérique très sécurisé. Entre principes quantiques mystérieux, défis techniques, et applications pratiques, nous allons découvrir comment cette technologie s'apprête à encoder nos données dans une dimension où même les meilleurs cryptographes n’y pourraient rien faire.

Les nouvelles menaces liées à l’intelligence artificielle

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Sommes-nous proches de la singularité technologique ? Peu probable. Même si l’intelligence artificielle a fait un bond ces dernières années (elle est étudiée depuis des dizaines d’années), nous sommes loin d’en perdre le contrôle. Et pourtant, une partie de l’utilisation de l’intelligence artificielle échappe aux analystes. Eh oui ! Comme tout système, elle est utilisée par des acteurs malveillants essayant d’en tirer profit pécuniairement. Cet article met en exergue quelques-unes des applications de l’intelligence artificielle par des acteurs malveillants et décrit succinctement comment parer à leurs attaques.

Les listes de lecture

7 article(s) - ajoutée le 01/07/2020
La SDR permet désormais de toucher du doigt un domaine qui était jusqu'alors inaccessible : la réception et l'interprétation de signaux venus de l'espace. Découvrez ici différentes techniques utilisables, de la plus simple à la plus avancée...
8 article(s) - ajoutée le 01/07/2020
Au-delà de l'aspect nostalgique, le rétrocomputing est l'opportunité unique de renouer avec les concepts de base dans leur plus simple expression. Vous trouverez ici quelques-unes des technologies qui ont fait de l'informatique ce qu'elle est aujourd'hui.
9 article(s) - ajoutée le 01/07/2020
S'initier à la SDR est une activité financièrement très accessible, mais devant l'offre matérielle il est parfois difficile de faire ses premiers pas. Découvrez ici les options à votre disposition et les bases pour aborder cette thématique sereinement.
Voir les 31 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous