| Accueil >> Varia >> Génie logiciel

L'Ordineau

1) Résumé

Cet article décrit un «ordinateur à eau, ou Ordineau», un ordinateur numérique programmable qui fonctionne avec un fluide comme l'eau, plutôt que l'électricité. Cet ordinateur à eau est fondé sur un «transistor à eau», et composé d'une douzaine de «modules», chacun ayant en gros la taille d'un gros tableau noir sur pattes. Il n'a pas d'utilisation pratique, sauf pour servir d'exposition itinérante pour enseigner l'informatique aux enfants.

Voici une vue d'ensemble de l'Ordineau (Pitié, je ne sais pas dessiner! Mais à part les petits bonhommes bizarres, l'ordineau lui-même est techniquement assez bien représenté):

Croquis de l'ordineau
Croquis de l'ordineau

Quelque chose de très ressemblant a déjà été fait par M. Harry Porter, sauf qu'il a utilisé des relais électriques plutôt que des «transistors à eau». Cela vous donne aussi une idée de quoi l'Ordineau pourrait avoir l'air:

L'ordinateur à relais de Harry Porter
L'ordinateur à relais de Harry Porter
(Image © Harry Porter)

2) Introduction

Quelqu'un a-t-il déjà essayé de construire un "ordinateur à eau, ou ordineau"? Je parle ici d'un vrai ordinateur, c'est-à-dire d'un ordinateur tout à fait fonctionnel, numérique, programmable, et équipé de dispositifs d'E/S (Entrée/Sortie). Cet ordinateur fonctionnerait à l'eau. En fait, n'importe quel fluide ferait l'affaire: l'air, de l'hélium, de l'eau, de l'huile (attention, étudiants universitaires: ne laissez pas le mot «bière» entrer dans votre esprit à ce stade-ci!).

Bien sûr, cet ordinateur serait beaucoup trop gros, lent, peu fiable et coûteux pour avoir une quelconque utilité pratique (la vitesse du CPU serait probablement calculée en milliHertz, pas en mégaHertz!). Mais il serait fantastique pour enseigner aux enfants comment les ordinateurs fonctionnent. D'une certaine manière, la nature même de l'enseignement est de prendre des concepts difficiles, puis de les agrandir, les rendre plus concrets, et les «ralentir». Un «Ordineau» ferait exactement cela! Selon nous, cela donnerait une exposition itinérante fantastique pour initier les enfants à l'informatique.

Si une telle exposition itinérante existe déjà, SVP m'avertir, car je veux aller la voir! Sinon, continuez à lire, vous pourrez peut-être nous aider à réaliser ce rêve!

3) Le «transistor à eau», la composante de base de l'Ordineau

Tout comme un vrai ordinateur, l'Ordineau serait construit avec beaucoup, beaucoup de transistors. Ces «Transistors à eau» ou TAE seraient manifestement différents des vrais transistors qui fonctionnent à l'électricité.

(Il faut dire d'emblée que la conception initiale de ce TAE n'a pas été faite par un ingénieur accrédité. Alors il se pourrait qu'il ne marche pas. Si vous voyez quelque chose de terriblement incorrect avec cette conception, comme une violation des Lois de la physique, SVP m'avertir!).

Le Transistor À Eau est conceptuellement un robinet avec trois boyaux, tout comme un vrai transistor. Regardons un vrai transistor:

Diagramme électrique d'un vrai transistor
Diagramme électrique d'un vrai transistor

«Toute la logique numérique moderne dépend du fait fondamental qu'un transistor peut fonctionner comme un commutateur binaire très rapide. Dans la Fig. 1, nous montrons un transistor bipolaire (le cercle) intégré dans un circuit simple. Ce transistor a trois connections avec le monde externe: le collecteur, la base, et l'émetteur. Lorsque le voltage d'entrée (Vin ), est sous une certaine valeur critique, le transistor se ferme et se comporte comme une résistance infinie. Ceci fait que l'extrant du circuit, V out, va prendre une valeur approchant VCC, un voltage à régulation externe [...]. Lorsque Vin dépasse la valeur critique, le transistor s'ouvre et agit comme un fil, ce qui fait que V out se fait mettre à la terre.»
[Tanenbaum, Andrew S. Structured Computer Organization, 4th Ed., p. 118].

