Mes calendriers

Mes calendriers sous divers formats

Ma collection

Toute ma collection de calculatrices, calculatrices programmable, ordinateur de poche.

Offrez moi un café

Si mes calendriers, mes scans ou mon site vous ont intéressés, offrez moi un café en cliquant sur la tasse.

tasse_cafe.png

Ancienne Collection

Machines dont le me suis séparé, et qui ne font plus partie de ma collection.

 ↑  
Ma bibliothèque

Tous les scans de ma bibliothèque

Me contacter

pour me contacter, remplissez le formulaire en cliquant ici open_envolope.jpg

si le formulaire ne fonctionne pas, envoyez-moi un mail à

collection point sasfepu chez free point fr

Visites

 427107 visiteurs

 6 visiteurs en ligne

Le principe d'incertitude d'heisenberg STM 78

Dave nous a délà initié aux problèmes de l'électronique à haute vitesse (cf. "Des ordinateurs qui doutent" dans ST-Mag n°76). La démonstration continue ici. Les concepteurs de systèmes numériques, en particulier d'ordinateurs, doivent désormais se recycler pour appréhender les phénomènes complexes survenant dans les circuits électroniques actuels, qui fonctionnent à plus 100 mégahertz. Mais même en se dotant d'outils théoriquement adéquats, ces concepteurs doivent s'attendre à affronter des situations apparemment irrationnelles. Et qu'y a-t-il de pire que l'irrationnel pour un technicien?

Miracles

   Si vous êtes versé dans la physique, vous avez sûrement entendu parler d'Heisenberg. L'une de ses lois établit que l'on ne peut pas prendre réellement connaissance des phénomènes que l'on cherche à étudier parce qu'en les observant, on les modifie. Du moins au niveau des particules subatomiques. L'exemple le plus connu est celui de l'atome : quand vous essayez d'observer un atome, vous faites des observations fantaisistes parce que les photons (particules de la lumière) bousculent l'atome, modifiant ainsi son niveau d'énergie, ses orbites et son spin. Vous ne pouvez pas savoir quel était l'état de cet atome avant que vous ne l'observiez.

   D'une façon similaire, développer ma carte accélératrice 68030 SST fut pour moi une expérience intéressante, qui a vu triompher le principe d'Heisenberg à l'échelle humaine. J'y ai attrapé des cheveux blancs.

   Je crois qu'à force d'entendre parler de machines de plus en plus performantes, les gens sont blasés, et plus personne ne s'étonne de voir des ordinateurs tourner à des vitesses ahurissantes. Et pourtant, c'est un miracle que ces machines puissent seulement fonctionner

   Sachez, bonnes gens, que tous ces ordinateurs à 50 mégahertz et 8 mégaoctets représentent à mes yeux un vrai miracle technologique. Je sais que chez des centaines de fabricants, des ingénieurs versent de la sueur et des larmes pour les faire marcher, afin de ne pas faire mentir les brochures déjà imprimées par les commerciaux. Je le sais car je suis passé par là, moi aussi. Je vous assure que c'est terriblement difficile. (Cela ne constitue en aucun cas une excuse lorsque nos machines ne tournent pas. D'ailleurs, le SST est bien conçu, rapide et peu coûteux. Non, mais.)

   Je voudrais vous parler un peu de ce prodige que constitue une carte tournant à haute vitesse. Souvenez-vous que cela s'applique à tous les ordinateurs rapides que l'on trouve sur le marché, et non uniquement à la SST.

   Prenez l'électricité, qui constitue l'alimentation de tous ces ordinateurs. Représentez-vous la sous la forme d'un liquide baignant les composants, un peu comme de l'eau qui s'écoule d'un tuyau. La pression s'appelle ici voltage, le nombre de litres qui s'écoulent par minute représente l'ampêrage. C'est une assez bonne analogie.

