Portes logiques

Difficulté Facile
Note
Thématiques
Mis à jour le mercredi 19 mars 2014

C'est bien beau de savoir coder des bits et d'avoir des transistors pour les manipuler, mais j'aimerais savoir comment on fait pour triturer des bits avec des transistors ?

Et bien que vos vœux soient exhaussés ! La solution consiste à rassembler ces transistors dans ce qu'on appelle des circuits logiques.

Ce sont simplement des petits circuits, fabriqués avec des transistors, qui possèdent des sorties et des entrées, sur lesquelles on va placer des bits pour les manipuler. Ces entrées et ces sorties ne sont rien d'autre que des morceaux de "fil" conducteur sur lesquelles on peut mesurer une tension qui représente un zéro ou un 1. Sur chaque entrée du composant, on peut forcer la valeur de la tension, histoire de mettre l'entrée à 0 ou à 1. A partir de là, le circuit électronique va réagir et déduire la tension à placer sur chacune de ses sorties en fonction de ses entrées.

Autant vous le dire tout de suite, votre ordinateur est remplit de ce genre de choses. Quasiment tous les composants de notre ordinateur sont fabriqués avec ce genre de circuits. Par exemple, notre processeur est un composant électronique comme un autre, avec ses entrées et ses sorties.

Image utilisateur

Brochage d'un processeur MC68000.

L'exemple montré au dessus est un processeur MC68000, un vieux processeur, présent dans les calculatrices TI-89 et TI-92, qui contient 68000 transistors (d'où son nom : MC68000) et inventé en 1979. Il s'agit d'un vieux processeur complètement obsolète et particulièrement simple. Et pourtant, il y en a des entrées et des sorties : 37 au total ! Pour comparer, sachez que les processeurs actuels utilisent entre 700 et 1300 broches d'entrée et de sortie. A ce jeu là, notre pauvre petit MC68000 passe pour un gringalet !

Néanmoins, quelque soit la complexité du circuit à créer, celui-ci peut être construit en reliant quelques petits circuits de base entre eux. Ces circuits de base sont nommés des portes logiques. Il existe trois portes logiques qui sont très importantes et que vous devez connaitre : les portes ET, OU et NON. Mais pour se faciliter la vie, on peut utiliser d'autres portes, plus ou moins différentes. Voyons un peu quelles sont ces portes, et ce qu'elles font.

La porte NON

Le premier opérateur fondamental est la porte NON aussi appelée porte inverseuse. Cette porte agit sur un seul bit.

Elle est symbolisée par le schéma suivant :

Image utilisateur

Pour simplifier la compréhension, je vais rassembler les états de sortie en fonction des entrées pour chaque porte logique dans un tableau qu'on appelle table de vérité. Voici celui de la porte NON :

Entrée

Sortie

0

1

1

0

Le résultat est très simple, la sortie d'une porte NON est exactement le contraire de l'entrée.

Câblage

Cette porte est fabriquée avec seulement deux transistors et son schéma est diablement simple. Voici le montage en question.

Image utilisateur

Je crois que çà mérite une petite explication, non ?

Rappelez-vous qu'un transistor CMOS n'est rien d'autre qu'un interrupteur, qu'on peut fermer suivant ce qu'on met sur sa grille. Certains transistors se ferment quand on place un 1 sur la grille, et d'autres quand on place un zéro.

L'astuce du montage vu plus haut consiste à utiliser deux transistors différents :

  • celui du haut conduit le courant quand on place un 0 sur sa grille, et ne conduit pas le courant sinon ;

  • et celui du bas fait exactement l'inverse.

Si on met un 1 en entrée de ce petit montage électronique, le transistor du haut va fonctionner comme un interrupteur ouvert, et celui du bas comme un interrupteur fermé. On se retrouvera donc avec notre sortie reliée au zéro volt, et donc qui vaut zéro.

Image utilisateur

Inversement, si on met un 0 en entrée de ce petit montage électronique, le transistor du bas va fonctionner comme un interrupteur ouvert, et celui du haut comme un interrupteur fermé. On se retrouvera donc avec notre sortie reliée à la tension d'alimentation, qui vaudra donc 1.

Image utilisateur

Comme vous le voyez, avec un petit nombre de transistors, on peur réussir à créer de quoi inverser un bit. Et on peut faire pareil avec toutes les autres portes élémentaires : on prend quelques transistors, on câble cela comme il faut, et voilà une porte logique toute neuve !

La porte ET

Maintenant une autre porte fondamentale : la porte ET.

Cette fois, différence avec la porte NON, la porte ET a 2 entrées, mais une seule sortie.

Voici comment on la symbolise :

Image utilisateur

Cette porte a comme table de vérité :

Entrée 1

Entrée 2

Sortie

0

0

0

0

1

0

1

0

0

1

1

1

Cette porte logique met sa sortie à 1 quand toutes ses entrées valent 1.

Porte NAND

La porte NAND est l'exact inverse de la sortie d'une porte ET. Elle fait la même chose qu'une porte ET suivie d'une porte NON.

Sa table de vérité est :

Entrée 1

Entrée 2

Sortie

0

0

1

0

1

1

1

0

1

1

1

0

Cette porte a une particularité : on peut recréer les portes ET, OU et NON, et donc n'importe quel circuit électronique, en utilisant des montages composés uniquement de portes NAND. A titre d'exercice, vous pouvez essayez de recréer les portes ET, OU et NON à partir de portes NAND. Ce serait un petit entrainement assez sympathique. Après tout, si ça peut vous occuper lors d'un dimanche pluvieux. :p

