Vous êtes sur la page 1sur 18

Architecture des ordinateurs

CHAPITRE III. Eléments d’algèbre de


Boole et de circuit logique

I. Algèbre de Boole
Soient un ensemble B = {1,0}, +, . et − (la complémentarité) les opérateurs définis
de la manière suivante :

Addition (logique) Multiplication (logique) Complémentarité (-)


0+0=0 0.0=0 =1
1+0=1 0.1=0 =0
0+1=1 1.0=0
1+1=1 1.1=1

On dit que B muni des opérations +, . , − est appelé algèbre de Boole.

I.1 Fonction Booléenne


Soient x et y et f(x,y) une fonction à valeur dans B, f est appelée fonction
booléenne. Pour étudier une fonction booléenne, il faut construire sa table de vérité.

I.2 Table de vérité


La table de vérité d’une fonction booléenne donne toutes les valeurs possibles
de la fonction pour toutes les valeurs possibles de ses arguments.
Exemple :
Table :
X Y F(x,y)
0 0 0
0 1 0
1 0 1
1 1 1

La table de vérité peut être utilisée pour démontrer les théorèmes


fondamentaux de l’algèbre de Boole. De façon générale pour une fonction à n
variables, la table de vérité va comporter n+1 colonnes et lignes. Il est recommandé
de lister les combinaisons dans l’ordre croissant c'est-à-dire

ENSP Dr A. M. CHANA LEMALE Page 38


Architecture des ordinateurs

00...…………0
00…………...1
00.…………10
Exemple :
x Y Z F(x,y,z)
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 1 0
1 1 1
1 0 1

I.3 Théorèmes fondamentaux de l’algèbre de Boole


Soient
Théorèmes :
Elément neutre
1.
2.
Elément absorbant
3.
4.
Idempotence
5.
6.
Complémentarité

7.
8.
9.
Commutativité
10.
11.

ENSP Dr A. M. CHANA LEMALE Page 39


Architecture des ordinateurs

Associativité
12.
13.
Distributivité
14.
15. x   y . z   x  y . x  z
Théorème de l’absorption (1)
16.
17.
Théorème de l’absorption (2)
18.
 
19. a  b .b  a.b
Divers
20.
21.

Théorème de De Morgan

On appelle preuve par induction parfaite la preuve qui consiste à établir


l’équivalence entre deux expressions booléennes à l’aide de la table de vérité.
II. Représentation d’une fonction booléenne
Lorsqu’on construit un circuit logique, on dispose de deux ensembles,
ensemble des in put (ce qu’on injecte dans le circuit), ensemble des out put (ce que
génère le circuit), in put = argument et out put = est une fonction des arguments.
Généralement on part de la description non ambiguë et exhaustive du
comportement du circuit pour les différentes valeurs des inputs, on cherche à
déduire une expression booléenne qui est conforme à cette description. La
description exhaustive se fait à l’aide d’une table de vérité.

ENSP Dr A. M. CHANA LEMALE Page 40


Architecture des ordinateurs

Exemple : table de vérité de l'additionneur

x Y S r p
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

Il existe en général deux méthodes de dérivations d’expression logique à partir


d’une table de vérité.

II.1 Forme disjonctive : Expression sous forme de somme de termes produits


Principe :
 On construit la table de vérité
 On ajoute à la table de vérité une colonne appelée colonne de termes produits
 Chaque entrée de cette colonne comprend le produit des inputs construit de la manière
suivante :
 Si un input prend la valeur 0 il intervient sous la forme complément
 Si non on prend la forme normale de l’input
 L’expression recherchée est égale à la somme des termes produits qui correspondent aux
lignes où la fonction prend la valeur 1 ou vraie.

Exemple :
Construire l’expression booléenne de

0 0 1
0 1 0
1 0 1
1 1 1

Remarque : Si chacun des produits contient toutes les variables d’entrée sous une
forme directe ou complémentée, alors la forme est appelée « première forme
canonique » ou « forme canonique disjonctive ». Chacun des produits est alors
appelé minterme.

ENSP Dr A. M. CHANA LEMALE Page 41


Architecture des ordinateurs

Exemple de forme canonique disjonctive :

II.2 Forme conjonctive : Expression sous forme de produit des termes somme
Principe :
 On construit la table de vérité
 On ajoute à la table de vérité une colonne appelée colonne de termes somme
 Chaque entrée comprend la somme des inputs construit de la manière
suivante :
 Si une variable prend la valeur 0 elle intervient sous sa forme normale
 Si elle prend la valeur 1 elle intervient sous forme complémentaire
 L’expression s’obtient en prenant le produit des termes somme correspondant
