04 - Structure Machine 1 - Algebre de Boole
04 - Structure Machine 1 - Algebre de Boole
04 - Structure Machine 1 - Algebre de Boole
Machine 1
04 – Algèbre de Boole
ENS KATEB
1
Introduction
Introduction générale :
Tout ordinateur est conçu à partir de circuits intégrés qui ont tous
une fonction spécialisée (ALU, mémoire, circuit décodant les
instructions etc.)
Ces circuits sont fait à partir de circuits logiques dont le but est
d’exécuter des opérations sur des variables logiques (binaires)
Les circuits logiques sont élaborés à partir de composants
électroniques (transistors, diodes, condensateurs, …)
Types de circuits logiques:
Combinatoires
Séquentiels
2
Introduction
Circuit intégré : ensemble de composants électroniques (transistors,
diodes, condensateurs, …) qui permet de réaliser des circuits logiques
Circuit Logique : Ensemble de fonctions logiques où chacune est
définit par les entrées et les sorties du circuit, ainsi chaque état des
sorties en fonction des entrées doit être précisé
Les fonctions d’un circuit sont élaboré grâce à ce qu’on appelle
Algèbre de Boole qui représente le support théorique des circuits
combinatoires
3
Algèbre de Boole
Définition :
Ensemble de règles et théorèmes qui traite des variables à deux état
(0 ou 1, Vrais ou Faux) dites booléens à l’aide d’un ensemble définit
des opérations logiques NON, ET et OU,
La table de vérité : est une table qui permet de visualiser les valeurs
des variables d’entrée et les valeurs des variables de sortie
Les opérations logiques de base :
NON : soit X variable booléen, sa négation, appelée complément,
est notée Xɸɸ dont sa valeur est l’inverse de la valeur de X.
X Xɸ
0 1 X Xɸ
1 0
4
Algèbre de Boole
Les opérations logiques de base :
ET : soit X et Y deux variables logiques, la valeur de X ET Y (notée
aussi X . Y ou XY) donne 1 si X=1 et Y=1
0 sinon
X Y X ET Y
X
0 0 0 X ET Y
Y
0 1 0
1 0 0
1 1 1
5
Algèbre de Boole
Les opérations logiques de base :
OU : soit X et Y deux variables logiques, la valeur de X OU Y (notée
aussi (X + Y) donne 0 si X=0 et Y=0
1 sinon
X Y X OU Y
X
0 0 0 X OU Y
Y
0 1 1
1 0 1
1 1 1
6
Algèbre de Boole
Fonction logique : est une combinaison de variables logiques reliées
par des opérateurs logiques (ET, OU et NON)
Exemple : soit a, b, c trois variables booléens
Voici quelques exemples de fonctions logiques :
F1 = ab + aɸb, F2 = (a+b)(aɸb+bcɸ)
F3 = (ab+c)(aɸ bɸc+abɸc)(ab+aɸbcɸ)
La valeur d’une fonction logique est égale à 0 ou 1 selon les valeurs
des variables constituant la fonction, pour trouver les valeurs possible
il faut dresser la table de vérité
Le nombre des valeurs possible = 2n ou n est le nombre des variables
7
Algèbre de Boole
Table de vérité :
F1 = ab + aɸb, 2 variables F2 = (a+b)(aɸb+bcɸ) 3 variables => 8 valeurs
=> 4 valeurs possibles
a b c aɸb bcɸ aɸb+bcɸ a+b F1
a b ab aɸb F1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0
0 1 0 1 1 0 1 0 1 1 1 1 1
1 0 0 0 0 0 1 1 1 0 1 1 1
1 1 1 0 1 1 0 0 0 0 0 1 0
1 0 1 0 0 0 1 0
1 1 0 0 1 1 1 1
1 1 1 0 0 0 1 0
8
Algèbre de Boole
Schéma logique des fonctions :
On obtient le schéma logique d’une fonction en remplaçant chaque
opérateur par le symbole correspondant
Exemple :
F1 = ab + aɸb F 2 = (a + b)(b.c)
F1
F2
a
b
9
Algèbre de Boole
Des lois fondamentaux :
10
Algèbre de Boole
Des lois fondamentaux :
A . ( B + C ) = ( A . B ) + ( A . C ) Distributivité du ET sur le OU
A + ( B . C ) = (A + B).(A + C) Distributivité du OU sur le ET
(A.B) + (A.B) = A A + ( A .B ) = A
A + AB = A + B
A. ( A + B) = A
A(A + B) = AB (A + B) . (A + B ) = A
AB + AC + BC = AB + AC A = A
(A + B)( A + C) ( B + C) = ( A + B)( A + C) A + A = 1
AB + A BC = AB + AC
A .A = 0
(A + B)(A + B + C) = (A + B)(A + C)
11
Algèbre de Boole
Des lois fondamentaux : Dualité de l’algèbre de Boole
Toute expression logique reste vraie, si nous remplaçons le ET par le OU,
le OU par le ET, le 1 par 0, le 0 par 1.
Exemple
A +1 = 1 → A .0 = 0
A + A = 1→ A .A = 0
Théorème de De MORGANE :
A.B = A + B A+B = A . B
En général :
12
Algèbre de Boole
Autres opérateurs logiques :
Le OU-exclusif XOR : Forme générale
A ⊕ B = A.B + A.B
A⊕ B
13
Algèbre de Boole
Autres opérateurs logiques :
Le NON ET : (NAND)
A B Y = A.B
Y = A.B 0 0 1
A 0 1 1
B
Y = A.B 1 0 1
1 1 0
Le NON OU : (NOR)
Y = A+ B A B Y = A+ B
0 0 1
A
B
Y = A+ B 0 1 0
1 0 0
1 1 0
14
Algèbre de Boole
Utilisation des différentes portes pour exprimer les fonctions logiques :
Le but est de transformer une fonction selon les circuits intégrés disponibles
avec les portes correspondants.
Exemple : soit la fonction F = y( x + z ) …(01) en utilisant ET et OU
zɸ y x
(03)
F
15
Algèbre de Boole
Simplification des fonctions logiques :
Consiste à écrire une fonction à l’aide d’un nombre minimum des
termes et des opérateurs logiques, en utilisant les axiomes de
l’algèbre de Boole cités précédemment.
Exemple 1: simplifier, si possible, la fonction F :
F = (a + b)(b + c)(a + c) On a trois termes et 5 opérateurs
F = (a b + ac + b b + bc)(a + c) = (a b + ac + bc)(a + c)
F = (aa b + aac + abc + a bc + acc + bcc)
F = (abc + a bc + ac + bc) = (bc(a + 1) + ac(b + 1))
F = bc + ac = (a + b)c On a deux termes et 2 opérateurs
Exemple 2: simplifier, si possible, la fonction F :
F = ( a + b )( a + b + c )( a + c ) (à faire)
16
Algèbre de Boole
Les Max termes et Min termes de la table de vérité :
17
Algèbre de Boole
Les Max termes et Min termes de la table de vérité :
Exemple :
A B C F
0 0 0 0 A + B + C : max terme
0 0 1 0 A + B + C : max terme
0 1 0 0 A + B + C : max terme
0 1 1 1 A .B.C : min terme
1 0 0 0 A + B + C : max terme
1 0 1 1 A .B.C : min terme
1 1 0 1 A .B.C : min terme
1 1 1 1 A .B.C : min terme
18
Algèbre de Boole
Les Max termes et Min termes de la table de vérité :
A partir de la table de vérité, on peut définir la fonction F :
F = Somme des produits (Min termes)
F = A .B.C + A .B.C + A .B.C + A .B.C
Ou bien :
F = Produit des sommes (Max termes)
F = (A + B + C)(A + B + C)(A + B + C)(A + B + C)
RQ : On peut faire l’inverse pour trouver la table de vérité à partir
d’une fonction qui est écrite sous forme de produits des sommes ou
sous forme de somme des produits,
Exemple : pour A . B . C ça donne 0 1 1, donc la valeur de F pour A=0,
B = 1 et C = 1 est 1
pour (A + B + C) ça donne 0 1 0, donc la valeur de F pour A=0, B = 1 et
C = 0 est 1
19
Algèbre de Boole
Les Formes canoniques:
Une forme canonique est une forme où chaque terme contient toutes
les variables constituant la fonction
Exemple :
20
Algèbre de Boole
1) Première forme canonique (forme disjonctive)
Représente l’écriture de la somme des produits (Somme des Min
termes)
Exemple : F(A, B, C) = A . B . C + A . B . C + A . B . C + A . B . C
A B C F Autre représentation : 03 variables => 03 bits
0 0 0 0 Sur trois bits : (011)2 = (3)10, (101)2 = (5)10,
0 0 1 0
(110)2 = (6)10 et (111)2 = (7)10
0 1 0 0
F = R(3,5,6,7) = ∑(3,5,6,7)
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
21
Algèbre de Boole
2) Deuxième forme canonique (forme conjonctive)
Représente l’écriture du produit des sommes (produit des Max
termes)
Exemple : F(A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)
22
Algèbre de Boole
Equivalence entre 1ere et 2eme formes canoniques
La 1ere et 2eme formes canoniques sont équivalente => deux
écriture de la même fonction
Exemple : Soit F définit par la table de vérité A B F
Suivante : 0 0 0
0 1 1
F(A, B) = A . B + A . B + A . B 1ere forme canonique 1 0 1
= (A + B) 2eme forme canonique 1 1 1
23
Algèbre de Boole
3) Troisième forme canonique
Elle est déduite à partir de la 1ere forme canonique, elle consiste à
écrire une fonction en utilisant seulement les portes NON-ET
Exemple : F ( A, B, C) = A . B . C + A . B . C + A . B . C + A . B . C
= A .B.C + A .B.C + A .B.C + A .B.C
= (A . B . C)(A . B . C)(A . B . C)(A . B . C)
4) Quatrième forme canonique
Elle est déduite à partir de la 2eme forme canonique, elle consiste à
écrire une fonction en utilisant seulement les portes NON-OU
Exemple : F(A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)
24
Algèbre de Boole
Exemples sur les formes canoniques :
1) Trouver les quartes formes canoniques de la fonction F définit par la
table de vérité suivante :
x y z F 1ere : F = x.y.z + x.y.z + x.y.z + x.y.z
0 0 0 0
0 0 1 1
2eme : F = (x + y + z)(x + y + z)(x + y + z)(x + y + z)
0 1 0 1
0 1 1 0
3eme : F = (x.y.z)(x.y.z)(x.y.z)(x.y.z)
1 0 0 1
1 0 1 1 4eme : F = (x + y + z) + (x + y + z) + (x + y + z) + (x + y + z)
1 1 0 0 2) Trouver la 1ere et 2eme FC des fonctions :
1 1 1 0
F1 = ( a + b )( a + b + c )( a + c )
F 2 = ab + a b c + acd + bd (à faire)
25
Algèbre de Boole
Simplification des fonctions logiques : méthode Algébrique
Toute fonction logique représentée soit par expression écrite, soit par
schéma logique ou soit par table de vérité, peut être simplifiée
La simplification consiste à écrire une fonction à l’aide d’un nombre
minimum des termes et des opérateurs logiques pour le but
d’économiser la construction des circuits logiques
26
Algèbre de Boole
Simplification des fonctions logiques : méthode Algébrique
Exemple1 : simplifier la fonction F = (a + b)(a + b + c)(a + c)
27
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
La table de KARNAUGH et une autre forme de la table de vérité : Table à double
entrées (Lignes / Colonnes) pour n variables la table sera la plus carrée possible
pour p et q entrées avec p + q = n.
On a p=q=n/2 pour n paire et |p-q|=1 pour n impair
La table contiendra 2p lignes et 2q colonnes, on remplit les entrées des
variables selon le code binaire réfléchi
Exemple : pour deux variables p=1 et q=1
A B F
0 0 0 B 0 1
A
0 1 0 0 0 0
1 0 1 1 1 1
1 1 1
28
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple : pour trois variables p=2 et q=1
x y z F
yz
0 0 0 0 x 00 01 11 10
0 0 1 1 0 0 1 0 1
0 1 0 1 1 1 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
29
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple : pour quatre variables p=2 et q=2 a b c d F
0 0 0 0 0
0 0 0 1 1
cd 0 0 1 0 1
ab 00 01 11 10
0 0 1 1 1
00 0 1 1 1
0 1 0 0 0
01 0 1 1 1 0 1 0 1 1
11 0 1 1 1 0 1 1 0 1
0 1 1 1 1
10 1 1 0 0
1 0 0 0 1
1 0 0 1 1
Pour obtenir une forme canonique
1 0 1 0 0
d’fonction depuis la table de KARNAUGH
1 0 1 1 0
on procède de la même façon qu’une table
1 1 0 0 0
de vérité standard (Max termes et Min
1 1 0 1 1
termes)
1 1 1 0 1
1 1 1 1 1
30
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple : dresser la table de KARNAUGH de la fonction suivante :
F ( A, B, C) = A . B . C + A . B . C + A . B . C + A . B . C (1ere FC)
0 1 1 1 0 1 1 1 0 1 1 1
Donc : BC
A 00 01 11 10
0 0 0 1 0
1 0 1 1 1
31
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Pour trouver la forme simplifiée avec la table de KARNAUGH on procède comme
suit :
Réalisation des groupements de 1, 2, 4, 8, … termes (une puissance de 2);
Minimisation des groupements (maximisation des termes dans un
groupement) :
• Si groupement d'un seul terme, alors on ne fait rien ;
• On élimine les variables qui changent d'état et on conserve le produit
des variables qui n'ont pas changé d'état dans le groupement;
L'expression logique finale est la réunion des groupements après élimination
des variables
32
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple 1:
yz
x 00 01 11 10 xy + x y = x ⊕ y
F=
0 0 0 1 1
1 1 1 0 0
OU
yz
00 01 11 10
x F= ( x + y )( x + y ) = x ⊕ y
0 0 0 1 1
1 1 1 0 0
33
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple 2:
yz
00 01 11 10
x F= x+y
0 1 1 1 1
1 1 1 0 0
Exemple 3:
yz
x 00 01 11 10
F= z
0 1 0 0 1
1 1 0 0 1
34
Algèbre de Boole
Simplification des fonctions logiques : Table de KARNAUGH
Exemple 4:
cd
ab 00 01 11 10
00 0 1 1 1 F= (a + c + d )(b + c + d )(a + b + c)
01 0 1 1 1
11 0 1 1 1
10 1 1 0 0
Exemple 5 :
cd
ab 00 01 11 10
00 1 0 0 1
01 0 1 1 0 F= bd + bd regroupement des 1
10 1 0 0 1
35
Algèbre de Boole
Exemple de réalisation d’un circuit logique :
36