← Vizion.Blog / Licence / Architecture des ordinateurs

Cours rédigé par Claude, une IA d'Anthropic, pour mes révisions de L1, à partir de mes notes de cours : il s'adresse donc à moi (« tes notes », « ta prof »).

Architecture des ordinateurs, séance du 5 octobre

Les portes logiques, depuis le tout débutSix portes, leurs tables de vérité, les expressions booléennes, et comment passer d'une expression à un circuit dans Logisim.

Les additions de ta page sur le binaire, le processeur les fait avec des circuits construits à partir de six briques : les portes logiques. Tu en connais déjà trois sous un autre nom : le non, le et et le ou de ton cours de logique. Cette page prépare la séance du 5 octobre et le TP Logisim. Tous les circuits sont vivants : clique sur les carrés d'entrée pour changer leur valeur.

0Mode d'emploi

Comment travailler

  • Clique sur les carrés à gauche des circuits pour basculer les entrées entre 0 et 1. Comme dans Logisim, un fil vert vif vaut 1, un fil vert sombre vaut 0.
  • Remplis chaque table de vérité à la main avant de regarder celle de la page.
  • Réponds aux questions « Vérifie-toi » avant de cliquer.
  • Rythme conseillé : sections 1 à 4 avant la séance, 5 à 7 juste après, la section 8 avant le TP, puis les exercices de la section 9.

Tu connais déjà ces portes

Les portes NON, ET, OU sont les connecteurs ¬, ∧, ∨ de ta page La logique, depuis le tout début, avec 1 à la place de V et 0 à la place de F. Seules les notations changent :

cours de logiquearchitecturePythonRacket
non¬aanot a(not a)
eta ∧ ba·b ou aba and b(and a b)
oua ∨ ba + ba or b(or a b)

Les mots, et où ils sont expliqués

1Du transistor à la porte

1.1 Un interrupteur commandé par une tension

Un interrupteur ordinaire est commandé par ton doigt. Un transistor (transistor) est un interrupteur commandé par une tension : selon la tension appliquée sur sa commande, il laisse passer le courant ou le bloque. Un processeur en contient des milliards, et chacun peut basculer des milliards de fois par seconde.

1.2 En série, en parallèle

Branche deux interrupteurs avant une lampe. En série, le courant doit traverser les deux : la lampe s'allume si a et b sont fermés. En parallèle, il a deux chemins : il suffit que a ou b soit fermé. Tu as peut-être câblé ce montage en CIEL.

1.3 On oublie l'électricité

Une porte logique (logic gate) est un petit groupe de transistors câblés pour que la tension de sortie dépende des tensions d'entrée selon une règle fixe. À partir de maintenant, on oublie l'électricité : chaque fil vaut 0 ou 1, et chaque porte calcule une fonction de ses entrées. C'est la même idée qu'en programmation : quand tu écris a and b en Python, tu ne penses pas aux transistors. On appelle ça une abstraction.

2Les six portes

Une porte reçoit une ou plusieurs entrées (inputs) à gauche, et produit une sortie (output) à droite. Chaque porte a un symbole, une notation et une table de vérité.

Reconnaître les symboles

  • ET a le dos plat et l'avant arrondi, comme un D. Pense à AND, qui finit par un D.
  • OU a le dos creusé et l'avant pointu, comme une pointe de flèche.
  • XOR est un OU avec une deuxième ligne courbe derrière le dos.
  • Le petit rond (la bulle) sur la sortie veut dire « on inverse ». NON est un triangle avec une bulle, NAND est un ET avec une bulle, NOR est un OU avec une bulle.

Deux familles de symboles

Logisim dessine par défaut les symboles américains, ceux de cette page. Les manuels français utilisent souvent la norme européenne (CEI 60617) : un rectangle avec « & » pour ET, « ≥1 » pour OU, « =1 » pour XOR, « 1 » pour NON, et une bulle pour l'inversion. Le bouton au-dessus de la galerie change tous les dessins de la page. Il faut savoir lire les deux.

2.1 Les six tables, côte à côte

Toutes les règles tiennent dans ce tableau. Les lignes sont rangées en comptant en binaire : 00, 01, 10, 11.

abNON aETOUXORNANDNOR
00100011
01101110
10001110
11011000

2.2 Le banc d'essai

Choisis une porte, puis clique sur les entrées a et b. La ligne correspondante de la table s'allume.