aux entrées où la fonction est fausse (0).

Exemple :

0 0 1
0 1 0
1 0 1
1 1 1

On peut démontrer qu’une expression sous forme produit des termes sommes
est le duale d’une expression somme des termes produits.
Exemple :

X Y s p
0 0 0
0 1 0
1 0 1
1 1 0

Remarque : Si chacune des sommes contient toutes les variables d’entrée sous une
forme directe ou complémentée, alors la forme est appelée « deuxième forme

ENSP Dr A. M. CHANA LEMALE Page 42


Architecture des ordinateurs

canonique » ou « forme canonique conjonctive ». Chacune des sommes est alors


appelée maxterme. Exemple de forme canonique conjonctive :

II.3 Représentations géométriques des fonctions booléennes.


La représentation des ensembles héritée de Venn, un mathématicien
britannique peut être utilisée pour illustrer les trois opérateurs de l’algèbre de Boole.
On parle aussi de représentation par le diagramme d’Euler.
La complémentarité (ou négation) :

L’intersection (ou la conjonction) :

L’union (ou la disjonction) :

Il est possible d’inclure jusqu’à six ensembles (six variables) et d’exprimer des
énoncés logiques relativement complexes. Par exemple, la fonction A.B est exprimée
ainsi :

ENSP Dr A. M. CHANA LEMALE Page 43


Architecture des ordinateurs

Exercice : Représenter les fonctions


F1 = AB+ A BC+B C
F2 = ABCD+A B C D+ A B C D + A B CD+AB C
F3 = A B +BC+AB C
III. Simplification des expressions logiques

On cherche ici à obtenir une expression algébrique comportant un nombre


minimal de termes, ainsi qu’un nombre minimal de variables dans chaque terme
dans le but de simplifier la réalisation matérielle.

Attention : l’optimisation d’une fonction logique dépend de paramètres tels que


la performance en vitesse désirée, la consommation maximale autorisée ou
l’obligation d’utiliser des bibliothèques de fonctions élémentaires prédéfinies. La
complexité de la représentation algébrique n’est donc qu’un critère d’optimisation
parmi d’autres.

Il existe plusieurs méthodes de simplification d’expression booléenne.

III.1. Méthode algébrique


La méthode algébrique se rapporte aux relations fondamentales d’algèbre de
Boole, de mise en facteur et aux théorèmes de De Morgan. On distingue plusieurs
procédés permettant d’aboutir au but recherché :

Regroupement des termes et mises en facteur

Nous avons successivement utilisé une mise en facteur, la complémentarité, une


deuxième mise en facteur et enfin le théorème d’absorption.

Réplication de termes existants

ENSP Dr A. M. CHANA LEMALE Page 44


Architecture des ordinateurs

La réplication du terme a⋅b⋅c permet de simplifier chacun des trois premiers


termes en utilisant une mise en facteur et la complémentarité.

Suppression de termes superflus

Nous avons ici réintroduit la variable b dans le troisième terme par


l’intermédiaire de la propriété de complémentarité, nous avons ensuite utilisé la
propriété d’absorption pour simplifier les produits.

Exemple :
a)

b)

c)

ENSP Dr A. M. CHANA LEMALE Page 45


Architecture des ordinateurs

III.2. Méthode des tables de Karnaugh


Les tables de Karnaugh sont des représentations sous forme d’un tableau à deux
dimensions de la table de vérité. Elles sont construites de façon à ce que les termes
logiquement adjacents soient géométriquement adjacents. Chaque ligne de la table
de vérité est représentée par une case du tableau de Karnaugh dans laquelle on
indique la valeur de la fonction.

La contrainte d’adjacence géométrique est réalisée par un ordonnancement des


lignes (resp. colonnes) du tableau pour lequel le nombre de bits modifiés d’un code
au suivant est constant et égal à un. Cette propriété est respectée entre le code de la
dernière ligne (resp. colonne) et celui de la première ligne (resp. colonne). Prenons
par exemple le cas d’une fonction F de trois variables, spécifiée dans le
tableau suivant :

a) Construction du tableau de Karnaugh

 Il y a 2n cases pour n variables.


 A chaque case est associé un minterme égal à 1 pour la combinaison
considérée.
 Le passage d’une case à sa voisine se fait par changement d’une seule variable
à la fois.

b) Règles de simplification

Il s’agit de « paver » le tableau de Karnaugh en regroupant les « 1 » adjacents de


telle manière que :

 l’ensemble des « 1 » de la fonction appartiennent au moins à un pavé,


 les pavés soient rectangulaires,
