Vous êtes sur la page 1sur 46

Architecture des ordinateurs

Algèbre de Boole et circuits logiques

1
Algèbre de Boole

George Boole (1815-1864) est un mathématicien autodidacte anglais qui


voulait faire un lien entre la logique (étude de la validité du raisonnement) et la
représentation symbolique utilisée en mathématique.

Il a écrit deux ouvrages sur le sujet :


• Mathematical Analysis of Logic(1847)
• An Investigation of the Laws of Thought(1854)
Ces travaux n’ont pas connu d’intérêt particulier auprès de la communauté
mathématique et scientifique de son époque, mis à part chez les logiciens

2
Algèbre de Boole

• C’est 70 ans plus tard que les travaux de Boole gagnent l’intérêt de tous,
lorsque Claude Shannon fait le lien entre l’algèbre de Boole et la
conception des circuits.

• Claude Shannon montre que l’algèbre de Boole peut-être utilisée pour


optimiser les circuits. Cette nouvelle avenue de recherche va ouvrir la voie
à l’ère numérique.

En utilisant l’algèbre de Boole avec le système binaire, on peut


concevoir des circuits capables d’effectuer des opérations
arithmétiques et logiques

• Boole repose sur des axiomes, des postulats et des théorèmes qu’il faut
connaître par cœur !
3
Algèbre de Boole

Propositions vraie ou fausses et opérateurs sur ces préposition


Algèbre de Boole

• Systèmes binaires: Vrai=1, Faux=0


• C’est le cas des systèmes numériques (circuits logiques)

4
Algèbre de Boole

• L’ordinateur est constitué de circuits logiques

• Élément de base est le transistor, deux états :


Bloqué=0, Conducteur=1.

Transistor
Porte logique
Circuit logique
Unité d’un système informatique

5
Algèbre binaire
Définitions

• États logiques : 0 et 1, Vrai et Faux

• Variable logique : Symbole pouvant prendre comme valeur des états


logiques (A, b, c, ...)

• Opérateurs logiques : Or, And, Not, ...

• Fonction logique : Expression de variables et d’opérateurs logiques.