Logisim propose aussi XNOR (NON-OU exclusif), qui vaut 1 quand les deux entrées sont égales : c'est un détecteur d'égalité.

Vérifie-toi (section 2)

Quelle porte donne 1 seulement quand ses deux entrées valent 0 ?

NOR = NON (a OU b) : il faut qu'aucune entrée ne soit à 1.

Quelle porte détecte que deux bits sont différents ?

XOR vaut 1 exactement sur les lignes 01 et 10.

Que vaut NAND(1, 1) ?

ET(1, 1) = 1, inversé : 0. C'est la seule ligne où NAND vaut 0.

3Les tables de vérité

La table de vérité (truth table) d'un circuit donne sa sortie pour toutes les combinaisons possibles des entrées. Elle décrit complètement ce que fait le circuit.

Combien de lignes ?

Avec n entrées, il y a 2n lignes : 4 lignes pour 2 entrées, 8 pour 3, 16 pour 4. C'est le « 2n valeurs avec n bits » de ta page sur le binaire.

On range les lignes en comptant en binaire : 000, 001, 010, …, 111. La colonne de droite alterne 0, 1, 0, 1 ; celle du milieu change tous les 2 ; celle de gauche tous les 4. Avec cette méthode, tu n'oublies jamais une ligne.

3.1 Combien de fonctions différentes ?

Une table à 2 entrées a 4 lignes, et chaque ligne peut valoir 0 ou 1 : il y a donc 2⁴ = 16 tables possibles, c'est-à-dire 16 fonctions différentes de 2 entrées. Nos six portes en sont six. Parmi les dix autres, certaines sont sans intérêt (toujours 0, toujours 1, recopier a), d'autres se construisent avec nos portes. Avec 3 entrées, il y a 2⁸ = 256 fonctions.

3.2 Portes à plus de deux entrées

XOR à trois entrées dans Logisim

Dans Logisim, une porte XOR à plus de deux entrées a un réglage nommé Multiple-Input Behavior. Dans la version 2.7, la valeur par défaut est « exactement une entrée à 1 », pas « un nombre impair ». Avec trois entrées à 1, les deux réglages ne donnent pas le même résultat : vérifie cet attribut.

Pourquoi XOR calcule la parité

La parité d'une suite de bits, c'est la réponse à la question : « combien de 1 y a-t-il, un nombre pair ou impair ? ». On ne compte pas les 1 exactement, on regarde seulement s'il en reste un quand on les range par paires.

Avec deux entrées, c'est déjà la définition de XOR. a ⊕ b vaut 1 quand a et b sont différents, c'est-à-dire quand il y a exactement un 1 parmi les deux : un nombre impair. Quand il y a zéro ou deux 1, deux nombres pairs, XOR vaut 0.

abnombre de 1pair ou impair ?a ⊕ b
000pair0
011impair1
101impair1
112pair0

Avec plus d'entrées, on enchaîne les XOR. Regarde ce que fait un XOR avec un bit : x ⊕ 0 = x (rien ne change) et x ⊕ 1 = x (ça s'inverse). Un XOR se comporte donc comme un interrupteur qu'on bascule : chaque 1 rencontré le fait changer d'état, chaque 0 le laisse tranquille. On part de 0, on lit les bits un par un, et à la fin l'état vaut 1 si on a basculé un nombre impair de fois. Pour 1011 :

départ0 ⊕ 11 (on bascule) ⊕ 01 (rien ne change) ⊕ 10 (on bascule) ⊕ 11 (on bascule) : trois 1, impair

C'est la lampe de l'escalier de la section 2, avec autant d'interrupteurs que de bits. En Python, c'est une accumulation que tu connais :

etat = 0
for bit in [1, 0, 1, 1]:
    etat = etat ^ bit      # bascule si bit vaut 1
print(etat)                # 1, comme sum([1, 0, 1, 1]) % 2

Un lien de plus avec la page sur le binaire : a ⊕ b, c'est la colonne S du demi-additionneur (section 7), le chiffre des unités de a + b. La parité d'une suite de bits, c'est donc le dernier bit de leur somme : 1 + 0 + 1 + 1 = 3 = (11)₂, qui finit par 1.

À quoi sert la parité : détecter une erreur