ENSP Dr A. M. CHANA LEMALE Page 46
Architecture des ordinateurs

 le nombre de « 1 » regroupés dans un pavé soit une puissance de 2.

Chaque pavé ainsi constitué représente un terme produit de la fonction ne


contenant que les variables « stables » (par rapport au codage des lignes et des
colonnes du tableau).

Attention !

 De même qu’il n’y a pas unicité de la représentation algébrique d’une fonction


booléenne, il n’y a pas unicité des regroupements géométriques dans le
tableau de Karnaugh.
 Il ne faut pas oublier les adjacences possibles entre colonnes et lignes extrêmes
du tableau de Karnaugh.

Exercices : Soit à simplifier :


 S1 = {1, 5, 7, 12, 14,15}
 S2 = {3, 6, 9, 10, 11, 13, 14,15}
 S3 = {9,11,15,16,20,22,25,29,41,45,50,52}
Pour S3, les combinaisons disponibles sont :(0,2,13,18,31,38,43,47,53,54,56)

III.3 Méthode de Quine

a) Notion d’Impliquant
Une expression ф implique une expression φ si la condition ф  = 1 ne peut jamais
exister, on le traduit par ф φ, ou encore on dit que ф est inclus dans φ.

ENSP Dr A. M. CHANA LEMALE Page 47


Architecture des ordinateurs

Exemple : ABCAB c’est à dire, ABC<AB.


On dit alors que ABC est l’antécédent, tandis que AB est le conséquent de
l’implication.
Si AB et BA, alors on dit A et B sont équivalents.
Dans une somme booléenne par exemple :
F = A B C+A B implique A B .
Soit S = A+B+C une somme booléenne : on a
A =S
B =S
C =S
On dit que A, B, C sont des impliquants de S. Les intersections de base dont la
réunion est équivalente à S sont des impliquants de S, ainsi que toutes les
combinaisons de ces impliquants.

b) Notion d’Impliquant Premier


Si A  S et A  B, mais que B ≠> S, on dit que A est un impliquant premier.
En d’autres termes, dans une somme booléenne, on a un impliquant premier
lorsqu’on a un terme produit appliquant la fonction, mais qui n’est inclus dans aucun
terme produit contenant un plus petit nombre de variables.
Exemple : soit F = A B C+A B +ABC
A B C n’est pas impliquant premier, car il est contenu dans A B . A B implique la
fonction, et n’est inclus dans aucun autre terme contenant moins de variables que
lui. A B est donc un impliquant premier.
ABC implique aussi la fonction, il est également impliquant premier.

c) Notion d’Impliquant Premier Essentiel ou Obligatoire.


Prenons une fonction représentée par les numéros des intersections de base. Si
un impliquant premier possède un numéro qui n’existe pas dans les autres, c’est à
dire que si un impliquant est seul à réaliser certain numéros, alors cet impliquant
premier est dit essentiel ou obligatoire.
Un impliquant non essentiel dont tous les numéros sont réalisés par la réunion
d’autres impliquants premiers s’avère inutile, de manière qu’on n’en tient pas
compte.

d) Notion d’Implication et de Base.


Nous avons vu qu’une fonction a un ensemble d’impliquants, dans cet
ensemble, on peut en extraire un sous-ensemble dont la réunion réalise la fonction.
Ce sous-ensemble est alors une implication. Si une implication est formée
uniquement d’impliquants premiers, alors elle constitue une base de la fonction.

ENSP Dr A. M. CHANA LEMALE Page 48


Architecture des ordinateurs

Une base peut être de telle sorte qu’en enlevant un seul de ses éléments, on ne puisse
plus réaliser la fonction de départ. Une telle base est dite base première.
On appelle base complète l’implication comprenant tous les impliquants premiers de
la fonction.
Ainsi le problème de simplification va se réduire à celui de la détermination
des impliquants premiers, d’une base commode du point de vue de la réalisation
pratique. Avant d’aborder le problème de la simplification, nous allons voir quels
sont les critères qui les guident.

