Telechargé par Omar Ait Oualhaj

Architecture des ordinateurs Algèbre de Boole et ... - Cours-info

publicité
Architecture des ordinateurs
Algèbre de Boole et circuits logiques
Michel Salomon
IUT de Belfort-Montbéliard
Département d’informatique
Michel Salomon
Architecture des ordinateurs
1 / 21
Introduction
Un système informatique est un système binaire
→ un circuit d’un syst. info. a deux états d’équilibre : 0 et 1
Au niveau électrique ou électronique
États associés à deux niveaux de tension
V0 (haut) et V1 (bas)
qui définissent un signal logique ou numérique
En pratique un niveau est défini par un domaine de tension
ou de courant
Exemple : technologie Transistor Transistor Logic
• niveau haut → plage de +2, 7V à +5V ;
• niveau bas → ≤ +0, 8V
Électronique numérique ⇒ circuit numérique
Michel Salomon
Architecture des ordinateurs
2 / 21
Introduction
Un circuit numérique transporte un (ou plusieurs signaux)
signal logique
Son état est caractérisé par une variable pouvant
prendre deux valeurs possibles : 0 et 1
En ne considérant que le niveau logique :
état d’une ligne ;
valeur d’un signal logique ou d’une variable logique ;
utilisation de la notion de circuit logique
Rôle d’un circuit logique
Exécute des opérations sur des variables logiques ;
transporte et traite des signaux logiques
réalise (implémente) une fonction logique
Michel Salomon
Architecture des ordinateurs
3 / 21
Introduction
Les fonctions logiques
Chacune est définie par une table de vérité ;
leur étude repose sur l’algèbre de Boole
Plusieurs représentations sont possibles :
expression (ou équation) algébrique ;
logigramme (représentation graphique) ;
voire un chronogramme
Toute fonction (et donc circuit) logique peut être réalisée
avec un petit nombre de fonctions logiques de base
(appelées aussi opérateurs logiques ou portes)
Michel Salomon
Architecture des ordinateurs
4 / 21
La logique des propositions
Proposition = un énoncé Vrai ou Faux
Exemples
a : “on est mardi” ;
b : “il est 8 heures” ;
“cours d’architecture si a et b”
On peut combiner les propositions par des connecteurs pour
en former des nouvelles, les plus courants sont :
∨ → loi Ou, dite disjonction → Ou logique ;
∧ → loi Et, dite conjonction → Et logique ;
¬ → contraire ou négation → Non logique
Valeurs de ces propositions définies par des tables de vérité
a
V
F
¬a
F
V
Michel Salomon
a
V
V
F
F
b
V
F
V
F
a∨b
V
V
V
F
a∧b
V
F
F
F
Architecture des ordinateurs
5 / 21
De la logique des propositions à l’algèbre de Boole
En plus des connecteurs, il y a plusieurs lois
Exemple : ¬a ∧ ¬b = ¬(a ∨ b)
a
V
V
F
F
b
V
F
V
F
¬a ¬b ¬a ∧ ¬b
F
F
F
F
V
F
V
F
F
V V
V
a∨b
V
V
V
F
¬(a ∨ b)
F
F
F
V
George Boole exprima la logique des propositions sous forme
algébrique → algèbre de Boole
Claude Shannon utilisa l’algèbre de Boole en définissant le
codage suivant :
Vrai → 1 et Faux → 0
a∨b ⇔a+b;
a ∧ b ⇔ a × b (ou a · b, ou encore ab) ;
¬a ⇔ a (0 = 1, 1 = 0)
Michel Salomon
Architecture des ordinateurs
6 / 21
L’algèbre de Boole
Permet de décrire le traitement des signaux logiques sous
forme d’expressions (ou équations) algébriques
Constantes, variables et opérateurs logiques
Constantes : 0,1
Variables : a, b, c, . . . ;x , y , z, . . . ;x1 , x2 , x3 , . . . ;etc.
Opérateurs (ou fonctions de base)
Fonctions ayant une ou deux entrées et une sortie
Description par leur table de vérité
Fonctions de n variables :
• table de vérité ayant 2n états d’entrée ;
• chaque état d’entrée a deux valeurs possibles en sortie
n
→ il y a 22 fonctions possibles
Table de vérité des fonctions à une variable
a
0
1
F1
0
0
F2
0
1
F3
1
0
F4
1
1
Seule fonction intéressante : F3 = non(a) ⇔ Non logique
Michel Salomon
Architecture des ordinateurs
7 / 21
L’algèbre de Boole
Constantes, variables et opérateurs (suite)
Table de vérité des fonctions à deux variables
a b
0 0
0 1
1 0
1 1
a+b
0
1
1
1
a+b
1
0
0
0
a·b
0
0
0
1
a·b
1
1
1
0
a⊕b
0
1
1
0
a⊕b
1
0
0
1
Seules fonctions intéressantes :
Ou → ou(a, b) = a + b ; Non Ou ou nor → nor(a, b) = a + b
Et → et(a, b) = a · b ; Non Et ou nand → nand(a, b) = a · b
Ou-exclusif ou xor → xor(a, b) = a ⊕ b
Toute fonction peut s’exprimer à partir des opérateurs et, ou,
non → ces opérateurs sont dits de base
Michel Salomon
Architecture des ordinateurs
8 / 21
L’algèbre de Boole
Opérateurs complets
Groupe logique complet
Ensemble de fonctions logiques à partir desquelles on peut
construire toute fonction logique
Opérateur complet → groupe logique complet à lui seul
Théorèmes et axiomes fondamentaux
Construction à partir des opérateurs × (et), + (ou), (non)
Théorème des constantes
a+0=a ; a×0=0
a+1=1 ; a×1=a
Idempotence
a + a = a et a × a = a
Complémentation
a + a = 1 et a × a = 0
Commutativité
a + b = b + a et a × b = b × a
Michel Salomon
Architecture des ordinateurs
9 / 21
L’algèbre de Boole
Théorèmes et axiomes fondamentaux
Distributivité
a + (b · c) = (a + b) · (a + c)
a · (b + c) = (a · b) + (a · c)
Associativité
a + (b + c) =
a · (b · c) =
(a + b) + c
(a · b) · c
Théorème de De Morgan
a·b
=
a+b
a+b
=
a·b
Autres relations (absorption)
a=a
a·b+a·b = a
; a + (a · b) = a
; a · (a + b) = a
(a + b) · (a + b) = a
Michel Salomon
Architecture des ordinateurs
10 / 21
L’algèbre de Boole
Une expression (ou équation) logique est définie récursivement
Variables ou constantes logiques sont des expressions logiques ;
si X est une expression logique, (X ) l’est également ;
si X et Y sont deux expressions logiques alors
X;
X +Y ;
X ×Y ;
sont aussi des expressions logiques
Une expression logique a pour valeur 0 ou 1, calculée par :
les tables de vérité des opérateurs et, ou, non ;
non a priorité sur et qui a priorité sur ou ;
les parenthèses modifient les priorités
À une expression logique correspond une fonction logique
unique, la réciproque est fausse
Michel Salomon
Architecture des ordinateurs
11 / 21
De la fonction logique au circuit logique la réalisant
1
Une fonction à n variables est une application de {0, 1}n
dans {0, 1}, elle est définie par une table de vérité
La table de vérité comporte 2n lignes ;
Toutes les combinaisons possibles des n entrées
avec pour chacune les états de sortie correspondant
2
De la table de vérité à l’expression logique
Développement en somme de produits logiques
→ forme normale disjonctive (méthode des Minterms)
Développement en produit de sommes logiques
→ forme normale conjonctive (méthode des Maxterms)
3
Simplification de l’expression logique
Des expressions logiques désignent la même fonction logique :
si leurs tables de vérité sont identiques ;
si on peut obtenir algébriquement l’une à partir de l’autre
4
Représentation graphique de l’expression logique simplifiée
→ logigramme du circuit
Michel Salomon
Architecture des ordinateurs
12 / 21
De la table de vérité à l’expression logique
Développement en somme de produits logiques - Minterms
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
F (a, b, c)
1
0
0
1
1
1
0
1
F (a, b, c) = 1 si :
(a=0 et b=0 et c=0)
(a=0 et b=1 et c=1)
(a=1 et b=0 et c=0)
(a=1 et b=0 et c=1)
(a=1 et b=1 et c=1)
ou
ou
ou
ou
F (a, b, c) = a · b · c + a · b · c + a · b · c + a · b · c + a · b · c
Minterm = produit logique de toutes les variables d’entrées
Variable sous la forme vraie → si la variable = 1
ou sous la forme complémentée → si la variable = 0
Michel Salomon
Architecture des ordinateurs
13 / 21
De la table de vérité à l’expression logique
Développement en produit de sommes logiques - Maxterms
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
F (a, b, c)
1
0
0
1
1
1
0
1
F (a, b, c) = 0 si :
(a=0 et b=0 et c=1) ou
(a=0 et b=1 et c=0) ou
(a=1 et b=1 et c=0)
avec la loi de De Morgan
F (a, b, c) = 1 si :
(a=1 ou b=1 ou c=0) et
(a=1 ou b=0 ou c=1) et
(a=0 ou b=0 ou c=1)
F (a, b, c) = (a + b + c) · a + b + c · a + b + c
Maxterm = somme logique de toutes les variables d’entrées
Variable sous la forme vraie → si la variable = 0
ou sous la forme complémentée → si la variable = 1
Michel Salomon
Architecture des ordinateurs
14 / 21
Simplification d’une expression (équation) logique
Plusieurs méthodes de simplification :
1
2
algébrique → utilise théorèmes, axiomes de l’algèbre de Boole ;
table, tableau ou diagramme de Karnaugh
Simplification algébrique d’une fonction / expression logique
F (a, b) = a · b + a · (b + b)
= a·b+a·1
= a·b+a
(1)
= (a + a) · (b + a)
(2)
= 1 · (b + a)
= b+a
on peut aboutir au même résultat de différentes manières. Par
exemple, une expression différente de (2) à partir de (1)
F (a, b) = a · b + a = (a · b) · a = . . .
Michel Salomon
Architecture des ordinateurs
15 / 21
Simplification d’une expression (équation) logique
Simplification par table de Karnaugh
La table de vérité est représentée sous forme d’un tableau
Deux cases adjacentes en ligne ou colonne ne différent
que par l’état d’une variable et une seule ;
de plus, chaque ligne et colonne est circulaire
→ chaque case a 4 voisins (gauche,droit et haut,bas)
Tables de Karnaugh (case en couleur avec ses voisins)
cd
ab 00 01 11 10
00
a
b
bc
0
1
00 01 11 10
a
01
0
0
11
1
1
10
2 variables
3 variables
Michel Salomon
4 variables
Architecture des ordinateurs
16 / 21
Simplification d’une expression (équation) logique
Simplification par table de Karnaugh (suite)
Chaque case contenant un 1 est codée par un minterm
Les cases adjacentes contenant des 1 forment des groupes/blocs
Groupement horizontal et/ou vertical ;
le nombre de 1 d’un bloc est une puissance de 2 (1,2,4, etc.) ;
on veut les blocs les plus grands et le moins de blocs ;
un 1 peut appartenir à plusieurs blocs
Plus un bloc est grand, plus l’expression le codant sera simple
Un bloc est codé par un produit logique de variables ;
si une variable et sa forme complémentée sont dans le même
bloc on l’élimine du produit logique
Basée sur la relation a · b + a · b = a · (b + b) = a
Michel Salomon
Architecture des ordinateurs
17 / 21
Simplification d’une expression (équation) logique
Simplification par table de Karnaugh (suite)
Simplification d’une fonction / expression logique
a b c d
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
0
cd cd cd cd cd
ab 00 01 11 10
ab 00 0
0
0
0
ab 01 1
1
0
1
ab 11 1
0
0
1
ab 10 0
1
1
0
Exemple de Minterm :
abcd
F(a,b,c,d)= abd + abc + bd
Michel Salomon
Architecture des ordinateurs
18 / 21
Logigramme d’un circuit logique
Un circuit logique est un assemblage de portes logiques ;
le terme logigramme désigne sa représentation schématique
Portes élémentaires - norme ANSI/IEEE 91-1984
non
a
a
a
b
a+b
xor
et
a
b
a.b
a
b
a.b
nand
ou
a
b
a+b
a
b
a+b
nor
Michel Salomon
Architecture des ordinateurs
19 / 21
Logigramme d’un circuit logique
Un circuit logique est un assemblage de portes logiques ;
le terme logigramme désigne sa représentation schématique
Portes élémentaires - norme IEC 60617-12
non
a
1
a
a
b
=1
a+b
xor
et
a
b
&
a.b
a
b
&
a.b
nand
ou
a
b
>1
a+b
a
b
>1
a+b
nor
Michel Salomon
Architecture des ordinateurs
20 / 21
Classification des circuits logiques
Il y a deux catégories de circuits logiques :
1 - les circuits combinatoires
ils ne font que combiner selon une table de vérité
des variables logiques en entrée du circuit
2 - les circuits séquentiels
construits à partir de circuits combinatoires ;
ils sont caractérisés par une capacité de mémorisation
Michel Salomon
Architecture des ordinateurs
21 / 21
Téléchargement