Un ordinateur veut envoyer les 7 bits 101 1001 par un câble où le bruit électrique peut abîmer un bit. Ils contiennent quatre 1, un nombre pair. On ajoute un huitième bit, le bit de parité, choisi pour que le nombre total de 1 soit pair : ici 0. On envoie 1011 0010.

Le récepteur fait le XOR des 8 bits reçus. S'il trouve 0, le nombre de 1 est pair : tout va bien. Si un bit a été inversé en route, il y a un 1 de plus ou de moins, le nombre de 1 devient impair, et le XOR donne 1 : l'erreur est détectée.

Limites : si deux bits sont abîmés, le nombre de 1 redevient pair et l'erreur passe inaperçue. Et même quand l'erreur est détectée, on ne sait pas quel bit est faux.

Vérifie-toi (section 3)

Combien de lignes a la table d'un circuit à 4 entrées ?

2⁴ = 16 lignes, de 0000 à 1111.

Une porte XOR (parité) à 3 entrées reçoit 1, 1 et 1. Sa sortie ?

1 ⊕ 1 = 0, puis 0 ⊕ 1 = 1. Mais attention au réglage de Logisim.

4Les expressions booléennes

Une expression booléenne (Boolean expression) décrit un circuit avec des lettres et des symboles, comme une formule de maths. Elle porte le nom de George Boole, qui a inventé ce calcul au XIXe siècle, bien avant les ordinateurs.

4.1 Les notations

portenotationse lit
NONa« a barre », ou « non a »
ETa·b, ou simplement ab« a et b »
OUa + b« a ou b »
XORa ⊕ b« a ou exclusif b »
NANDa·b« non (a et b) »
NORa + b« non (a ou b) »

4.2 Les priorités

Comme en calcul, où × passe avant +, il y a un ordre : d'abord NON, puis ET, puis OU. Ainsi a + b·c se lit a + (b·c), comme 2 + 3 × 4 se lit 2 + (3 × 4).

Une barre posée sur un groupe joue le rôle de parenthèses : a·b veut dire « non (a·b) ». Ce n'est pas la même chose que a·b, où chaque lettre est inversée séparément. Pour XOR, mets toujours des parenthèses, les conventions varient.

Le « + » n'est pas une addition

En algèbre de Boole, 1 + 1 = 1 : « vrai ou vrai » est vrai. Dans ta page sur le binaire, 1 + 1 = 10 : c'est l'addition de deux nombres. Même symbole, deux sens. Le contexte décide : expression booléenne ou calcul binaire.

4.3 Évaluer une expression, colonne par colonne

On procède comme dans ton cours de logique : une colonne par morceau de l'expression, du plus petit au plus grand. Exemple, S = a·b + a·c :

abcaa·ba·cS
0001000
0011011
0101000
0111011
1000000
1010000
1100101
1110101

Regarde la colonne S : quand a = 1, S recopie b ; quand a = 0, S recopie c. Ce circuit est un aiguillage : a choisit laquelle des deux entrées passe. On l'appelle un multiplexeur (multiplexer), et tu le retrouveras le 19 octobre.

Vérifie-toi (section 4)

Que vaut a + b·c pour a = 0, b = 1, c = 1 ?

b·c = 1, puis 0 + 1 = 1.

Pour a = 1 et b = 0, que valent a·b (une seule barre longue : non(a·b)) et a·b (deux barres courtes : (non a)·(non b)) ? Pas besoin de table : on calcule une seule ligne.

a·b = 0 = 1, alors que a·b = 0·1 = 0. Une barre longue n'est pas deux barres courtes.

En algèbre de Boole, 1 + 1 = ?

Vrai ou vrai, c'est vrai : 1.

5D'une expression à un circuit, et retour

Ta prof veut que tu saches passer de l'un à l'autre dans les deux sens. Une expression et un circuit sont deux écritures de la même chose.

5.1 De l'expression au circuit

La méthode

  1. Repère l'opération calculée en dernier (en tenant compte des priorités) : c'est la porte qui touche la sortie.
  2. Chacun de ses opérandes devient un fil d'entrée de cette porte.
  3. Recommence sur chaque opérande, jusqu'à tomber sur les entrées a, b, c.

Pour S = a·b + a·c, la dernière opération est le + : une porte OU en sortie. Ses deux entrées sont a·b (une porte ET) et a·c (une autre porte ET, dont la première entrée passe par une porte NON).

Le lien avec Racket