Ce vrai transistor, lorsqu'on le «traduit» dans un monde de robinets et de boyaux, pourrait ressembler à ceci, si vous le coupiez sur la longueur, et que vous regardiez cette coupe transversale. (Veuillez pardonner mes diagrammes affreux, j'aurais voulu avoir un vrai logiciel comme SolidWorks, de même que les habiletés pour m'en servir, mais tout ce que j'ai, c'est PowerPoint):

Schéma hydraulique d'un transistor à eau
Schéma hydraulique d'un transistor à eau

En gros, c'est un piston asymétrique à deux têtes, avec suffisamment de joints toriques («O-rings») pour assurer l'étanchéité à l'eau, diverses ouvertures pour brancher les boyaux IN, OUT, GND et VCC+, et finalement un ressort pour ramener le piston en position initiale.

Passons au travers d'un cycle d'opération typique d'un tel TAE (je vais me servir d'un «TAE Normalement Fermé», même s'il est facile de construire un «TAE Normalement Ouvert»). Supposons qu'on commence avec le TAE en position fermée, c'est-à-dire en position «Zéro logique»:

TAE en position Zéro logique
TAE en position Zéro logique

Comme vous pouvez voir sur cette figure, le boyau OUT n'a pas d'eau dedans. En d'autres mots, le TAE est en position «Zéro». (N'oubliez pas que les ordinateurs utilisent une logique binaire: Zéro ou Un, Vrai ou Faux, etc.) Supposons qu'on veut maintenant le mettre en position «Un logique», c'est-à-dire que nous voulons que le boyau OUT ait de l'eau dedans. Pour ce faire, on envoie de l'eau dans le boyau «IN»:

TAE qui commence à changer son état de Zéro à Un
TAE qui commence à changer son état de Zéro à Un

Sur ce dessin, vous pouvez voir que l'eau qui entre dans le boyau «IN» commence à pousser contre le piston. La raison pour laquelle le boyau IN peut activer le piston, pendant que le ressort «pousse en sens inverse» sur le piston, est que le piston a une forme spéciale. C'est le même principe que pour les crics hydrauliques utilisés pour soulever les voitures:

Équation physique de Halliday and Resnick, 6th Ed., p. 328
Équation physique de Halliday and Resnick, 6th Ed., p. 328

Éventuellement, la tête de piston du côté du côté des boyaux VCC+ et OUT donne accès au port OUT. L'eau peut alors passer du boyau VCC+ au boyau OUT, et le transistor à eau est maintenant dans l'état «Un logique». En d'autres mots, il y a un «Un» dans le boyau IN, ce qui donne un «Un» dans le boyau OUT:

TAE en position Un logique
TAE en position Un logique

Un dernier détail dans le cycle d'opération d'un TAE est que lorsque le piston revient en position «Zéro logique», le boyau OUT est automatiquement reconnecté au port GND. Ceci n'est que pour permettre au boyau OUT de se vider, pour qu'il soit prêt pour le cycle suivant. Si on ne le faisait pas, le TAE pourrait se barrer en position «Un logique» dans certaines circonstances.

TAE qui revient en position Zéro logique
TAE qui revient en position Zéro logique

4) Le reste du matériel de bas niveau

Une fois que nous avons un transistor à eau ou TAE qui fonctionne, le reste est conceptuellement simple, et techniquement assez difficile. La raison pour laquelle je dis que c'est conceptuellement simple, c'est que à partir d'ici, on n'a pas besoin d'inventer grand chose: tout bon livre de génie informatique nous dira comment construire des portes ET et OU en utilisant des TAE, et à partir de ça comment construire des Multiplexeurs, Décodeurs, Comparateurs, Décaleurs, Additionneurs, ALUs (Unités d'arithmétique à logique binaire), etc., en utilisant des portes ET et OU, etc. À partir de là, on peut construire de la mémoire vive, de la mémoire morte, une UCT (Unité Centrale de Traitement ou CPU), etc., jusqu'à temps qu'on ait un ordinateur complet.

Juste pour donner un petit aperçu de comment ceci pourrait se faire, voici une porte ET:

Porte ET faite de deux TAEs
Porte ET faite de deux TAEs

Et voici une porte OU conceptuelle:

Porte OU conceptuelle faite de deux TAEs
Porte OU conceptuelle faite de deux TAEs

Jusqu'à maintenant, j'ai été incapables de concevoir une porte OU avec moins de quatre TAE. Voici de quoi pourrait avoir l'air une porte OU plus réaliste:

Porte OU plus réaliste, faite de quatre TAEs
Porte OU plus réaliste, faite de quatre TAEs

Le deux TAE supplémentaires sont du type Normalement Ouvert, ce qui semble nécessaire à cause des problèmes avec la ligne GND (un TAE peut "se barrer" s'il n'est pas correctement mise à la terre). Attention! Je ne suis pas encore sûr que ce concept soit correct!

Pour l'ordinateur en tant que tel, on pourrait commencer avec une version très simplifiée du MIC-I de Tanenbaum (voir p. 213).

La raison pour laquelle ce projet m'apparaît techniquement assez difficile est qu'il y a plusieurs détails de la mise en oeuvre qui devraient être réglés. La partie suivante (N° 5) de cet article va explorer certains de ces détails techniques «ennuyeux». Si cela vous intéresse moins, vous pouvez aller directement à la section N° 6 ci-bas.

5) Une difficulté fondamentale: la conception et la construction du TAE

Parce qu'un ordinateur est composé d'une grande quantité de transistors, la manière dont le TAE sera fabriqué pourra faire réussir ou échouer ce projet d'Ordineau. Si chaque TAE est un petit peu trop coûteux, ou un petit peu trop lourd, ou un petit peu trop facile à briser, etc., alors une quantité énorme de TAE vont «additionner leurs défauts» et «couler» ce projet, soit à cause du coût excessif, ou du manque de fiabilité, etc.

Voici quelques exigences préliminaires pour le TAE, de même que certaines pistes de solution possibles pour la fabrication:

5.1) Fiabilité élevée. Le TAE ne doit pas couler en position ouverte ou fermée. Il doit s'ouvrir et se fermer complètement (c'est-à-dire ne pas s'arrêter à mi-chemin). Il ne doit pas s'enrayer.

Pistes de solution? Pour éviter les fuites et l'enrayage, on présume que des joints toriques de haute qualité, des surfaces bien usinées qui n'égratigneront ni ne couperont les joints toriques, un fluide filtré et purifié (comme de l'eau distillée), et peut-être un peu de lubrifiant ajouté à l'eau (ou tout autre fluide) utilisé pour faire fonctionner l'Ordineau. Pour éviter les enrayages, j'imagine qu'utiliser une pression d'eau suffisamment élevée, et des ressorts assez puissants, pourraient aider.

Problèmes? Forer les ports dans le cylindre sera difficile, car les joints toriques du côté «OUT» ne doivent pas être endommagés par les bords coupants.

5.2) Faible coût. Puisque par définition ce projet d'Ordineau n'aura jamais d'utilisation commerciale, les coûts devront être très modestes (les bailleurs de fonds seront probablement seulement quelques «tronches» («geek» en anglais), avec quelques subventions gouvernementales provenant de musées publiques).

Pistes de solution? Minimiser la taille (voir N° 5.3 ci-bas). Utiliser des pièces COTS (standard disponible sur le marché), comme des petits tuyaux transparents utilisés dans les dispositifs médicaux. On pourrait peut-être fabriquer le TAE avec une sorte de polymère (comme le Delrin), ce qui minimiserait les coûts, faciliterait la fabrication (c'est plus facile d'usiner du Delrin que de l'acier trempé!), éviterait la rouille, peut-être fournirait un peu d'auto-lubrification (comme pour des engrenages faits de Nylon), etc.

5.3) Petite taille. Si l'Ordineau est pour être d'une taille raisonnable, chaque TAE doit être aussi petit que possible. Les tailles plus petites, comme pour les vrais transistors, signifient probablement les coûts de fabrication réduits, des délais réduits pour la propagation des signaux, un cadence d'horloge plus rapide, une exposition itinérante qui est plus facile à monter et à démonter, etc.