Vitesse

   Cette électricité se déplace à une certaine vitesse : 300 000 km/s (ou encore 30 cm/nanoseconde). C'est le facteur "c" (célérité) de la fameuse équation d'Einstein E=M.c² . C'est également la vitesse de la lumière, que rien ne peut dépasser dans l'univers. (Notez que l'électricité se propage à une vitesse moindre dans certains types de fils; elle circule plus rapidement dans les câbles, plus lentement dans les pistes conductrices des circuits imprimés. De même, la vitesse exacte est 299 792 km/s. [NdT : et on a même redéfini la valeur de la seconde pour que le chiffre tombe rond.] Mais vous me permettrez cette approximation.)

   Cela revient à dire qu'en une nanoseconde, soit un milliardième de seconde, l'électricité parcourt pratiquement 30 cm. Maintenant, prenez par exemple la cartemère d'un quelconque clone PC bas de gamme, un circuit imprimé de 60 cm de côté. Cela signifie que le courant met environ deux nanosecondes pour la traverser de bout en bout. Et croyez-moi les p'tits gars, c'est limite. Parce que les signaux se déplacent en groupe, et sont étroitement synchronisés entre eux (on appelle ces groupes des "bus").

   Prenons par exemple les 32 fils véhiculant une adresse. Ces 32 bits sont accompagnés d'un autre signal qui indique que les fils sont à la valeur correcte à un instant donné. Lorsque ce signal (qu'on appelle une ligne de contrôle) change d'état, c'est-àdire lorsqu'une impulsion électrique y est envoyée, les circuits auxquels cette adresse de 32 bits est destinée savent qu'ils peuvent lire sur ces fils une valeur binaire correcte. Mais Si par malheur, en concevant le circuit imprimé, vous avez fait faire trop de zigzags au fil véhiculant cette ligne de contrôle, vous pouvez très bien retarder le signal de 3 ou 4 ns (nanosecondes), et Si la synchro est vraiment serrée, votre adresse ne sera plus valide lorsque l'impulsion arrivera sur la ligne de contrôle. Et votre carte ne marchera pas, même Si le câblage est rigoureusement correct.

   Vous essayez alors de dèceuvrir pourquoi votre carte parfaitement câblée ne marche pas. Vous branchez vos appareils de mesure. C'est bien, mais vos instruments utilisent des câbles qui transmettent le courant à la vitesse de trente centimètres/seconde également ! En plus, ils y ajoutent une chose appelée "capacité" qui libère progressivement les charges électriques, tout comme un ballon en caoutchouc intercalé dans un tuyau d'eau se dilate et se dégonfle lorsque la pression varie. Et quand des signaux électriques sont déformés par une capacité, ils passent progressivement de O à 5 V ou l'inverse, au lieu de passer instantanément d'une valeur à l'autre comme il se doit.

   Hélas, pour un ordinateur, l'univers n'est composé que de zéros et de uns, représentés respectivement par O et 5 V. Entre les deux se situe une zone interdite où nul signal ne doit s'aventurer I Les signaux déformés modifient le fonctionnement de la bécane que l'on observe, et une fois encore, Heisenberg triomphe ! (Très souvent, brancher un appareil de mesure, comme un oscilloscope, empêche un ordinateur de fonctionner, et l'ingénieur doit trouver une autre façon de se rendre compte de ce qui se passe à l'intérieur de sa machine sans esquinter les fragiles signaux.)

