Vous êtes sur la page 1sur 49

Algèbre de Boole

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 1


Introduction
● les informations utilisées par les ordinateurs que nous
étudions sont de type binaire
● un système binaire (signal, circuit, etc...) est un système
qui ne peut exister que dans 2 états 
0/1, vrai/faux, ouvert/fermé, haut/bas (high/low), etc...
● circuit électrique associé :
+5V

V0

transistor

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 2


Introduction
● Algèbre de Boole : pour la logique des systèmes binaires
● en mathématiques : variable booléenne : 0 ou 1
● en électronique : 2 niveaux de tension V(0) et V(1)
➢ logique positive : V(1) > V(0)
➢ logique négative : V(1) < V(0)

Logique Logique
Niveau
positive négative
H 1 0
L 0 1

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 3


Introduction
● en technologie TTL positive (obsolète maintenant dans le
domaine informatique)
➢ alimentation 5V
➢ rapide
➢ niveau haut : 2 volt < V < 5 volt
➢ niveau bas : V < 0,8 volt
● en technologie CMOS positive (la plus fréquente)
➢ alimentation valim de 5 à 15 volt
➢ faible consommation
➢ niveau haut : V > 0,7 * Valim
➢ niveau bas : 0,05 volt < V < 0,3 * Valim

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 4


Représentation symbolique des signaux booléens
● signaux logiques (logique positive)

➢ le niveau logique 0 représente une tension inférieure à un


seuil bas
➢ le niveau logique 1 représente une tension supérieure à un
seuil haut

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 5


Représentation symbolique des signaux booléens
● Chronogrammes
➢ pour les variations et les états des signaux logiques

transitions

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 6


opérateurs booléens
● fonctions booléennes sur des variables booléeenes
● définies par une table de vérité
➢ donne le résultat de la fonction pour toutes les
combinaisons des variables en entrée
● correspondent à des dispositifs électroniques (portes) qui
permettent de réaliser ces fonctions
➢ opérateurs de base

OU inclusif (OR)

ET (AND)

NON (NOT)
➢ fonctions composées

NON OU (NOR), NON ET (NAND)

OU exclusif (XOR)

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 7


porte OU inclusif
● "addition" de au moins 2 variables logiques
● notée : +
● vaut 1 si au moins une des variables en entrée vaut 1
● table de vérité

A B Y=A+B
0 0 0
0 1 1
1 0 1
1 1 1

➢ associativité : (A+B)+C = A+(B+C)


➢ commutativité : A+B = B+A
➢ idempotence : A+A = A
➢ élément neutre : A+0 = A
➢ élément absorbant : A+1 = 1

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 8


porte OU inclusif
● notation symbolique :

A
Y = A+B
B

A
≥1 Y = A+B
B

A
● implémentation
➢ 2 interrupteurs en parallèle
● références : B
➢ TTL : SN7432
➢ CMOS : CD4071B

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 9


porte ET
● "produit" logique, ou intersection, d'au moins 2 entrées
● notée .
● vaut 1 si et seulement si toutes les entrées valent 1
● table de vérité
A B Y=A.B
0 0 0
0 1 0
1 0 0
1 1 1

➢ associativité : (A.B).C = A.(B.C)


➢ commutativité : A.B = B.A
➢ idempotence : A.A = A
➢ élément neutre : A.1 = A
➢ élément absorbant : A.0 = 0

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 10


porte ET
● notation symbolique

A
Y = A.B
B

A
& Y = A.B
B

● implémentation : A B
➢ 2 interrupteurs en série
● références
➢ TTL : SN7408
➢ CMOS : CD4081B

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 11


propriétés des fonctions ET et OU
● les opérations OU et ET sont distributives l'une par
rapport à l'autre
A.(B+C) = A.B + A.C
A+(B.C) = (A+B).(A+C)
● propriétés d'absorption
A+(A.B) = A
A.(A+B) = A

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 12


porte NON (inverseur)
● inverseur logique avec une entrée et une sortie
● notée Y = A
● table de vérité

A Y =A
0 1
1 0

A = A
AA = 1
A.A = 0
AA . B = AB

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 13


porte NON
● notation symbolique

A Y = A

A 1 Y = A

● références
– TTL : SN7404
– CMOS : CD4050B

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 14


porte BUFFER
● notation

● « inutile » du point de vue de la logique


mais importante du point de vue de l'électronique pour
adapter les impédances
➢ distribuer un signal vers de nombreuses portes
➢ fournir de la puissance

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 15


Théorèmes de De Morgan

● 1er théorème
A.B.C... = A+B+C+...
● vérification du 1er théorème :
➢ si toutes les entrées sont à 1, les 2 membres de l'équation
sont nuls
➢ si une au moins des entrées est à 0, les 2 membres de
l'équation sont égaux à 1
● 2ème théorème
A+B+C+... = A .B .C . ...

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 16