En Racket, la même expression s'écrit (or (and a b) (and (not a) c)). Chaque paire de parenthèses est une porte, et l'emboîtement des parenthèses est le câblage. L'arbre de l'expression (expression tree) que tu manipules en programmation fonctionnelle, c'est le circuit.

5.2 Du circuit à l'expression

On part des entrées, et on écrit sur chaque fil l'expression qu'il transporte, porte après porte, jusqu'à la sortie. Dans le laboratoire ci-dessous, coche « écrire l'expression transportée par chaque fil » pour voir la méthode appliquée.

5.3 Le laboratoire des circuits

Tape une expression : la page dessine le circuit et calcule sa table de vérité. Tu peux décrire plusieurs sorties, séparées par un point-virgule.

Comment écrire

entréesa b c d, et les constantes 0 1 NON!a ou a' (l'apostrophe se met après) ETa.b, a*b, ou simplement ab OUa + b XORa ^ b NAND, NORnand(a, b), nor(a, b) sortiesS = a ^ b ; R = a.b comparerS1 = !(a.b) ; S2 = !a + !b : avec les noms S1 et S2, la page dit si les deux sorties sont équivalentes

Le dessin automatique reproduit l'arbre de l'expression. Si une même sous-expression apparaît deux fois, il dessine deux portes, alors qu'un vrai circuit brancherait une seule porte sur deux fils.

5.4 Deux circuits, une seule fonction

Deux circuits sont équivalents s'ils ont la même table de vérité : pour chaque combinaison d'entrées, ils donnent la même sortie. Ils peuvent avoir des portes très différentes.

Les lois de De Morgan de ton cours de logique, ¬(P ∧ Q) ⇔ ¬P ∨ ¬Q et ¬(P ∨ Q) ⇔ ¬P ∧ ¬Q, deviennent ici :

a·b = a + b   et   a + b = a·b

Voici la première, avec les deux circuits branchés sur les mêmes entrées. Change a et b : les deux sorties restent toujours égales.

Dans le laboratoire, le bouton « erreur classique » montre ce qui se passe quand on oublie de transformer le ET en OU. Pourquoi chercher des circuits équivalents ? Parce qu'un circuit plus petit utilise moins de transistors : il coûte moins cher, chauffe moins et va plus vite. Le 12 octobre, tu apprendras les lois de l'algèbre de Boole et les tableaux de Karnaugh, qui servent justement à simplifier un circuit.

Vérifie-toi (section 5)

Dans S = (a + b)·c, quelle porte touche la sortie ?

La dernière opération est le ·, entre (a + b) et c.

Deux circuits ont des portes différentes mais la même table de vérité. Ils sont…

Seule la table compte pour dire ce que calcule un circuit.

6NAND, la porte universelle

Un résultat surprenant : avec des portes NAND seulement, on peut construire toutes les autres, donc n'importe quel circuit. On dit que NAND est universelle. NOR l'est aussi.

NON avec une NAND

On branche a sur les deux entrées : NAND(a, a) = a·a = a.

ET avec deux NAND

Une NAND, c'est un ET suivi d'un NON. On ajoute un deuxième NON, fait avec une NAND, pour annuler le premier.

Le dessin montre trois portes, parce que nand(a, b) apparaît deux fois dans l'expression. Dans un vrai circuit, la sortie de la première NAND part sur les deux entrées de la seconde : deux portes suffisent.

OU avec trois NAND

C'est De Morgan : NAND(a, b) = non(a·b) = a + b = a + b. On fabrique a et b avec deux NAND, puis on les envoie dans une troisième.

Pourquoi c'est important

En technologie CMOS, celle des processeurs actuels, une porte NAND à deux entrées demande 4 transistors, tout comme une NOR. Une porte ET ou OU en demande 6, parce qu'elle est fabriquée comme une NAND ou une NOR suivie d'un NON. Beaucoup de circuits sont donc construits avec des NAND, souvent préférées aux NOR parce qu'elles sont plus rapides.

Défi : XOR avec des NAND seulement

Écris a ⊕ b en n'utilisant que la fonction nand(…, …). Les sous-expressions identiques sont comptées une seule fois : le minimum est 4 portes.

Commence par m = nand(a, b). Que vaut m sur chacune des quatre lignes ?

Calcule nand(a, m) : il vaut a + m par De Morgan. Fais pareil avec nand(b, m).