Les bouts de fil de cray

   Lorsque Seymour Cray, le concepteur des fameux ordinateurs du même nom, construisit son premier super-ordinateur, le Cray 1, il utilisa des fils de couleurs différentes pour câbler les différents sous-ensembles. Selon sa couleur, chaque fil avait une longueur précise qui était un multiple de 30 cm. Le Cray 1 était ultra-rapide pour les composants de l'époque, et la synchronisation des différents signaux était absolument cruciale. Cray synchronisa soigneusement sa machine on ajoutant une nanoseconde ici, une autre là, pour que tous les signaux d'un bus arrivent en même temps. Pour retarder un signal de N nanosecondes, il le faisait passer dans un fil de N fois 30 cm. A la moindre erreur (deux couleurs interverties, par exemple), l'ordinateur plantait. On pouvait aussi provoquer des pannes en soudant les fils au lieu de les "wrapper". Le "wrapping" consiste à dénuder l'extrémité d'un fil isolé et à l'enrouler autour de la patte d'un connecteur. Si c'est bien fait, cela donne, curieusement, une propagation du signal plus rapide qu'avec des soudures.

   Le Cray 1 utilisait des circuits intégrés bipolaires, d'une technologie dite ECL (Emittor-Coupled Logic), qui était difficile à miniaturiser et très gourmande en énergie. Ces circuits intégrés étaient donc très nombreux, et leur consommation électrique était digne d'un four à arc. La véritable prouesse technologique du Cray 1 était en fait son système de refroidissement, sans lequel la machine se serait liquéfiée en une flaque de métal fondu!

   Seymour Cray découvrit également qu'en dessinant les pistes de cuivre (ou "traces") d'un circuit imprimé, il fallait éviter de leur faire décrire des angles droits. Sinon, les électrons avaient en quelque sorte tendance à rebondir au passage de l'angle, et le front du signal était déformé et arrivait en capilotade, avec moult oscillations parasites. Ce qui plantait la machine. Cray dut remplacer chacun des angles droits de ses traces par deux virages à 45 degrés, ce qui préservait le front du signal.

   Le plus incroyable est qu'aucun des instruments de mesure de l'époque ne lui permettait de visualiser le phénomène. Je pense que l'idée de la cause du problème et la solution lui sont venues intuitivement. C'est grâce à ce genre d'intuitions qu'il a pu donner son nom à des ordinateurs. En fait, pour reprendre une citation de Conan Doyle :"Lorsque vous avez éliminé l'impossible, ce qui reste, même Si c'est improbable, est forcément la vérité." Certes, mon cher Sherlock, mais permettez-moi d'y répondre par une citation de mon cru "Quand on débogue, rien n'est impossible, et c'est bien le problème !"