portes NON ET et NON OU
● NON ET est constituée d'un inverseur en sortie d'une
porte ET
● NON OU est constituée d'un inverseur en sortie d'une
porte OU
➢ tables de vérité

A B Y=A . B A B Y =A+ B
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

TTL : SN7400 TTL : SN7402


CMOS : CD4011B CMOS : CD4000B

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 17


porte OU exclusif
● vaut 1 si une entrée et une seule est à 1
● notée 
● table de vérité

A B Y=AB
0 0 0
0 1 1
1 0 1
1 1 0

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 18


porte OU exclusif
● notation symbolique :

A
Y = A⊕B
B

A
=1 Y = A⊕B
B

● références
➢ TTL : SN7486
➢ CMOS : CD4030B

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 19


porte à 3 états (tri-state)
● pas une porte logique à proprement parler
● utilisée pour une sortie sur une ligne commune à
plusieurs circuits (un bus par exemple)
➢ remplace généralement une porte ET, en évitant la mise en
parallèle de plusieurs portes ET qui introduisent des
capacités parasites
C A Y sortie
faible
1 0 0 impédance
A Y faible
1 1 1 impédance
haute
C 0 X Z impédance

➢ C=0 ⇒ impédance de sortie très grande et la sortie est


pratiquement déconnectée

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 20


temps de réponse
● la réponse d'un circuit logique n'est pas instantanée
➢ temps de migration des électrons libres ou des trous
➢ caractéristiques du circuit (impédance complexe)

A Y
délai de
propagation

tdp
n'est pas forcément
le même pour les
A fronts montants
ou descendants

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 21


temps de réponse
● la réponse d'un circuit logique est caractérisée par
➢ le délai de propagation tdp :
temps maximum entre la modification du signal d'entrée et
l'obtention d'un signal stable en sortie
➢ le délai de contamination tdc :
temps minimum entre la modification du signal d'entrée et le
début de la modification du signal de sortie

A Y

tdp

tdc

t
P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 22
temps de réponse
● exemple

A
B
C
Y
D

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 23


temps de réponse
● exemple

A
B
C
Y
D

➢ chemin critique

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 24


temps de réponse
● exemple

A
B
C
Y
D

➢ chemin critique

➢ chemin le plus court

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 25


temps de réponse
● exemple

A
B
C
Y
D

– chemin critique t dp = ∑ délais = 2 dET +dOU

– chemin le plus court t dc = ∑ délais = dET

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 26


temps de réponse
● exemple

A
B
C
Y
D

– chemin critique t dp = ∑ délais = 2 dET +dOU

– chemin le plus court t dc = ∑ délais = dET

● valeurs typiques
➢ porte NON : 30 ps
➢ porte ET à 2 entrées : 60 ps
➢ porte ET à 3 entrées : 80 ps
➢ porte ET à 4 entrées : 90 ps
➢ porte à 3 états : 50 ps

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 27


Écriture algébrique d'une fonction logique
● à partir des portes logiques, on peut réaliser des fonctions
complexes (logique combinatoire et logique séquentielle)
● l'algèbre de Boole nous permet de représenter ces
fonctions avec des équations plus ou moins complexes
● on va voir comment écrire systématiquement ces
fonctions
● et comment éventuellement simplifier ces écritures

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 28


Écritures canoniques d'une fonction logique
● Somme canonique de produits
● pour une fonction prenant en entrée n variables
booléennes
➢ 2n combinaisons possibles des variables et de leurs inverses
avec l'opérateur ET
➢ à chaque combinaison correspond un produit logique Cj des
variables qu'on appelle minterm

0 ≤ j ≤ 2n -1

j est le décimal équivalent au nombre binaire désigné par le
minterm
➢ exemple :

2 variables binaires x et y

4 combinaisons : xy x y xy xy
11 10 01 00

minterms C 3 C 2 C1 C 0

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 29


Écritures canoniques d'une fonction logique

P0 P1 P2 P3 P4 P5 P6 P7
Ci x y z xyz xyz xyz xyz xyz xyz xyz xyz
0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 1 0 0 0 0 0 0
2 0 1 0 0 0 1 0 0 0 0 0
3 0 1 1 0 0 0 1 0 0 0 0
4 1 0 0 0 0 0 0 1 0 0 0
5 1 0 1 0 0 0 0 0 1 0 0
Pi vaut
6 1 1uniquement
1 0 0 pour
0 0 la 0combinaison
0 0 1 0C i
7 1 1 1 0 0 0 0 0 0 0 1

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 30


Écritures canoniques d'une fonction logique

Si on prend maintenant une fonction F de 3 variables binaires
définie par sa table de vérité :

Ci x y z F
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 0
7 1 1 1 0

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 31


Écritures canoniques d'une fonction logique

Si on prend maintenant une fonction F de 3 variables binaires
définie par sa table de vérité :