( f = not(a) or (b OR c and d)

6
Algèbre binaire
Eléments de base

• Variables d’entrée
Les variables d’entrée sont celles sur lesquelles on peut agir directement.
Ce sont des variables logiques indépendantes.

• Variable de sortie
Variable contenant l’état de la fonction après l’évaluation des opérateurs
logiques sur les variables d’entrée.

• Simplification d’une fonction logique


Trouver la représentation (l’écriture) la plus simple de la fonction réalisée:
Algèbre de Boole

7
Algèbre binaire
Eléments de base
Algèbre de Boole sur [0,1] = algèbre binaire

Structure d’algèbre de boole


• 2 lois de composition interne (Or, And)
• 1 application unaire (Not)

• 2 Lois de Composition Interne : ET, OU


Somme (OU, Réunion)
s = a + b = a or b
Produit (ET, intersection)
s = a . b = ab = a and b
Nb : a+b se lit « a OU b » pas « a PLUS b »

Application unaire : Not (complémentation, inversion)


s = a = not(a) NB : a se lit « a barre » ou « non a »
8
Fonctions logiques

Fonction logique à n variables f(a,b,c,d,...,n)

• Une fonction logique ne peut prendre que deux valeurs (0, 1)


• Les cas possibles forment un ensemble fini (card = 2𝑛 )

La table de fonction logique = table de vérité


Définition : (a, b, c, ..., n) = vecteur d’entrée

9
Table de vérité

Table de vérité :
Enumération ligne par ligne des valeurs prises par f en fonction des valeurs de
ses paramètres.

10
Notes sur les tables de vérité

f(a, c, d, .., n) fonction logique à N entrées sera représentée par :

11
Propriétés

Commutativité Idempotence
a+b = b+a a+a = a
a.b = b.a a.a = a

Absorption
Associativité a+a.b = a
a+(b+c) = (a+b)+c a.(a+b) = a
a.(b.c) = (a.b).c

Distributivité
a.(b+c) = a.b+a.c
a+(b.c) = (a+b).(a+c)

12
Démonstration distributivité

13
Propriétés (2)

14
Equations logique

On exprime f(a, b, c, ...) par une expression en a, b, c.. et des opérateurs


logiques.

Exemple :

Principe de dualité :
Une expression reste vraie si on interverti les 1 par des 0 et les ET par des OU

Exemple :

Je suis riche si je suis bien payé et que je ne dépense pas tout


mon argent = Je suis pauvre si je ne suis pas bien payé ou que
je dépense tout mon argent
15
Les opérateurs NAND, NOR

16
L’opérateur XOR

17
Propriétés du XOR

18
Écriture des équations logiques

Définitions :
• Apparition d’une variable = Lettre
• Produit de variables sous forme simple ou complémentées = Monôme
• Somme de monômes = Polynôme

19
Fonctions logiques et formes canoniques

20
Formes canoniques

Une fonction est sous forme canonique (ou normale) si chaque terme
contient toutes les variables. L’écriture sous forme canonique est unique.

Exemples :

Première forme canonique ou forme normale disjonctive

Deuxième forme canonique ou forme normale conjonctive

21
Formes canoniques

Si la fonction n’est pas sous forme normale


i.e. une des variables (au moins) ne figure pas dans un des termes

La fonction est sous une forme simplifiée

22
Formes canoniques : Choix

• Première forme canonique = expression des 1 de la fonction

• Deuxième forme canonique = expression des 0 de la fonction

Les deux formes canoniques sont équivalentes

On choisit celle qui donne le résultat le plus simple


- peu de 0 => deuxième forme
- ou peu de 1 => première forme

23
Simplification des fonctions

Objectif : Méthodes :
- Algébriques
Fabriquer un système
- Graphiques
- à moindre coût - Programmables
- rapide
- fiable
- peu consommateur

Résultat : on cherche la forme minimale d’une fonction nombre minimal de


monômes/nombre minimal de lettre par monôme

Possibilité de plusieurs formes minimales : formes équivalentes

24
Simplification algébrique

Applications des principes et propriétés de l’algèbre de Boole

Identités remarquables :

Démonstrations : 1 et 2 trivial

25
Simplification algébrique

Règles de simplification :
(Mintermes adjacents = 1 seule variable qui change)
1 : Deux mintermes adjacents  Il reste l’intersection commune
1’: Deux maxtermes adjacents  Il reste la réunion commune

2: On peut ajouter un terme déjà existant à une expression logique.


 pas de coefficient en algèbre de Boole.
3: On ne change pas le résultat en multipliant l'un des termes par 1 ou en
ajoutant 0.

Méthode algébrique toujours possible mais démarche intuitive


qui dépend de l’habileté et de l’expérience.
26
Algèbre de Boole

Exercice 1
Remplissez la table de vérité suivante pour prouver
le théorème de de Morgan :

27
Algèbre de Boole

Exercice 2
Considérons la fonction F définie par la table de vérité suivante :

28
Algèbre de Boole

Exercice 3
• On désire concevoir un circuit qui permet de gérer les notes des examens,
on donne: Examen final (45 %), Examen Partiel (35 %), TPs (20 %).

• Un étudiant est admis s’il dispose d’un pourcentage >= 55 %.


– Exemple:
Final=11, Partiel=8, Tps=10
 F=1, P=0, T=1  Pourcentage = 65 %  R=1 (étudiant admis).

• Donner la table de vérité.

• Donner la fonction logique correspondante. Simplifier le fonction obtenue.

29
30
31
32
33
Exemples de simplification
• Montrer que

Théorème
d’inclusion

Théorème
d’allégemen
t
Théorème
d’absorption
Exemple de simplification

• Simplifier l’expression suivante :

35
36
Portes et circuits logiques

• Un ordinateur travaille en base 2, toute fonction binaire peut être représenté


par une expression booléenne. Ainsi, tout circuit électrique ou électronique
à deux valeurs de tension peut être représentée par une expression
booléenne.

• Plutôt que de représenter les circuits par des expressions booléennes, on


préfère les représenter en utilisant des
symboles logiques.

37
Portes et circuits logiques

Plusieurs portes logiques forment un circuit logique. On distingue deux


types de circuits logiques :
• les circuits combinatoires qui ne font que combiner selon une table de
vérité les variables d’entrée;
• les circuits séquentiels construits à partir de circuits combinatoires
et qui se caractérisent par une capacité de mémorisation.

La réalisation d’un circuit passe d’abord par la recherche des expressions


booléennes, ensuite par leur simplification basée sur l’algèbre de Boole

38
Portes et circuits logiques

39
Circuits combinatoires : Additionneur

Addition de 2 bits x et y (demi-additionneur ou Half-Adder(HA) ) :

Deux réalisations possibles du demi-additionneur (half-adder en anglais),


la première correspondant à la formule S = x ⊕ y
et la deuxième à la formule S = (x + y)(xy).

40
Circuits combinatoires : Additionneur

Addition de 2 bits x et y (demi-additionneur) :


Deux réalisations du demi-additionneur dont x et y sont les entrées, S est le bit
de somme et R celui de retenue ; et représentation schématique

41
Circuits combinatoires : Additionneur

• Dans une addition de deux nombres, on additionne bit à bit en considérant


la retenue du rang précédent
somme de 3 bits = additionneur complet.

• Formules :
la somme s vaut un si entre les bits x, y et la retenue d’entrée re le nombre
de bits à un est impair; la retenue de sortie rs vaut un si les bits x et y valent
un, ou si l’un ou l’autre de ces bits vaut un alors que la retenue d’entrée re
vaut un.

s = re ⊕ x ⊕ y et rs = x × y + x × re + y × re = x × y + re × (x ⊕ y).

• Un additionneur se réalise à l’aide d’additionneur 3 bits mis bout à bout.

42
Circuits combinatoires : Additionneur

Additionneur complet : table de vérité, schéma détaillé et schéma synthétique.

43
Bascules des circuits séquentiels

• Dans un circuit combinatoire, la valeur des sorties dépendent directement


de la valeur des entrées.

• Un circuit séquentiel, quant à lui, a une faculté de mémorisation et la valeur


des sorties à l’instant t dépend à la fois de la valeur des entrées et de la
valeur des sorties à l’instant t − 1.

• Les circuits séquentiels de base, qui forment la brique élémentaire de tout


circuit séquentiel, sont les bascules (flip-flops) qui ont la particularité
d’avoir deux états stables (bistables) : ils sont capables de conserver l’état
de leur sortie même si la combinaison des signaux d’entrée ayant provoqué
cet état de sortie disparaît.

44
Bascules des circuits séquentiels : Bascule RS

• Cette bascule présente deux états stables pour la configuration des entrées
R = S = 0 : le couple de sorties Q = 0 et Q = 1
et le couple de sorties Q = 1 et Q = 0.
• R = 0 et S = 0 ⇒ Qt+1 = Qt
R = 0 et S = 1 ⇒ Qt+1 = 1 (mise à 1, S : set)
R = 1 et S = 0 ⇒ Qt+1 = 0 (effacement, R : reset)
R = 1 et S = 1 : configurations interdites : tant que R et S restent à 1,
Q et Q restent à 0 mais lorsque R et S changent on ne peut prévoir dans
quel état on se trouve
45 (ex. : montrer ce qui se passe sur le circuit avec R et S passant à 0).
Bascules des circuits séquentiels : Bascule RS

Ce circuit donne lieu à la table de vérité suivante :


En simplifiant par Karnaugh en donnant
la valeur 1aux cas interdits,
on obtient : Qt+1 =S+ RQt.

Propriétés utiles des bascules RS,


si R = 0 et S= 1 ⇒ Q = 1 et si S change, Q reste à 1.

46

Vous aimerez peut-être aussi