Comparaison explosive

   A l'échelle de l'électronique moderne, la nanoseconde est une unité de temps banale. Tenez, dans la SST, nous utilisons des circuits logiques relativement rapides dont le délai de propagation (le temps qu'il faut aux signaux pour les traverser) est de 15 ns. Rien de spécial, ce sont des circuits tout à fait classiques. Pourtant, une petite comparaison physique nous aidera à comprendre pourquoi ce délai, considéré comme normal de nos jours, est en fait diablement court. En 15 ns, la lumière se propage de seulement 5 mètres!

   Ou encore, prenons le phénomène physique le plus destructeur jamais créé par l'homme, l'explosion d'une bombe à hydro gène. La raison pour laquelle une bombe H est Si puissante est que toute son énergie est libérée en un délai extrêmement court, 30 ns. Pendant quelques secondes, la sphère autour de l'explosion est plus chaude que la surface du soleil, bien que cette sphère soit en expansion très rapide. Et pourtant, cette terrifiante explosion est déjà deux fois plus lente que ce banal circuit!

Société anonyme puskiplante

   Le débogage d'une carte est une épreuve nerveuse quotidienne. Et quand le prototype marche, n'allez pas croire que vous êtes tirés d'affaire, oh, que non ! Il vous faut commander des composants, il faut les assembler, les tester... Limitons-nous aujourd'hui au premier point. Donc, vous concevez une carte, votre prototype marche, vous devez en faire quelques centaines d'exemplaires. Vous a-t-on déjà livré les bons composants 7 Quand je faisais les premiers Spectre GCR, j'étais tombé sur des distributeurs de circuits intégrés qui étaient particulièrement bornés. J'ai failli devenir cinglé. Mais j'ai appris la leçon.

   Du coup, plutôt que d'avoir à commander et assembler une flopée de circuits logiques pour la SST, j'ai préféré les regrouper dans un circuit logique programmable (PAL, Programmable Array Logic) commandé chez un certain fabricant.

   Nous nous apprêtions à expédier un lot de cartes SST, mais certaines cartes, pourtant réputées bonnes, s'obstinaient à ne pas marcher, et nous nous frappions la tète contre les murs à essayer de comprendre pourquoi. C'est alors que le fabricant nous envoya une note nous avertissant que certains de ces PAL étaient défectueux s'ils émettaient certaines combinaisons de signaux, cela consommait trop de courant, et une brève impulsion parasite apparaissait deux nanosecondes plus tard.

   Il est particulièrement difficile de détecter un parasite de ce genre. Si vous placez une sonde d'oscilloscope sur le fil suspect, celle-ci va y introduire une faible capacité qui va absorber le parasite. Et vous ne le verrez pas sur votre écran. En fait, dans notre cas, la sonde l'absorbait Si bien que la SST défectueuse se mettait mystérieusement à fonctionner ! Ce qui est encore un magnifique exemple d'application du principe d'Heisenberg : en observant le phénomène, nous le modifiions.

   C'était bien triste pour nous, parce que jusqu'à ce que nous recevions cet avertissement du fabricant, nous n'avions qu'un seul moyen de ~ivrer une carte SST à un client : c'était de l'expédier avec un oscilloscope et une notice du genre "branchez la sonde ici." Je suis sûr que cela nous aurait valu un franc succès!

   Nous avons finalement commandé de nouveaux PAL chez un autre fabricant. Ce qui a occasionné un délai supplémentaire de 2 à 3 mois, vu que la conception de ce circuit a dû être revue. Le plus pénible nous attendait encore, puisqu'il fallut remplacer les PAL et retester les cartes. Mais au moins, la SST marche à présent même sans oscilloscope. Et ce n'est qu'un des bogues que nous avons dû résoudre pour cette carte relativement simple.

   A une moindre échelle, nous retrouvons là le problème des instruments de mesure qui ne sont pas assez rapides. Certes, les instruments évoluent. Mais les vitesses des circuits aussi. Et les concepteurs, surtout dans les petites entreprises, n'ont pas toujours les moyens de s'offrir des instruments au moins dix fois plus rapides que les circuits qu'ils conçoivent, ce qui est un minimum pour pouvoir repérer tous les parasites. Il existe aussi à présent des logiciels d'aide à la mise au point de circuits imprimés à haute fréquence, mais ils donnent souvent des cartes peu compétitives qu'il faut retoucher et optimiser à la main avant la mise en production. Dans tous les cas, les outils sont hélas en retard par rapport aux besoins des ingénieurs les plus pointus. Et ceux-ci doivent souvent recourir à des méthodes empiriques qui s'apparentent plus à l'art qu'à la science. Que dis-je, de l'art ? C'est parfois carrément du vaudou!

Rebond

   Un autre tour que l'électricité peut nous jouer à ces fréquences s'appelle le rebond. Cela survient lorsqu'on fait changer d'état un signal sur un fil (par exemple, quand il passe de O à 5 V). Au lieu de monter sagement à la bonne tension, le signal dépasse cette valeur, puis redescend et oscille un moment avant de se stabiliser enfin à 5 V. Résultat, le signal est vu pendant un court instant comme une rapide succession de 0 et de 1, ce qui sème une épouvantable pagaïe dans tous les circuits dont la synchronisation dépendaient de ce signal.

   Heureusement, le rebond persiste lorsque l'on connecte un oscilloscope, ce qui permet au moins de le voir. On peut alors soit ajouter des circuits amortissant ces rebonds (ce qu'on appelle des terminaisons de bus), soit tenter de "secouer" ce pauvre fil moins fort, en y envoyant des signaux moins énergiques, aux transitions plus douces. Comme quoi, le mieux est l'ennemi du bien : Si vous prenez des composants trop rapides qui délivrent des fronts de signaux aussi nets que les plis de pantalons d'un lord anglais, vous allez vous retrouver avec des rebonds partout sur votre carte.

   La cause principale du rebond est l'inductance. C'est en quelque sorte l'inertie des conducteurs, leur tendance naturelle à s'opposer à toute variation du courant qui les traverse. Lorsque la tension sur un fil passe brutalement de O à 5 V, lors du passage d'une impulsion (dans ce cas-là, un 1 logique), cette tension va croître à partir de zéro, atteindre 5 volts, les dépasser de quelques fractions de volts, redescendre, et osciller un peu avant de se stabiliser. Mais Si le signal repasse maintenant à 0 volts (un 0 logique), la tension va de même décroître, atteindre zéro volts, continuer à décroître, devenir négative (jusqu'à, disons, -2 V), remonter et osciller. Le rebond se traduit ici par ce qu on appelle un dépassement négatif. Or, les circuits logiques ne supporte pas les tensions négatives, qui les détruisent très vite. Les mémoires, en particulier, en ont une sainte horreur, et ont toujours exigé une attention particulière. Eviter de détruire les composants d'une carte à coups de dépassement négatifs est presque devenu une science à part entière. Et je puis vous assurer qu'il est très difficile de déverminer une carte qui s'autodétruit en 100 milliardièmes de seconde ! (Enfoncée, la bande magnétique de Monsieur Phelps dans "Mission impossible" !)