Il reste à combiner les deux résultats précédents avec une dernière NAND. Écris tout dans une seule expression, en recopiant nand(a, b) partout où tu utilises m.

7Un premier vrai circuit : le demi-additionneur

Retour à ta page sur le binaire. Pour additionner deux bits a et b, il y a quatre cas, et le résultat tient sur deux bits : une retenue R et un chiffre S.

aba + bRS
00000
01101
10101
112 = (10)₂10

Compare les colonnes avec le tableau de la section 2.1 : S est la colonne XOR, et R la colonne ET. Deux portes suffisent pour additionner deux bits. Ce circuit s'appelle le demi-additionneur (half adder).

Il est « demi » parce qu'il ne sait pas ajouter la retenue qui vient de la colonne de droite. L'additionneur complet (full adder) additionne trois bits : a, b et la retenue entrante, notée c ici.

La suite, le 19 octobre

En chaînant huit additionneurs complets, la retenue sortante de chaque étage devenant la retenue entrante du suivant, on obtient l'additionneur 8 bits qui calcule les additions de la page sur le binaire. Avec une porte XOR sur chaque bit de B, qui inverse les bits à la demande, et une retenue entrante à 1, ce même circuit calcule A + (B inversé) + 1 = A − B. C'est le « inverser puis + 1 » du complément à deux, fait par des portes.

8Prise en main de Logisim

8.1 Quel Logisim ?

Logisim est un simulateur de circuits logiques gratuit. Il en existe deux versions :

Les menus et les outils sont très proches. Demande en séance laquelle utilise ta prof, et installe la même chez toi pour que tes fichiers s'ouvrent sans surprise.

8.2 L'installer sur ta Debian 13

Trois possibilités pour Logisim-evolution. La plus simple passe par Flatpak :

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.github.reds.LogisimEvolution
flatpak run com.github.reds.LogisimEvolution

Après avoir installé Flatpak, ferme ta session et reconnecte-toi pour que Logisim apparaisse dans le menu de KDE.

Autre possibilité, le paquet .deb publié sur la page Releases du dépôt GitHub du projet (logisim-evolution/logisim-evolution) :

sudo apt install ./logisim-evolution_4.1.0_amd64.deb   # mets le nom exact du fichier téléchargé

Enfin, le fichier logisim-evolution-4.1.0-all.jar fonctionne partout, mais demande Java 21 ou plus :

sudo apt install default-jre
java -version          # doit afficher 21 ou plus
java -jar logisim-evolution-4.1.0-all.jar

8.3 L'interface

FileEditProjectSimulateWindowHelp A ▾ mon-projet main ▸ Wiring ▾ Gates NOT GateAND GateOR GateXOR Gate… ▸ Plexers▸ Arithmetic▸ Memory AND Gate FacingEast Data Bits1 Number Of Inputs2 LabelR 1a 1b 0S 1R a = 1, b = 1 : S = 0, R = 1 (1 + 1 = 10) 1 2 3 4 5
Schéma simplifié de la fenêtre, avec un demi-additionneur. L'apparence exacte dépend de ta version.
  1. Barre de menus. File (fichier), Edit, Project (dont Analyze Circuit), Simulate, Window, Help.
  2. Barre d'outils. La main (Poke Tool) clique sur le circuit pour changer les entrées ; la flèche (Edit Tool) place, déplace et relie les composants ; le A écrit du texte. Viennent ensuite des raccourcis : entrée (carré), sortie (rond), NON, ET, OU.
  3. Explorateur. Ton projet et ses circuits (main au départ), puis les bibliothèques de composants : Wiring (fils, broches), Gates (portes), Plexers (multiplexeurs), Arithmetic, Memory…
  4. Table des attributs. Les réglages du composant sélectionné : orientation (Facing), nombre d'entrées (Number Of Inputs), nom affiché (Label)…
  5. Le canevas. La zone quadrillée où tu dessines le circuit.

Je te donne les noms anglais. Si ton Logisim s'affiche en français, les intitulés changent un peu, mais leur place reste la même.

