edubun
Français

Portes logiques

Le premier microprocesseur d'Intel, le 4004 de 1971, comptait 2300 transistors. Ils étaient câblés en portes, et un processeur n'est fait que de portes.

ContexteEn 1854, le mathématicien George Boole publie An Investigation of the Laws of Thought, une algèbre où les propositions sont soit vraies soit fausses et se combinent avec et, ou et non. Pendant des décennies, c'est un sujet réservé aux logiciens. En 1938, Claude Shannon, alors étudiant au MIT, publie un article tiré de son mémoire de master : il montre que les circuits de relais et d'interrupteurs obéissent exactement à cette algèbre. Des interrupteurs en série se comportent comme AND, des interrupteurs en parallèle comme OR. Les concepteurs peuvent désormais étudier un circuit sur papier et le simplifier avant de le construire. En décembre 1947, John Bardeen et Walter Brattain, aux Bell Labs, fabriquent le premier transistor à pointes, le petit interrupteur électronique qui remplacera plus tard les relais et les tubes à vide dans les ordinateurs.

Les deux circuits de Shannon sur une table

Tu peux construire les deux circuits de Shannon avec une pile, une lampe et deux interrupteurs. Place les interrupteurs l'un après l'autre : la lampe ne s'allume que si le premier et le second sont tous les deux fermés. Place-les côte à côte : la lampe s'allume si l'un ou l'autre est fermé. Ces circuits prennent déjà des décisions. Une porte logique est un petit circuit du même genre, fait de transistors au lieu d'interrupteurs manuels. Elle reçoit un ou deux bits d'entrée et produit un bit de sortie selon une règle fixe.

Six portes et les tables qui les définissent

AND donne 1 seulement quand les deux entrées valent 1, comme les interrupteurs l'un après l'autre. OR donne 1 quand au moins une entrée vaut 1, comme les interrupteurs côte à côte. NOT n'a qu'une entrée et l'inverse : 0 devient 1 et 1 devient 0. XOR, abréviation de « ou exclusif », donne 1 quand les deux entrées sont différentes. NAND et NOR sont AND et OR suivis d'un NOT, ce qui rend leurs sorties exactement opposées. Une table de vérité donne toutes les combinaisons d'entrées et la sortie de chacune. Deux entrées font quatre lignes, trois en font huit, et n entrées en font 2 puissance n.

Chargement

Fais glisser pour tourner. Fais défiler ou pince pour zoomer.

Touche A ou B (ou utilise les boutons) et observe la lampe de sortie et la ligne surlignée de la table de vérité. Choisis une autre porte dans le menu. Le dernier choix, Demi-additionneur, associe un XOR et un AND ; l'unité suivante s'en sert pour additionner.
ABANDORXORNANDNOR
0000011
0101110
1001110
1111000

Une alarme, un test d'égalité et un contrôle de mot de passe

Les portes se combinent en règles de toute taille. Prenons une alarme antivol. Elle doit sonner quand le système est activé AND (la porte est ouverte OR une fenêtre est ouverte). Cela fait une porte OR qui alimente une porte AND. Pour vérifier si deux bits sont égaux, place un NOT après un XOR, puisque XOR donne 1 exactement quand les bits diffèrent. Mets huit de ces montages côte à côte, relie leurs sorties par AND, et le circuit indique si deux octets entiers sont identiques. Toute comparaison faite par un programme, de « le mot de passe est-il bon ? » à « le minuteur est-il arrivé à zéro ? », finit en circuit de ce type.

Pourquoi les fabricants de puces peuvent se contenter de NAND

NAND a une propriété pratique : on peut construire toutes les autres portes uniquement avec des NAND. Relie les deux entrées d'un NAND et il devient NOT, car NAND de 1 et 1 donne 0 et NAND de 0 et 0 donne 1. Place ce NOT après un autre NAND et tu retrouves AND. Quelques-uns de plus donnent OR et XOR. Les fabricants de puces apprécient, car ils peuvent graver des quantités énormes d'un seul motif bien testé. Dans une vraie puce, une porte se compose d'une poignée de transistors. Le 4004 en avait 2300, et Intel annonce 1.16 milliard pour son processeur Core de deuxième génération de 2010. Cela fait environ 500 000 fois plus en 39 ans.

Erreurs fréquentes
  • « OR veut dire l'un ou l'autre, mais pas les deux. » Le « ou » de tous les jours fonctionne souvent ainsi : « thé ou café ? » veut généralement dire qu'il faut choisir. En logique, cette règle s'appelle XOR. OR donne aussi 1 quand les deux entrées valent 1.
  • « Une table de vérité à 3 entrées a 6 lignes. » 3 × 2 n'est pas le bon calcul. Chaque entrée supplémentaire double le nombre de lignes, car chaque ligne précédente apparaît une fois avec la nouvelle entrée à 0 et une fois à 1. 2³ = 8. Quatre entrées demandent déjà 16 lignes.
  • « NAND et NOR sont de nouveaux types d'interrupteurs. » NAND est un AND suivi d'un NOT, et NOR un OR suivi d'un NOT. Rien de nouveau ne se passe à l'intérieur. Ce qui rend NAND spécial, c'est qu'il suffit à lui seul pour construire toutes les autres portes.
Note du professeurLisez d'abord l'histoire, puis construisez les deux circuits d'interrupteurs, même sous forme de dessin, avant de montrer le moindre symbole de porte. Les élèves qui ont vu le montage en série et en parallèle acceptent AND et OR sans difficulté. La paire qui pose problème est OR et XOR, car le « ou » courant veut souvent dire XOR. Demandez « thé ou café ? », puis « et si je réponds les deux ? ». Pour les tables de vérité, imposez l'ordre des lignes 00, 01, 10, 11 : c'est compter en binaire comme dans l'unité précédente, et cela évite d'oublier des lignes. Construire NOT avec un seul NAND est une bonne énigme de cinq minutes pour finir.
  1. AND avec les entrées 1 et 0 donne ?
  2. OR avec les entrées 1 et 0 donne ?
  3. XOR avec les entrées 1 et 1 donne ?
  4. NAND avec les entrées 1 et 1 donne ?
  5. NOR avec les entrées 0 et 0 donne ?
  6. Combien de lignes a la table de vérité d'une porte à 3 entrées ?
  7. Deux interrupteurs en série avec une lampe se comportent comme quelle porte ?
    • AND
    • OR
    • XOR
    • NOT
  8. Tu relies les deux entrées d'une porte NAND. Quelle porte obtiens-tu ?
    • NOT
    • AND
    • OR
    • XOR
  9. Combien de transistors comptait le 4004 d'Intel de 1971 ?
  10. Qu'a montré l'article de Shannon de 1938 ?
    • Les circuits de commutation suivent l'algèbre du vrai et du faux de Boole
    • Les transistors sont plus rapides que les relais
    • Les nombres binaires ont été inventés en 1938
    • Les ordinateurs ont besoin de chiffres décimaux
L'essentiel
  • Une porte transforme des bits d'entrée en un bit de sortie selon une règle fixe.
  • AND : les deux à 1. OR : au moins un 1. NOT : inverser. XOR : entrées différentes.
  • NAND et NOR sont AND et OR avec la sortie inversée ; NAND seul permet de construire toutes les portes.
  • Une table de vérité à n entrées a 2ⁿ lignes.
Sources de ce cours (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Consulté le: 2026-10-17