Soudage

   Je vous avais parlé de ce prototype de SST que j'avais moi-même soudé à la main et qui plantait de temps en temps, alors que les cartes soudées à la vague, par un procédé automatique, marchaient parfaitement. Irrité par ces plantages intermittents, j'empoignai mon fidèle oscilloscope et branchai une sonde sur la piste d'alimentation des puces mémoires de cette carte soudé à la main. Et je fus horrifié d'y découvrir des dépassements négatifs de -2 volts ! L'alimentation des mémoires doit être ultrastable. La fiche technique de l'un des circuits mémoires précise même qu'une variation de 0,2 V peut empêcher la puce de fonctionner. Et là, j'étais à 10 fois plus I Le miracle était que cela ne plante que de temps en temps. Des sueurs froides m'envahirent la conception de ma carte était-elle donc viciée à ce point?

   Puis je fis la même mesure sur une carte soudée à la vague. Les rebonds n'y dépassaient pas 0,05 V. Conclusion ce n'était pas la conception de la carte, seulement une carte défectueuse. Mais pourquoi ? La seule différence était la méthode de soudage. C'est ce qui provoquait ce rebond.

   Oui, bon, je sais ce que vous pensez :"ce gars sucre les fraises et s'amuse à tenir un fer à souder." Eh non, mes soudures étaient excellentes, et j'ai même vérifié qu'il n'y avait pas de soudure sèche (c'est-à-dire des faux contacts) au niveau des alimentations. Je n'ai aucune certitude quant à la cause de ce problème. Peut-être la forme des soudure influe-t-elle 7 Les soudures faites à la main sont plutôt pointues, alors que les soudures à la vague sont bien rondes. Et je sais que les formes des conducteurs influent sur la répartition des charges, tout spécialement à haute fréquence, où les charges se concentrent à la surface des conducteurs et sur les pointes.

   En tout cas, c'est l'une des raisons pour lesquelles nous testons chacune de nos cartes avant de les expédier.

