Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Calculer la sortie d'un circuit (portes logiques)

Après cette leçon: Je peux calculer la sortie d'un circuit logique.

Leçon de 50 min3 commandesLab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Quand la barrière du parking s'ouvre

À la sortie du parking d'un supermarché, la barrière s'ouvre si le ticket est payé et qu'une voiture est devant. L'agent peut aussi l'ouvrir avec son bouton, à tout moment.

Une règle comme celle-ci est construite avec de toutes petites pièces qui répondent oui ou non. Le processeur de ton téléphone en contient des milliards.

À la fin de cette leçon

Remarque

Je peux calculer la sortie d'un circuit logique.

Mots clés

MotCe que ça veut direExemple
Porte logiqueune petite pièce qui change des bits d'entrée en un bit de sortie
Entréeun bit qui arrive dans une porte
Sortiele bit que la porte rend
Table de véritéun tableau de toutes les entrées possibles et de leur sortie
Expression booléenneun circuit écrit avec ET, OU et NONA ET B
Demi-additionneurun circuit qui additionne deux bits

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Trois portes de base

Un 1 veut dire oui, ou allumé. Un 0 veut dire non, ou éteint.

Une porte ET donne 1 seulement si ses deux entrées valent 1. Une porte OU donne 1 si au moins une entrée vaut 1. Une porte NON a une seule entrée et l'inverse. Une porte NON-ET est un ET suivi d'un NON. Une porte NON-OU est un OU suivi d'un NON.

Table de vérité de ET et de OU

ABA ET BA OU B
0000
0101
1001
1111

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Avant de commencer

Remarque

Appuie sur Start the lab dans la barre en haut et attends que la machine soit prête. Chaque bouton Run tape sa commande dans le terminal, l'une après l'autre.

Python et le shell ont des portes

En Python et dans le shell, & veut dire ET, | veut dire OU et ^ veut dire OU exclusif, qu'on écrit aussi XOR. Le OU exclusif donne 1 quand les deux entrées sont différentes.

Avec deux entiers, chaque opérateur applique sa porte à chaque paire de bits, place par place.

OU sur chaque paire de bits

Commande
python3 -c "print(0 | 0, 0 | 1, 1 | 0, 1 | 1)"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Trois portes sur 6 et 3

Commande
echo $(( 6 & 3 )) $(( 6 | 3 )) $(( 6 ^ 3 ))

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Exemple : des portes sur 6 et 3

BitsDécimal
61106
30113
6 ET 30102
6 OU 31117
6 OU exclusif 31015

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lire un circuit comme une expression

On peut relier des portes : la sortie de l'une devient l'entrée de la suivante. On écrit alors le circuit en expression booléenne : Q = (A OU B) ET (NON C).

Calcule-la comme une opération. Fais d'abord les parenthèses, puis la porte qui les relie. Avec trois entrées, la table de vérité a huit lignes.

Exemple : sa table de vérité

ABCA OU BNON CQ
000010
001000
010111
011100
100111
101100
110111
111100

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Deux portes additionnent deux bits

En binaire, 1 + 1 donne 10 : on pose 0 et on retient 1. Un demi-additionneur fait ce calcul avec deux portes.

Le bit de somme vaut A OU exclusif B. Le bit de retenue vaut A ET B. Des chaînes d'additionneurs comme celui-ci permettent au processeur d'additionner de grands nombres.

La somme et la retenue de 1 + 0

Commande
python3 -c "print(1 ^ 0, 1 & 0)"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup pensent que OU veut dire l'un ou l'autre, mais pas les deux, comme « fromage ou dessert » au restaurant. En logique, OU donne aussi 1 quand les deux entrées valent 1. La porte pour « l'un mais pas les deux » est le OU exclusif.

Pour aller plus loin : la barrière du parking

Reprends la barrière du début. T vaut 1 si le ticket est payé, V si une voiture est devant, et G si l'agent appuie sur son bouton.

Écris l'expression booléenne de la barrière avec T, V et G. Fais ensuite sa table de vérité de huit lignes. Dans combien de lignes la barrière s'ouvre-t-elle ?

À propos de ce labo et de sa source: Lab de compilation et d’architecture : gcc, flex, bison et RISC-V dans une VM

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.