On la symbolise par le schéma qui suit.

Image utilisateur

Câblage

Implémenter une porte NAND avec des transistors CMOS est un peu plus complexe qu'implémenter une porte NON. Mais qu'à cela ne tienne, voici en exclusivité : comment créer une porte NAND avec des transistors CMOS !

Image utilisateur

Ce schéma peut s'expliquer très simplement. Tout d'abord, vous verrez qu'il y a deux grands blocs de transistors dans ce circuit : un entre la sortie et la tension d’alimentation, et un autre entre la sortie et la masse. Tous les circuits CMOS suivent ce principe, sans exception. Ensuite, on peut remarquer que tous les transistors placés entre la tension d'alimentation et la sortie sont des transistors PMOS. De même, tous les transistors placés entre la masse et la sortie sont des transistors NMOS. Ceci est encore une fois vrai pour tous les circuits CMOS.

Regardons ces deux parties l'une après l'autre, en commençant par celle du haut.

Image utilisateur

Celle-ci sert à connecter la sortie sur la tension d'alimentation du circuit. Nos deux transistors sur de type PMOS : ils se ferment quand on leur met un 0 sur la grille. Or, les transistors sont mis en parallèle : si un seul de ces deux transistors est fermé, la tension d'alimentation sera reliée à la sortie et elle passera à 1. Donc, si une seule des deux entrées est à 0, on se retrouve avec un 1 en sortie.

Passons maintenant à l'autre bloc de transistors.

Image utilisateur

Cette fois-ci, c'est l'inverse : nos transistors sont reliés les uns à la suite des autres : il faut que les deux soient fermés pour que la masse soit connectée à la sortie. Et les transistors sont cette fois des transistors NMOS : ils se ferment quand on leur met un 1 sur leur grille. Donc, pour avoir un zéro en sortie, il faut que les deux entrées soient à 1. Au final on obtient bien une porte NAND.

La porte OU

Maintenant une autre porte fondamentale : la porte OU.

Cette fois, comme la porte ET, elle possède 2 entrées, mais une seule sortie.

On symbolise cette porte comme ceci :

Image utilisateur

Cette porte est définie par la table de vérité suivante :

Entrée 1

Entrée 2

Sortie

0

0

0

0

1

1

1

0

1

1

1

1

Cette porte logique met sa sortie à 1 quand au moins une de ses entrées vaut 1.

Porte NOR

La porte NOR est l'exact inverse de la sortie d'une porte OU. Elle est équivalente à une porte OU suivie d'une porte NON.

Sa table de vérité est :

Entrée 1

Entrée 2

Sortie

0

0

1

0

1

0

1

0

0

1

1

0

On peut recréer les portes ET, OU et NON, et donc n'importe quel circuits électronique, en utilisant des montages composés uniquement de portes NOR. Comme quoi, la porte NAND n'est pas la seule à avoir ce privilège. Cela a une conséquence : on peut concevoir un circuits en n'utilisant que des portes NOR. Pour donner un exemple, sachez que les ordinateurs chargés du pilotage et de la navigation des missions Appollo étaient intégralement conçus uniquement avec des portes NOR.

A titre d'exercice, vous pouvez essayez de recréer les portes ET, OU et NON à partir de portes NOR. Si vous en avez envie, hein ! :-°

On la symbolise avec le schéma qui suit.

Image utilisateur

Câblage

Implémenter une porte NOR avec des transistors CMOS ressemble à ce qu'on a fait pour la prote NAND.

Image utilisateur

Ce schéma peut s'expliquer très simplement. Encore une fois, on va voir chacune des deux parties (celle du haut et celle du bas) l'une après l'autre, en commençant par celle du haut.

Image utilisateur

Celle-ci sert à connecter la sortie sur la tension d'alimentation du circuit. Nos deux transistors sur de type PMOS : ils se ferment quand on leur met un 0 sur la grille. Nos transistors sont reliés les uns à la suite des autres : il faut que les deux soient fermés pour que la masse soit connectée à la sortie. les deux entrées doivent être à zéro pour que l'on ait un 1 en sortie.

Passons maintenant à l'autre bloc de transistors.

Image utilisateur

Les transistors sont des transistors NMOS : ils se ferment quand on leur met un 1 sur leur grille. Cette fois, les transistors sont mis en parallèle : si un seul de ces deux transistors est fermé, la tension d'alimentation sera reliée à la sortie et elle passera à 0. Donc, si une seule des deux entrées est à 1, on se retrouve avec un 1 en sortie. Au final on obtient bien une porte NOR.

Porte XOR

Avec une porte OU , deux ET et deux portes NON, on peut créer une porte nommée XOR. Cette porte est souvent appelée porte OU Exclusif.

Sa table de vérité est :

Entrée 1

Entrée 2

Sortie

0

0

0

0

1

1

1

0

1

1

1

0

On remarque que sa sortie est à 1 quand les deux bits placés sur ses entrées sont différents, et valent 0 sinon.

On la symbolise comme ceci :

Image utilisateur

Porte NXOR

La porte XOR posséde une petite soueur : la NXOR.

Sa table de vérité est :

Entrée 1

Entrée 2

Sortie

0

0

1

0

1

0

1

0

0

1

1

1

On remarque que sa sortie est à 1 quand les deux bits placés sur ses entrées sont différents, et valent 0 sinon. Cette porte est équivalente à une porte XOR suivie d'une porte NON.

On la symbolise comme ceci :

Image utilisateur

Les auteurs