De l’algèbre de Toto à la broche électronique à 14 pattes

On part de l’algèbre (de Boole), de la logique, et de l’opération algébrique élémentaire [1 + 1 = 2 ? non, 10… en base 2 ; me revient l’histoire de Toto qui se plaint à son père « L’instituteur y fait rien que m’embêter à me poser des questions difficiles »…l’instituteur à l’enfant, devant le père courroucé : « OK, Toto, 2 + 2 çà fait combien ? » Toto : « Tu vois papa, y commence »] et on va vers l’opération algébrique, la même , l’addition, dans un ordinateur, une addition juste un peu plus complexe, et faite à une cadence de 1,5 milliards (processeur 1,5GHz) d’opérations unitaires par seconde (là Toto est indiscutablement battu…).


Etape 1 : On prend un transistor N (p.e. du silicium de valence 4 dopé par du phosphore de valence 5) (schéma) : si la grille G=0 (0V), le transistor est bloqué, aucun courant ne passe ; si G=1 (2V), le transistor est passant. Pour un transistor P (p.e. du silicium dopé au bore de valence 3), c’est rien que le contraire, comme dirait Toto.



Etape 2 :
On réalise un inverseur (schéma) : si A est au potentiel haut (2V, A = 1): le transistor P (en haut, distingué du N par un point vert) est bloqué ; le transistor N (en bas) est passant. B est au potentiel de la masse en bas : B = 0. Si A est au potentiel bas (0V, A = 0), c’est rien que le contraire…B est au potentiel de la flèche en haut (2V, A=1). On a bien réalisé un inverseur avec deux transistors, avec la « table de vérité » suivante :
A B
1 0
0 1

Etape 3 : On réalise un full-adder (FA, addition de deux bits). Je vous passe le schéma électronique, plus compliqué, avec de nombreux transistors, mais regardons sa table de vérité (comme l’inverseur, tableau).

C A B R S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
1 0 0 0 1
0 1 1 1 0
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Avec trois entrées A,B,C (pour additionner deux bits, on besoin de trois entrées, on comprendra pourquoi à l’étape suivante), elle nous donne deux sorties R et S telles que A + B + C = 2R + S [ou, en base 2, A + B + C = 10R + S] ; et R, c’est quoi ?… une retenue ! Le full-adder, c’est le composant qui fait comme vous quand vous posez une addition à deux chiffres 9 + 7, il « pose » 6 (S) et il « retient » 1 (R).

 

Etape 4 : Alors maintenant, on réalise un « additionneur 8 bits », comme son nom l’indique il additionne deux nombres, soit deux octets – huit bits chacun, des 0 ou des 1, A7A6A5AA3A2A1A0 et B7B6B5B4B3B2B1B0. Vous mettez 8 full-adders en série, au premier à droite vous injectez A=A0, B=B0, C=0 (notations A,B,C de l’étape 3), il vous pose S0 et retient R0 ; au second à côté vous injectez A=A1, B=B1, C=R0 (la retenue, justement), il vous pose S1 et retient R1, et ainsi de suite…. !

L’additionneur 8 bits, c’est le composant qui fait comme vous quand vous posez une addition à plusieurs chiffres, il transporte les retenues d’un FA à l’autre vers la gauche comme vous transportez les retenues d’une colonne à l’autre vers la gauche… (une précision sur C dernière sortie à gauche sera donnée en commentaire). On obtient bien la somme S7S6S5S4S3S2S1S0



Etape 5 :
moi j’aime bien visualiser les choses. Les étapes 1, 2, 3 correspondent à une réalité physique, à un composant électronique : l’additionneur 4bits est par exemple chez le fabricant TexasInstr le 7483. Dans la même famille des 7400, voyez la photo d’une broche 7400 correspondant à quatre portes logiques (NON-ET). Cette photo familière est là pour visualiser la broche, comprendre ce qu’il y a derrière : une architecture de circuit (comme celles du transistor ou de l’inverseur données ci-dessus) et une table de vérité.


Tout ceci est bien expliqué (sans Toto) sur Wikibooks