Circuits logiques

Électronique logique

Le transistor largement utilisé dans les circuits d'électronique analogique (comme amplificateur principalement) fonctionne très bien en tout ou rien. Comme on est arrivé à le miniaturiser et à le juxtaposer à grande échelle (un million sur quelques mm2), on a pu concevoir une électronique logique d'une grande complexité.

Une variable logique est binaire, elle ne peut prendre que deux valeurs qu'on choisit conventionnellement d'écrire 0 et 1. Autrement dit c'est un bit.

Un circuit logique a une entrée logique (ou plusieurs) et une sortie logique.
Le circuit le plus simple a une entrée et une sortie. Et comme fonction, la fonction logique NON (NOT en anglais). Il se traduit par la table de vérité :

NOT
0 1
1 0

Une fonction un peu plus compliquée est la fonction ET (AND) qui a deux entrées et la table de vérité :

and 0 1
0 0 0
1 0 1

Comme on s'y attend pour un ET, la sortie ne vaut 1 que lorque les deux entrées valent 1.

Le OU (OR) est un peu le complément du ET :

or 0 1
0 0 1
1 1 1

La sortie vaut 1 dès que l'une des entrées vaut 1. C'est le OU inclusif.

Le OU exclusif (XOR) :

xor 0 1
0 0 1
1 1 0

correspond au ou de l'un ou l'autre.

Calcul logique

Considérons l'addition, la plus simple qui soit, de deux variables logiques. Chacune vaut 0 ou 1, la somme vaut donc :

add 0 1
0 0 1
1 1  

où l'on a laissé une case vide car la somme de 1 et 1 vaut 2 ce qui n'entre pas dans le cadre d'une variable logique (un seul chiffre binaire).
2 s'écrivant 10, il est naturel de compléter la case vide par un 0 en précisant qu'il y a une retenue de 1. Cette retenue ne vaut 1 que lorsque les deux variables à ajouter valent 1.
La fonction addition (sur un chiffre) est donc réalisée par un XOR pour le dernier chiffre et à un AND pour la retenue.

La suite peut s'imaginer en rajoutant des circuits pour les autres bits pour faire un additionneur 8 bits, puis à composer le circuit qui réalise la soustraction (le NOT inverse les bits). Ensuite, pour la multiplication on utlisera deux nouveaux circuits de base : le registre à décalage et le compteur. Pour la division c'est un peu plus compliqué mais se ramène néanmoins à des circuits composés de quelques transistors.
L'avantage de cette arithmétique binaire c'est qu'elle s'exécute très rapidement.