Qu'est-ce qui va limiter la taille? Présumons qu'on prenne le plus petit tuyau transparent médical qui nous donne «un flux raisonnable» (comme celui utilisé pour certaines machines à intraveineuse). Étant donné ce diamètre intérieur («Di»), on sait aussi que la tête du piston du côté «OUT» ne peut pas avoir un diamètre plus petit. Ce Di semblerait aussi déterminer la course du piston, c'est-à-dire la distance de sa translation, puisque la tête de piston doit dégager le port OUT, du même Di. Une des seules variables indépendantes semblerait être le diamètre de la tête du piston du côté «IN». Il doit être assez grand pour fournir l'effet de levier hydraulique suffisant pour contrecarrer l'effet du ressort. Le ressort doit être assez fort pour «fermer» le TAE, surmonter la friction de trois joints toriques, avec une marge de sécurité pour éviter les enrayages, compenser pour la diminution de la résilience du ressort, etc.

5.4) «Regroupable». Normalement, il n'y aura pas de raison d'avoir des TAE individuels. Il devrait être possible de regrouper des TAE, réduisant ainsi la taille totale, et les coûts de fabrication.

Pistes de solution? Il serait bien de pouvoir mettre ces TAE «debout», un peu comme la structure alvéolaire des nids d'abeille, pour qu'on puisse les usiner d'un seul gros bloc de Delrin. Il faudrait qu'on trouve moyen de rendre les ports disponible autrement que par le côté, ou du moins de minimiser les côtés «occupés» par ces ports.

5.5) Facilité des tests, de l'inspection, de l'entretien.

Pistes de solution? Les «couvercles de piston» pourraient être faits de plastique transparent? Si on peut regrouper les TAE, ceci voudrait dire qu'on pourrait inspecter visuellement le fonctionnement des TAE assez rapidement. Si ces «couvercles de piston» étaient faciles à enlever, certains joints toriques pourraient être changés assez facilement.

6) Quelques idées générales de conception pour cet Ordineau

De quoi aurait l'air cet Ordineau?

Bien sûr, je ne peut pas le savoir avant qu'il soit conçu! Mais je présume qu'il ressemblerait beaucoup aux «présentations par affiches» qu'on voit dans les congrès de spécialistes. Chaque module de l'ordinateur (comme la mémoire vive, la mémoire morte, l'UCT, «l'écran») serait une unité autonome, un peu comme une affiche très épaisse montée sur des pattes solides. Ces aquariums-affiches seraient reliés par des «bus», c'est-à-dire des faisceaux de boyaux. (Voir Fig. 1: Esquisse de l'ordineau ci-haut.)

Un des avantages de ces aquariums-affiches seraient qu'ils auraient deux côtés, et qu'ils seraient en partie transparents. Un côté serait le côté «Physique», montrant les TAE, et les boyaux qui les relient (pour que les étudiants puissent voir le «schéma de câblage» du matériel). L'autre côté serait le côté «Logique», montrant que telle configuration de TAE était en fait un Additionneur, ou un Décaleur, etc. Ainsi, les étudiants pourraient passer d'un côté du module à l'autre, passant ainsi du niveau d'abstraction «Physique» au niveau «Logique». Sensass! Quel aide pédagogique merveilleuse!

Un autre avantage de ces aquariums-affiches serait que la couche de texte et de dessins serait amovible. En d'autres mots, il n'y aurait rien d'écrit sur le module en tant que tel. Les informations seraient imprimées sur une sorte de grosse acétate pour rétroprojecteur, elle-même fixée au module. Ceci voudrait dire qu'on pourrait adapter l'Ordineau pour les langues différentes (français, anglais, espagnol, etc.).

En théorie, on pourrait faire fonctionner l'ordineau avec un autre liquide (comme la fameuse bière) ou même un gaz, mais je pense que l'eau serait le meilleur choix: pas cher, non-toxique, anti-tache, facile à teindre, etc.