e) Principe
1) Pour toute fonction quelconque F = ß, on peut l’écrire sous la forme canonique de
première espèce en utilisant le théorème ; F= ß (х+ x ). Pour n variables, on aura donc
des termes produits de n variables (sous la forme directe ou complémentée).
2) On applique le théorème ß х+ß x = ß à tous les termes 2 à 2, de façon à passer de n
variables à n-1 variables pour tous les termes. Le théorème sera appliquée autant de
fois que l’on peut, jusqu’au moment où on ne le pourra plus. On a alors la liste des
impliquants premiers, parmi lesquels il faudra faire un choix ultérieur.
Exemple : soit f = A B +B C + B C + A B
Cette fonction fait apparaître la présence de 3 variables : A, B et C.
On va donc mettre f sous la forme canonique de 1ère espèce.
f = A B ( C +C) +B C (A+ A ) + A B(C+ C )
= A B C + A B C + AB C + A B C + A BC + A B C
On diminue les termes identiques pour n’en garder qu’un seul de chaque groupe.
f = A B C+A B C +AB C + A B C + A B C+ A BC
On les écrit sous la forme
A B C. A B
AB C B C
AB C A C
A BC BC
A BC AB
A BC. A C
Ici, on a les termes à n-1 variables. Il faudrait encore appliquer le théorème.
Mais on constate qu’il n’y a plus de termes qui se simplifient on garde donc les
termes obtenus. Dans l’expression, on a 2 termes dont on peut bien se passer,
puisqu’ils n’apparaissent pas dans l’expression de f.
Après avoir utilisé la méthode de Quine pour avoir l’ensemble des impliquants
premiers, voyons maintenant comment choisir ces impliquants.

ENSP Dr A. M. CHANA LEMALE Page 49


Architecture des ordinateurs

Méthode du tableau des impliquants premiers


Impliquants Minterms Noms des
Premiers implicants
AB C A B C AB C A BC A B C A BC premiers
AB X X U
BC X X V
AC X X W
BC X X X
AB X X Y
AC X X Z

F1= A B + B C + A C

F2= B C+ A C + A B

On peut donc réaliser f de 2 manières différentes. Ici, on constate que même les coûts
(niveaux et diodes) sont équivalents pour les 2 réalisations.

III.4 Méthode de PetNick


Elle consiste :
A donner un nom à chaque impliquant premier.
A faire la liste de chaque impliquant premier nécessaire pour réaliser chaque
minterm de la fonction (sous la forme canonique de 1ère espèce).
A dire ensuite que pour que la fonction soit réalisée, il suffit que chacun des
minterms le soit. On a ainsi un produit logique qu’on développe, et on obtient une
somme de termes.
Il reste alors de dire qu’il suffit que l’une quelconque des termes de la somme
précédente soit réalisée pour que la fonction le soit : on va alors choisir les termes les
plus simples pour réaliser la fonction.

ENSP Dr A. M. CHANA LEMALE Page 50


Architecture des ordinateurs

Ainsi pour l’exemple précédent :


Pour le 1er minterm, on réalise par U ou V
2è minterm, on réalise par U ou W
3è minterm, on réalise par W ou X
4è minterm, on réalise par X ou Y
5è minterm, on réalise par V ou Z
6è minterm, on réalise par Y ou Z.
K = (U+V)(U+W)(W+X)(X+Y)(V+Z)(Y+Z)
Pour que K soit représenté, il suffit que K≡1. En développant l’expression ci-dessus
K = (U+VW)(X+WY)(Z+VY)
= (UX+UWY+XVW+VWY)(Z+VY)
= UXZ + UXVY + UWYZ + UWYV + XVWZ + XVWY + VWYZ + VWY
Cette expression est identique à 1 si au moins un des termes est égal à 1. Les termes les plus
simples sont alors UXZ et VWY.
UXZ = A B +B C + A C
VWY = B C+ A C + A B
On retrouve les mêmes expressions que précédemment.

III.5 Méthode de QUINE-MAC-CLUSKEY.


Principe
On regroupe les numéros d’intersections de base représentant la fonction à
simplifier, suivant le nombre de « 1 » qui interviennent dans les équivalents binaires
de ces numéros.
Dans la 1ère colonne, on classe les numéros par ordre dans chaque groupe.

ENSP Dr A. M. CHANA LEMALE Page 51


Architecture des ordinateurs

Exercice : S3, page 45.


0 0000 0
2 0010 1
13 1101 3
18 10010 2
31 11111 5 0 000000
38 100110 3 2 000010
43 101011 4 *16 010000
47 101111 5 *9 001001
48 110000 2 18 010010
53 110101 4 *20 010100
54 110110 4 48 110000
56 111000 3 *11 001011
13 001101
*22 010110
9 1001 2 *25 011001
11 1011 3 38 100110
15 1111 4 *41 101001
16 10000 1 *50 110010
20 10100 2 *52 110100
22 10110 3 56 111000
25 11001 3 *15 001111
29 11101 4 *29 011101
41 101001 3 43 101011
45 101101 4 *45 101101
50 110010 3 53 110101
52 110100 3 54 110110
31 011111
47 101111
On cherche ensuite les adjacences de chaque terme avec les termes du groupe immédiatement
suivant. On écrit ces adjacences dans la 2è colonne, en rappelant les termes groupés et en
mettant un tiret à la place du bit éliminé. On marque une croix devant les termes de la 1ère
colonne qui ont été utilisés. Ceux qui ne le sont pas du tout sont des impliquants premiers. On
recommence le processus (début de 3- ) avec les termes de la 2è colonne, jusqu’à ce qu’il n’y
ait plus de regroupement possible. On a alors la liste des impliquants premiers.