8.4 Ton premier circuit, pas à pas : le demi-additionneur

  1. Crée un projet : File › New. Il contient un circuit vide nommé main.
  2. Place deux entrées : choisis l'outil « entrée » (le carré de la barre d'outils, ou Wiring › Pin), puis clique deux fois sur le canevas. Dans la table des attributs, donne-leur les noms a et b (Label).
  3. Place une porte XOR et une porte ET depuis le dossier Gates. Vérifie le nombre d'entrées : dans certaines versions, une porte en a 5 par défaut. Mets 2.
  4. Place deux sorties (le rond), nommées S et R.
  5. Relie les composants avec la flèche : appuie sur un point de connexion (un petit point au bout d'une broche), glisse jusqu'à un autre point, relâche. Pour qu'une entrée alimente deux portes, pars du milieu d'un fil existant : Logisim crée une jonction, marquée d'un gros point.
  6. Teste : prends la main, et clique sur les entrées pour les faire passer de 0 à 1. Remplis la table de vérité sur ta feuille, et compare avec celle de la section 7.
  7. Fais vérifier la table par Logisim : Project › Analyze Circuit (ou Window › Combinational Analysis). La fenêtre affiche la table de vérité et les expressions de chaque sortie. Elle sait aussi faire l'inverse : à partir d'une expression ou d'une table, elle construit le circuit.
  8. Enregistre : File › Save. Le fichier .circ est du XML : tu peux l'ouvrir dans VS Code et le versionner avec Git, comme ton code.

8.5 Lire les couleurs des fils

D'après la documentation de Logisim, la couleur d'un fil indique ce qu'il transporte.

couleursignification
vert vifle fil transporte un 1
vert sombrele fil transporte un 0
bleuvaleur flottante : rien n'impose de valeur sur ce fil (souvent une entrée de porte qui n'est reliée à rien)
rougeerreur : par exemple une porte qui ne peut pas calculer sa sortie, faute d'entrée, ou deux sorties reliées qui imposent des valeurs différentes
grisfil relié à aucun composant : sa largeur est inconnue
orangeles composants reliés n'ont pas le même nombre de bits : le fil est « cassé »
noirfil de plusieurs bits (un bus)

8.6 Les pièges classiques

9Exercices

Ces exercices ne viennent pas de ta feuille : la page te dit si ta réponse est juste. Toute expression qui a la bonne table de vérité est acceptée, même si elle ne ressemble pas à la mienne.

Exercice 1 : du circuit à l'expression

Écris l'expression de ce circuit. Tu peux changer les entrées pour l'étudier.

Exercice 2 : du circuit à l'expression

Exercice 3 : le vote à la majorité

Trois juges votent avec a, b et c (1 = oui). La sortie S vaut 1 si au moins deux juges votent oui. Fais la table de vérité, puis trouve une expression.

Commence par la table : sur les 8 lignes, lesquelles ont au moins deux 1 ?

« Au moins deux oui », c'est « a et b votent oui, ou a et c, ou b et c ».

Exercice 4 : le comparateur d'égalité

S vaut 1 si les deux bits a et b sont égaux. Écris S avec les portes de ton choix.

Quelle porte détecte que deux bits sont différents ? Il suffit d'inverser sa sortie.

Exercice 5 : l'alarme

Une alarme sonne (S = 1) si la porte est ouverte (a = 1) et que l'alarme est activée (b = 1), sauf si le bon code vient d'être tapé (c = 1).

« Sauf si c » veut dire « et c vaut 0 », c'est-à-dire « et non c ».

Exercice 6 : De Morgan

Écris a + b + c sans barre au-dessus d'un groupe : chaque barre ne doit porter que sur une seule lettre.

De Morgan : la barre se répartit sur chaque lettre, et les + deviennent des ·.

10Bilan

Avant le TP, tu dois pouvoir, sans tes notes…

  • dessiner les symboles des six portes et écrire leur table de vérité ;
  • dire combien de lignes a la table d'un circuit à n entrées, et les ranger en comptant en binaire ;
  • évaluer une expression comme a·b + a·c en respectant les priorités ;
  • dessiner le circuit d'une expression, et écrire l'expression d'un circuit ;
  • montrer que deux circuits sont équivalents en comparant leurs tables ;
  • construire NON, ET et OU avec des NAND ;
  • expliquer pourquoi le demi-additionneur est fait d'un XOR et d'un ET ;
  • placer, relier et tester des composants dans Logisim, et lire la couleur d'un fil.

La suite logique : le 12 octobre, l'algèbre de Boole et les tableaux de Karnaugh, pour simplifier les circuits. Les calculs binaires que ces circuits réalisent sont dans ta page Le binaire, depuis le tout début.

↑