Plantages mystérieux

   Notez bien que certains types de problèmes furent longtemps considérés comme mystérieux avant d'être résolus de manière routinière. Par exemple, lorsqu'un circuit intégré fait changer d'état un fil, et le fait passer de O à 5 V ou l'inverse, il se produit une commutation dans un transistor à l'intérieur de la puce. Quand ce transistor commute, il draine du courant électrique depuis l'alimentation de la puce. Et les pattes d'alimentation de la puce, à leur tour, drainent du courant depuis le circuit imprimé.

   La vitesse avec laquelle les puces modernes commutent est telle que les pistes de cuivre ne peuvent fournir du courant assez vite. C'est pourquoi on met près des puces des petits condensateurs (nommés capacités tampons), placés entre le O et le +5 V, qui stockent des charges électriques et peuvent les fournir à la puce instantanément lors d'une commutation. Le condensateur se recharge entre deux commutations. Et Si on ne met pas assez de ces capacités tampons, on obtient des plantages "inexplicables". Du moins avait-on du mal à se les expliquer dans les premiers ordinateurs à circuits intégrés, dans les années soixante, mais maintenant, c'est un problème tout à fait banal.

   Autre type de plantages "mystérieux" les rayons cosmiques. J'ai déjà eu l'occasion de dire que les rayons cosmiques qui nous frappent peuvent modifier l'état d'un bit lorsqu'ils frappent une puce mémoire. Ce sont des rayons dits "ionisants", pour la simple raison qu'ils arrachent sur leur passage les électrons des atomes qu'ils frôlent (et un atome avec une charge en plus ou en moins est dit ionisé). Or, comment un bit est-il représenté dans une puce mémoire ? Par une charge électrique infime stockée dans l'équivalent d'un minuscule condensateur, à l'intérieur d'une des cellules élémentaires qui composent la RAM. Et cette charge devient de plus en plus réduite à chaque nouvelle génération de RAM, puisque les cellules mémoires deviennent de plus en plus petites. Si bien qu'un rayon cosmique peut facilement apporter suffisamment de charges pour faire changer d'état quelques cellules s'il frappe une puce.

   Et notre univers marine dans un bruit de fond de rayons cosmiques. Ici, à Denver, c'est pire, puisque l'altitude de 1600 m nous prive d'une bonne partie de la protection de l'atmosphère. Par exemple, alors que j'utilisais un éditeur de texte, j'ai vu un caractère changer comme par magie.

   C'est précisément pourquoi les IBM PC et compatibles (et certains Macs) sont dotés d'un dispositif de vérification, nommé contrôle de parité, qui détecte l'inversion d'un bit en mémoire, et arrête tout Si cela se produit. En fait, leurs barrettes mémoire sont dotées de g bits au lieu de 8 par octet, et ce bit surnuméraire stocke ce qu'on appelle la parité. C'est un bit qui vaut i Si l'octet contient un nombre pair de bits à 1. Si l'un des bits de l'octet ou le bit de parité bascule intempestivement à cause d'un rayon cosmique, le changement est détecté. Le problème des rayons cosmiques affecte tous les ordinateurs. Certaines stations de travail sous Unix ont même plusieurs bits de contrôle par octet, et peuvent rectifier automatiquement un bit qui a basculé.

   Mais ne croyez pas qu'il suffise de vivre en plaine pour être protégé contre ces problêmes les sols émettent des radiations naturelles, en particulier les sols granitiques, qui sont plus radioactifs que les autres.

Et le futur?

   Les ingénieurs qui conçoivent les ordinateurs se battent contre la barrière que constitue la vitesse de la lumière. Et cette barrière est infranchissable, Si le postulat d'Einstein est correct.

   Mais on trouve désormais des machines contenant des processeurs cadencés à 250 MHz, qui ont d'ailleurs besoin d'être refroidis presque aussi énergiquement que le Cray 1 de jadis ! Les ingénieurs, au pied du mur, n'ont pas d'autre choix que de miniaturiser sans cesse davantage les composants pour que les signaux aient moins de distance à parcourir, ce qui permet d'augmenter les fréquences de fonctionnement. A quelque 150 km d'ici, Seymour Cray est au travail et perfectionne sa dernière création, encore plus rapide et plus puissante.

   Je rend hommage à l'esprit humain qui, même confronté à une limite physique absolue, permet à des gens comme Cray, et à des milliers d'ingénieurs moins célèbres, de continuer à repousser les limites de vitesse et de puissance de leurs machines.

   Et ce n'est encore que le matériel I

Traduction et adaptation:
Password 90
Titre original : Heisenberg's uncertainty principle


Date de création : 16/02/2015 : 09:11
Catégorie : -
Page lue 865 fois