Quel que soit le liquide ou le gaz, je recommanderais une construction «à deux coques», pour éviter les fuites (les musées n'aiment pas les inondations!). Normalement, tout le fluid serait contenu dans les TAE et les boyaux, mais si une fuite se produisait, il serait bloqué par la coque étanche externe.

Puisque tout serait modulaire, et que les connections entre les modules seraient flexibles (les faisceaux de boyaux), l'exposition itinérante s'adapterait facilement à diverses configurations de salle. Ceci signifie qu'elle pourrait être installée dans des salles de musée ou d'école plus petites (ou biscornues).

Probablement aussi qu'une partie de l'exposition serait l'Ordineau en tant que tel, mais que la première partie de l'exposition expliquerait les composantes principales de cet ordinateur. Par exemple, un module pourrait être un seul gros transistor à eau, que les enfants pourraient faire fonctionner avec des valves. Une fois qu'ils auraient compris le TAE fondamental, le module suivant pourrait expliquer les portes ET et OU, et ainsi de suite, jusqu'à temps qu'on soit prêt à comprendre l'Ordineau au complet.

Puisque la mémoire morte («RAM» en anglais) sur un Ordineau n'est qu'un robinet ordinaire (s'il est fermé, c'est un Zéro, et s'il est ouvert, c'est un Un!), un module de l'ordinateur ne serait qu'un immense panneau de valves. Programmer l'ordinateur serait tout simplement tourner toutes les valves dans leur bonne position! Les programmes pourraient être «écrits» sur de grosses affiches-perforées (les trous laisseraient passer les poignées des valves). Les enfants pourraient choisir une affiche-perforée comme «Additionner 2 plus 2», la placer par-dessus la mémoire morte, puis ouvrir et fermer les valves correctement, et ensuite exécuter le programme! Les vieux de la vieille en auraient des larmes au yeux («Ah, des affiches-perforées, tout comme les cartes perforées dont on se servait quand j'ai commencé!», etc.).

L'horloge du CPU serait probablement comme une grosse horloge-piston qui «pousserait» l'eau dans tous les intrants au début du cycle, assez longtemps pour que le «signal» se propage dans toutes les portes. Ensuite, à la fin du cycle, l'horloge-piston se «connecterait à la masse», puisque (pour autant qu'on puisse voir en ce moment) tout le système devrait se «vidanger» au moins partiellement, entre chaque cycle d'horloge.

Comme (1) les enfants aiment manipuler les objets, et que (2) c'est difficile de voir passer de l'eau dans un tuyeau de plastique transparent, et que (3) rajouter des petites paillettes réfléchissantes ou tout autre particule dans l'eau pour qu'on la voit passer viendrait user les joints toriques et encrasser les mécanismes, je pense qu'on pourrait avoir des petits comptes-gouttes-binaires. Un peu partout dans l'ordineau, il y aurait de petits boutons qui injecterait du colorant alimentaire dans le flot d'eau. Un enfant, devant tel groupe de transistors, pourrait donc décider d'observer ce qui se passe. Il attendrait le prochain «cycle d'horloge», et injecterait quelques gouttes de colorant. Il pourrait donc voir les Zéros et les Uns se promener dans l'ordineau!

7) Conclusion

Bon, bon, j'avoue que je ne fais pas ceci pour les enfants. J'aurais bien aimé aller voir une telle exposition dans un musée quand j'étais jeune!

Savez-vous si un tel projet a déjà été réalisé? Sinon, pouvez-vous voir des défauts importants dans cette description préliminaire? Sinon, avez-vous d'autres idées qui pourraient rendre ce projet encore plus intéressant?

Merci!


8) Annexe 1: «Bibliographie»

Bien sûr, rien de tout ceci n'est vraiment nouveau. Les «transistors à eau» existent déjà, mais avec des noms différents, comme «télé-valves», ou «Amplificateurs micro-fluidiques à attachement de paroi», etc. Peut-être aussi que les «ordinateurs à eau» existent déjà (SVP nous le dire si vous en connaissez un!). Voici quelques liens de référence (merci à Michel S., Wayne C., Dave R., Andrew C. pour ces liens):

Fluidic XOR gate (Paulo Blikstein)
Fabrication of a Free-Floating Silicon Gate Valve (Papavasiliou, Leipmann, Pisano)
Basic Logic Valves Series 2L (Camozzi)
Design of Pneumatic and Fluidic Control Systems (Edward L., Holbrook)
The Research and Application Survey of Fluidic Amplifier (Yong, Shuxing, Ziguang)
K'Nex Logic (Mike Gleen)
Fluid chip does binary logic (microfluidic logic chips; Colorado School of Mines)
Fluid "Transistor" Circuits (Pure fluid amplifier; US Army's Diamond Ordnance Fuze Lab)
Fluidics (Wikipedia)
Bernard Gitton's Liquid Science
Bowles Fluidics (Douglas St. Clair)

Etc., etc., ...

Je n'ai pas les habiletés nécessaires pour évaluer les conceptions et produits existants. Néanmoins, il me semble qu'il y a des raisons pour lesquelles les produits existants ne seraient pas appropriées pour un «Ordineau»:

8.1) Souvent, les flots «VCC+», et «Intrant» ou «Extrant» ne sont pas à la même pression. J'ai vu quelques dispositifs existants qui étaient des «transistors à eau», mais qui exigeaient des pressions différentes. Mais dans un Ordineau, l'«Extrant» d'un TAE devient souvent l'«Intrant» d'un autre TAE.

