Skip to content

Cours : Logique et circuits

Fiche de Cours : Logique et circuits (MP2I)

Section titled “Fiche de Cours : Logique et circuits (MP2I)”

Niveau: ** Première année (MP2I)
Matière : Informatique
Enseignant: ** Professeur de CPGE MP2I


1. Introduction et Logique Propositionnelle

Section titled “1. Introduction et Logique Propositionnelle”

L’informatique fonde ses traitements sur la manipulation de grandeurs binaires. La logique mathématique permet de formaliser ces raisonnements et de concevoir les architectures matérielles.

  • Proposition (ou formule) : Une assertion PP pouvant prendre la valeur de vérité Vrai (⊤\top ou 11) ou Faux (⊥\bot ou 00).
  • Connecteurs logiques de base :
    • Négation (¬P\neg P ou P‾\overline{P})
    • Conjonction (P∧QP \land Q ou P⋅QP \cdot Q)
    • Disjonction (P∨QP \lor Q ou P+QP + Q)
    • Implication (P  ⟹  QP \implies Q, équivalent à ¬P∨Q\neg P \lor Q)
    • Équivalence (P  ⟺  QP \iff Q, équivalent à (P  ⟹  Q)∧(Q  ⟹  P)(P \implies Q) \land (Q \implies P))

Un algèbre de Boole est un ensemble BB muni de deux lois internes (généralement notées ++ et ⋅\cdot) et d’un élément neutre pour chacune, possédant des propriétés de distributivité, de complémentarité, etc. En informatique, on s’intéresse principalement à l’algèbre à deux éléments B={0,1}\mathbb{B} = \{0, 1\}.

Théorèmes : Lois fondamentales de l’algèbre de Boole

Section titled “Théorèmes : Lois fondamentales de l’algèbre de Boole”

Soit x,y,z∈Bx, y, z \in \mathbb{B}.

  1. Idempotence : x+x=xx + x = x et x⋅x=xx \cdot x = x
  2. Commutativité : x+y=y+xx + y = y + x et x⋅y=y⋅xx \cdot y = y \cdot x
  3. Associativité : (x+y)+z=x+(y+z)(x + y) + z = x + (y + z)
  4. Distributivité : x⋅(y+z)=(x⋅y)+(x⋅z)x \cdot (y + z) = (x \cdot y) + (x \cdot z) et x+(y⋅z)=(x+y)⋅(x+z)x + (y \cdot z) = (x + y) \cdot (x + z)
  5. Absorption : x+(x⋅y)=xx + (x \cdot y) = x et x⋅(x+y)=xx \cdot (x + y) = x
  6. Éléments neutres et absorbants :
    • x+0=xx + 0 = x, x⋅1=xx \cdot 1 = x
    • x+1=1x + 1 = 1, x⋅0=0x \cdot 0 = 0
  7. Complémentarité : x+x‾=1x + \overline{x} = 1 et x⋅x‾=0x \cdot \overline{x} = 0
  8. Lois de De Morgan : x+y‾=x‾⋅y‾\overline{x + y} = \overline{x} \cdot \overline{y} et x⋅y‾=x‾+y‾\overline{x \cdot y} = \overline{x} + \overline{y}
  9. Involution : x‾‾=x\overline{\overline{x}} = x

  • Littéral : Une variable booléenne ou son complémentaire (xx ou xˉ\bar{x}).
  • Minterm (implicant minéral) : Conjonction (ET) de littéraux incluant toutes les variables du système.
  • Maxterm : Disjonction (OU) de littéraux incluant toutes les variables du système.
  • Forme Normale Conjonctive (FNC) : Conjonction de maxterms.
  • Forme Normale Disjonctive (FND) : Disjonction de minterms.

Méthode : Obtenir la FND à partir d’une table de vérité

Section titled “Méthode : Obtenir la FND à partir d’une table de vérité”
  1. Repérer toutes les lignes de la table de vérité pour lesquelles la sortie vaut 11.
  2. Pour chaque ligne, construire le minterm correspondant (si la variable vaut 11, on prend xx, si elle vaut 00, on prend xˉ\bar{x}).
  3. Faire la disjonction (OU) de tous ces minterms.

Les ensembles de portes {ET,OU,NON}\{ET, OU, NON\} et les ensembles singleton {NAND}\{\text{NAND}\} ou {NOR}\{\text{NOR}\} sont universels : tout opérateur ou fonction booléenne peut être exprimé en utilisant uniquement des portes NAND (ou NOR).


Un circuit combinatoire est un circuit dont les sorties ne dépendent que des entrées présentes à l’instant TT (absence de mémoire).

  • AND, OR, NOT, XOR (Ou exclusif : x⊕y=xyˉ+xˉyx \oplus y = x\bar{y} + \bar{x}y)
  • NAND, NOR
  1. Demi-additionneur (Half-Adder) : Additionne deux bits AA et BB.
    • Sortie Somme : S=A⊕BS = A \oplus B
    • Sortie Retenue (Carry) : C=A⋅BC = A \cdot B
  2. Additionneur complet (Full-Adder) : Additionne AA, BB et une retenue entrante CinC_{in}.
    • S=A⊕B⊕CinS = A \oplus B \oplus C_{in}
    • Cout=(A⋅B)+(Cin⋅(A⊕B))C_{out} = (A \cdot B) + (C_{in} \cdot (A \oplus B))
  3. Multiplexeur (MUX) : Aiguille vers la sortie l’une des 2n2^n entrées de données en fonction de nn entrées de sélection.

Contrairement aux circuits combinatoires, les circuits séquentiels possèdent des boucles de rétroaction, ce qui leur confère un état interne (une mémoire).

  • Verrou (Latch) RS (Reset-Set) : Construit à l’aide de portes NOR ou NAND croisées. Il possède deux entrées RR et SS.
    • Piège fondamental : L’état R=1R=1 et S=1S=1 est interdit (conduit à une instabilité ou un état indéterminé selon la technologie).
  • Bascule (Flip-Flop) D (Data) : Échantillonne l’entrée DD sur un front (montant ou descendant) du signal d’horloge CLKCLK.
    • Équation caractéristique : Qn+1=DQ_{n+1} = D (au prochain coup d’horloge).

  • Minimisation algébrique vs Karnaugh : Pour les fonctions de 2 à 4 variables, privilégiez systématiquement les tables de Karnaugh pour obtenir une forme simplifiée optimale sans calculs algébriques fastidieux. N’oubliez pas les regroupements par 2k2^k cases adjacentes (en considérant la table comme toroïdale).
  • Propriété du XOR : Le ou-exclusif est associatif et commutatif. De plus, x⊕x=0x \oplus x = 0 et x⊕0=xx \oplus 0 = x. Très utile pour le chiffrement basique (XOR swap).

  1. Glissements (Hazards) : Dans les circuits réels, les portes ont un temps de propagation non nul (ϵ>0\epsilon > 0). Des transitions parasites (glissements statiques ou dynamiques) peuvent apparaître lors de changements de variables. Une mise en forme algébrique adaptée ou l’ajout de termes de redondance dans la FND sont parfois nécessaires.
  2. Confondre Latch et Flip-Flop :
    • Un latch est transparent (sensible au niveau du signal).
    • Une bascule est déclenchée par un front d’horloge (sensible à la transition). En MP2I, on utilise des bascules synchrones pour éviter les problèmes de course critique.
  3. Négation hâtive : Appliquer De Morgan en oubliant de basculer l’opérateur central (A+B‾=Aˉ⋅Bˉ\overline{A + B} = \bar{A} \cdot \bar{B} et non Aˉ+Bˉ\bar{A} + \bar{B}).