ENSP Dr A. M. CHANA LEMALE Page 52


Architecture des ordinateurs

Ayant cette liste des impliquants premiers, il suffit d’utiliser l’une des 2 méthodes précédentes
(méthode du tableau des impliquants premiers, méthode de Pet Nick) pour déterminer les
combinaisons minimales.

ENSP Dr A. M. CHANA LEMALE Page 53


Architecture des ordinateurs

Exemple :
Soit S = {1, 8, 9, 10, 14, 15}
On écrit l’équivalent binaire de chaque combinaison et ensuite on les regroupe.
1 0001 1-9 -001 P
8 1000 8-9 100- Q
9 1001 8-10 10-0 R
10 1010 10-14 1-10 U
14 1110 14-15 111- T
1111
Ne pouvant plus regrouper les combinaisons de la 2è colonne, P, Q, R, U, T sont
les impliquants premiers.
Choix : 1ère méthode
S=P+R+T
Cette combinaison est celle qui comporte le moins d’éléments. on représente les
termes P, R, et t en omettant les variables à la place desquelles il y a un tiret. Un
« 1 » représente une variable directe, tandis qu’un « 0 » représente une variable
complémentée.
Il faut remarquer ici que 2 impliquants premiers sont essentiels (ou obligatoires).
En effet, pour réaliser la combinaison 1, il faut absolument l’impliquant P, tandis
que l’impliquant T est absolument nécessaire pour réaliser la combinaison 15.
2è méthode
Pour réaliser 1 : on a les impliquants P
8 : on a les impliquants Q ou R
9 : on a les impliquants P ou Q
10 : on a les impliquants R ou U
14 : on a les impliquants U ou T
15 : on a les impliquants T.
Les conditions à remplir sont donc :
S = P (Q + R) (P + Q) (R + U) (U + T ) T
Chacune de ces intersections d’impliquants constitue une réalisation de la
fonction. Il y a autant de bases qu’il y a d’intersections dans l’expression
précédente. On a donc ici 4 cas. Parmi ces bases, nous en avons 2 qui sont
première {R+P+T} et {P+Q+U+T}. Pour les autres bases, on pourrait enlever U
dans {P+R+U+T} ou Q dans {P+Q+R+T} et réaliser néanmoins la fonction. Elles
ne sont donc pas premières.

Exercices :
Simplifier S = {0,1,2,3,4,6,7,8,9,11,15}
= B C + AD + A D .

Remarque : Lorsqu’il y a des conditions disponibles, on introduit leurs numéros pour faire le
travail de concentration, mais on ne le fait pas apparaître dans le tableau des impliquants
premiers au moment du choix, puisqu’on a pas l’obligation de les réaliser.

Exemple : S = {1, 3, 5, 10, 11, 12, 13, 14, 15} combinaison disponible : 0 et 4.
1ère colonne 2è colonne 3è colonne

1ère Colonne 2e Colonne 3e Colonne


0 0000 * 0-1 000- * 0-1-4-5 0-0- R

ENSP Dr A. M. CHANA LEMALE Page 54


Architecture des ordinateurs

1 0001 * 0-4 0-00 * 4-5-12-13 -101 U


4 0100 * 1-3 00-1 P 10-11-14-15 1-1- T
3 0011 * 1-5 0-01 * 12-13-14-15 11-- V
5 0101 * 4-5 010- *
10 1010 * 4-12 -100 *
12 1100 * 3-11 -011 Q
11 1011 * 9-13 -101 *
13 1101 * 10-11 101- *
14 1110 * 10-14 1-10 *
15 1111 * 12-13 110- *
12-14 11-0 *
11-15 1-11 *
13-15 11-1 *
14-15 111- *
Il y a donc 6 impliquants premiers.
Il y a un impliquant premier essentiel : T, car lui seul permet de réaliser les 10 minterms.
On peut remarquer que pour choisir les impliquants premiers, on n’a pas tenu compte
des combinaisons interdites. Parmi les bases possibles, celle qui paraît la plus simple est
{P+U+T}. Si on veut avoir l’ensemble des bases possibles, on procède par la méthode de Pet
Nick : le faire en exercice (on trouvera 4 bases premières).

ENSP Dr A. M. CHANA LEMALE Page 55

Vous aimerez peut-être aussi