8.2) Certains de ces dispositifs ne semblent pas capable de faire du travail . Que se passe-t-il si on a de la rétropression («backpressure») sur l'Extrant de certains de ces dispositifs?

8.3) Souvent, le mécanisme du dispositif n'est pas intuitif. En d'autres mots, ça marche, mais un enfant ne comprendrait pas pourquoi.

8.4) La nanotechnologie ne peut pas être un instrument pédagogique. La nanotechnologie est bien amusante, mais pour des fins pédagogiques, un enfant doit voir ce qui se passe.

8.5) Coût et taille. Certains TAE existent et fonctionnent, mais ils sont très gros et coûteux, donc l'Ordineau ne pourrait pas être construit avec ces TAE.

9) Annexe 2: Quelques idées sur la fabrication

Une fois de plus, je ne suis pas un ingénieur manufacturier, alors ce qui suit ne sont que des idées «en l'air».

En gros, tout serait fabriqué à partir de deux charges d'alimentation («feedstock») de Delrin, une ressemblant en gros à un madrier en bois dit «2x3», l'autre ressemblant à un «manche à balai». Le «2x3» serait le boîtier pour un râtelier de TAE:

2x3 de Delrin formant le boîtier d'une rangée de TAE
2x3 de Delrin formant le boîtier d'une rangée de TAE

Le «manche à balai» serait façonné en pistons et couvercles de piston intégrés dans le râtelier.

Vue transversale d'un TAE
Vue transversale d'un TAE

Légende Fig. 14:

A) Ligne IN (l'intrant).
B) Ligne GND (la mise à la terre).
C) Ligne OUT (l'extrant)
D) Puisque le boîtier serait assez mince ici, on pourrait peut-être voir la position du piston.
E) Ligne VCC+ (l'eau sous pression fournie par «l'horloge du CPU»)
F) Pour que les TAE soit «empilables» (afin d'augmenter la densité des transistors), nous devons rendre toutes les lignes accessibles de l'arrière. Je ne sais pas comment faire cela sans percer deux trous pour chaque ligne, pour ensuite boucher partiellement chaque trou, pour former une canalisation qui «tourne» à 90 degrés. Toutes les lignes  (IN, GND, OUT et VCC+) sont forées de cette manière, et ont un «bouchon».
G) Le boîtier principal pour un râtelier de TAE.
H) J'imagine qu'il y aurait du filetage ici, pour que le couvercle de piston puisse être vissés et être étanche à l'eau.
I) Voici où va le ressort, pour le TAE Normalement-Fermé. Pour le TAE Normalement-Ouvert, la ligne IN devrait aller jusqu'au bout, et entrer près du couvercle de piston. Je n'ai pas encore trop réfléchi à cela.
J) Couvercle de piston. J'espère que lui aussi (comme pour D) sera assez mince et donc translucide, pour qu'on puisse voir la position du TAE.
K) Deux petits trous forés dans le couvercle, pour qu'on puisse le visser et le dévisser.
L) Le piston en tant que tel.
M) Tous les «cercles» rouges sont les joints toriques sur le piston.
N) Cet amincissement de l'arbre du piston permet à l'eau de sortir par le GND.

Je ne m'y connais pas très bien en machines d'usinage CNC (commande numérique par ordinateur), comme les tours et les fraiseuses à alimentation automatique, mais j'imagine que le «manche à balai» pourrait être façonné en pistons et couvercles de piston assez automatiquement, et que le «2x3» pourrait être fraisé, foré et alésé lui aussi assez automatiquement.

10) Annexe 3: Courriel de M. Douglas St. Clair

Voir version anglaise.

| Accueil >> Varia >> Génie logiciel