Ci x y z F P1+P3+P4
0 0 0 0 0 0
1 0 0 1 1 1
2 0 1 0 0 0
3 0 1 1 1 1
4 1 0 0 1 1
5 1 0 1 0 0
6 1 1 0 0 0
7 1 1 1 0 0

F = P1 +P3 +P4
=x y z+x y z+x y z

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 32


Écritures canoniques d'une fonction logique
● implémentation de la fonction F = x y z+x y z+x y z

x y z

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 33


Écritures canoniques d'une fonction logique
● Produits canoniques de sommes
➢ on peut définir de façon analogues les 2n sommes logiques
ou maxterms de n variables logiques
S0 S1 S2 S3 S4 S5 S6 S7
Ci x y z x+y +z x+y +z x+y +z x+y +z x+y +z x+y +z x+y +z x+y +z
0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 0 1 1 1 1 1 1
2 0 1 0 1 1 0 1 1 1 1 1
3 0 1 1 1 1 1 0 1 1 1 1
4 1 0 0 1 1 1 1 0 1 1 1
5 1 0 1 1 1 1 1 1 0 1 1
6 1 1 0 1 1 1 1 1 1 0 1
7 1 1 1 1 1 1 1 1 1 1 0

F = S0 .S2 .S5 .S6 S7


= (x+y+z).(x+y+z).(x+y+z).(x+y+z).(x+y+z)
P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 34
Simplification de l'écriture des fonctions
● Simplification = trouver une forme plus condensée
➢ moins d'opérateurs
➢ implémentation plus compacte
● Simplification algébrique
➢ à partir de la table de vérité
➢ écriture sous la forme canonique somme de produits
➢ éventuellement simplification

chance et astuce

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 35


Simplification de l'écriture des fonctions
➢ exemple
x y z F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

F = xyz + xyz + xyz + xyz


= (x yz + x y z) + (x y z + x y z) + (x y z + x y z)
= yz(x + x) + xz(y + y) + xy(z + z)
= xy + yz + zx
P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 36
Simplification de l'écriture des fonctions
● Tableaux de Karnaugh
➢ représentation compacte des fonctions logiques
➢ principe de la représentation :

partitionner les n variables en 2 groupes de taille p et q
– p = q = n/2 si n est pair
– p = (n+1)/2 et q = (n-1)/2 si n est impair

remplir le tableau (2p lignes et 2q colonnes) : à chaque ligne
(resp. colonne) on associe une combinaison de p (resp. q)
variables en affectant les combinaisons dans l'ordre binaire
réfléchi (code GRAY) et on indique dans la case la valeur de
la fonction

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 37


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00
01 1101
11
10

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 38


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00
01
11
10

– la case rouge correspond au minterm


xyzt

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 39


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00 x
01 x x
11 x
10

– ses voisins sont marqués par les croix

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 40


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00
01
11
10

– la case rouge correspond au minterm x y z t

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 41


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00 x x
01 x
11
10 x

– ses voisins sont marqués par les croix : la structure est cyclique

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 42


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00
01
11
10

– la case rouge correspond au minterm x y z t

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 43


Simplification de l'écriture des fonctions
➢ exemple

fonction à 4 variables F(x,y,z,t)

xy
zt 00 01 11 10
00 x x
01 x
11
10 x

– ses voisins sont marqués par les croix

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 44


Simplification de l'écriture des fonctions
➢ exemple

fonction à 5 variables F(x,y,z,t,u)

xyz 000 001 011 010 110 111 101 100


tu
00
01
11
10

– la case rouge correspond au minterm x y z t u

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 45


Simplification de l'écriture des fonctions
➢ exemple

fonction à 5 variables F(x,y,z,t,u)
xyz 000 001 011 010 110 111 101 100
tu
00 x
01 x x x
11 x
10

– la case rouge correspond au minterm x y z t u


– ses voisins sont marqués par les croix (il faut replier la structure
autour de l'axe de symétrie entre les colonnes 010 et 110)

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 46


Simplification de l'écriture des fonctions
● méthode de simplification de Karnaugh :
➢ repose sur l'identité ( A.B)+( A. B) = A.(B+B)=A
➢ rassembler les cases adjacentes contenant des 1 par
groupes de 2, 4 ou 8 termes

entre 2 cases adjacentes, une seule variable change

une même variable peut être utilisée plusieurs fois
(x+x = x)
xy
00 01 11 10
G = xyz+xy z
z
0 1
= xy(z+z)
1 1 1 1 = xy

F = xy + yz + xz

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 47


Simplification de l'écriture des fonctions
➢ autre exemple :
x y z t F xy
0 0 0 0 1 zt 00 01 11 10
0 0 0 1 0 00 1 1
0 0 1 0 1
01 1 1 1
0 0 1 1 0
11 1
0 1 0 0 0
0 1 0 1 1 10 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
F = xy + yt + yzt
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 48


à suivre...

Logique combinatoire

P. Pangaud Polytech Marseille INFO3 2018-19 Cours Architecture Logique booléenne 49