Algèbre de Boole, circuits logiques p. 1



Documents pareils
Cours Premier semestre

Algèbre binaire et Circuits logiques ( )

Système binaire. Algèbre booléenne

IFT1215 Introduction aux systèmes informatiques

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

RESUME DE COURS ET CAHIER D'EXERCICES

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Simulation de variables aléatoires

Livret - 1. Informatique : le matériel. --- Ordinateur, circuits, codage, système, réseau. Cours informatique programmation.

MATHEMATIQUES APPLIQUEES Equations aux dérivées partielles Cours et exercices corrigés

Bases de données Cours 5 : Base de données déductives

BCI - TPSP - Processeurs et Architectures Numériques

2.4 Représentation graphique, tableau de Karnaugh

Chapitre 2. Eléments pour comprendre un énoncé

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Utilisation des tableaux sémantiques dans les logiques de description

DOCM Solutions officielles = n 2 10.

Mathématiques appliquées à l'économie et à la Gestion

Informatique Générale

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Calculons avec Albert!

OM 1 Outils mathématiques : fonction de plusieurs variables

Dérivées et différentielles des fonctions de plusieurs variables

Contenus des UE du Semestre 1

ELP 304 : Électronique Numérique. Cours 1 Introduction

Programmation Par Contraintes

Logiciel de Base. I. Représentation des nombres

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Représentation des Nombres

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Systemesdigitaux. Cours 5

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Conversion d un entier. Méthode par soustraction

CHAPITRE 10. Jacobien, changement de coordonnées.

ANALYSTE PROGRAMMEUR EN INFORMATIQUE Option : Développement Internet

Architecture : Circuits numériques et éléments d architecture

Logique : ENSIIE 1A - contrôle final

TP - Alarme de voiture / Approche fonctionnelle

Optimisation des fonctions de plusieurs variables

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Marc HINDRY. Introduction et présentation. page 2. 1 Le langage mathématique page 4. 2 Ensembles et applications page 8

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Gnuplot. Chapitre Lancer Gnuplot. 3.2 Options des graphes

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Pour l épreuve d algèbre, les calculatrices sont interdites.

Dossier Logique câblée pneumatique

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Cours 9. Régimes du transistor MOS

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Introduction à l étude des Corps Finis

Fonctions de plusieurs variables

Le transistor bipolaire

Les fonctions logiques

Quatrième partie IV. Test. Test 15 février / 71

Fonctions de plusieurs variables

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

3 ème 2 DÉVELOPPEMENT FACTORISATIONS ET IDENTITÉS REMARQUABLES 1/5 1 - Développements

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Plus courts chemins, programmation dynamique

Dérivées d ordres supérieurs. Application à l étude d extrema.

Circuits RL et RC. Chapitre Inductance

Licence Sciences et Technologies Examen janvier 2010

Théorie des Langages

Contribution à l algorithmique de la vérification

GPA770 Microélectronique appliquée Exercices série A

INGENIERIE DES SYSTEMES INFORMATIQUES - PARCOURS : MOBILITE ET CLOUD COMPUTING

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Représentation d un entier en base b

Electronique Numérique

Fonctions de plusieurs variables et applications pour l ingénieur

Intelligence artificielle appliquée à l automatique

Génie Industriel et Maintenance

Architecture de l ordinateur

Systèmes décisionnels et programmation avancée

Chapitre 1. Une porte doit être ouverte et fermée. 1.1 Les enjeux de l'informatique quantique

1 ère année L1 (Programme Mathématiques Informatique- Appliquées) : MIA

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

CHAPITRE VI ALEAS. 6.1.Généralités.

Premiers exercices d Algèbre. Anne-Marie Simon

Architecture matérielle des systèmes informatiques

Continuité d une fonction de plusieurs variables

Concevoir son microprocesseur

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

QUESTION 1 {2 points}

République Algérienne Démocratique et Populaire

Calcul des intégrales multiples. Abdesselam BOUARICH Université Sultan Moulay Slimane Faculté des sciences de Beni Mellal

Quantification Scalaire et Prédictive

Introduction au Data-Mining

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

ASR1 TD7 : Un microprocesseur RISC 16 bits

Algorithme. Table des matières

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

Transcription:

Algèbre de Boole, circuits logiques Vincent Risch, septembre 2006, révision mai 2014 I.U.T., Aix-Marseille Université Algèbre de Boole, circuits logiques p. 1

Plan Circuits combinatoires dispositifs de calcul Algèbres de Boole : rappels Circuits élémentaires Décodeurs, multiplexeurs, démultiplexeurs, additionneur : on verra plus tard... Circuits séquentiels dispositifs de mémorisation : on verra aussi (vaguement) plus tard... Algèbre de Boole, circuits logiques p. 2

Algèbres de Boole Définition algèbrique : treillis distributif complémenté Algèbre de Boole, circuits logiques p. 3

Algèbres de Boole Définition algèbrique : treillis distributif complémenté Définition axiomatique : ensemble contenant {0,1} et sur lequel sont définies deux opérations binaires, et, et une opération unaire,, vérifiant un ensemble défini d axiomes Algèbre de Boole, circuits logiques p. 3

Algèbres de Boole Définition algèbrique : treillis distributif complémenté Définition axiomatique : ensemble contenant {0,1} et sur lequel sont définies deux opérations binaires, et, et une opération unaire,, vérifiant un ensemble défini d axiomes Lien entre les deux définitions : x y x y = x x y = y où et désignent les bornes inférieures du treillis et 0 et 1 les éléments nuls et universels Algèbre de Boole, circuits logiques p. 3

Axiomes x x = 0 x x = 1 x 0 = 0 x 1 = 1 x 1 = x x 0 = x x x = x x x = x x y = y x x y = y x x (y z) = (x y) z x (y z) = (x y) z x (y z) = (x y) (x z) x (y z) = (x y) (x z x (x y) = x x (x y) = x approche axiomatique = logique propositionnelle architecture : on note traditionnellement par., et par + Algèbre de Boole, circuits logiques p. 4

Fonctions booléennes Fonctions sur {0,1} définies à l aide des opérateurs booléens : une table de vérité peut suffire à leur étude ; Algèbre de Boole, circuits logiques p. 5

Fonctions booléennes Fonctions sur {0,1} définies à l aide des opérateurs booléens : une table de vérité peut suffire à leur étude ; toute fonction booléenne peut se représenter sous forme canonique, Algèbre de Boole, circuits logiques p. 5

Fonctions booléennes Fonctions sur {0,1} définies à l aide des opérateurs booléens : une table de vérité peut suffire à leur étude ; toute fonction booléenne peut se représenter sous forme canonique, conjonctive : produits de sommes de toutes ses variables, par ex : f(x,y) = (x+y).(x+y) Algèbre de Boole, circuits logiques p. 5

Fonctions booléennes Fonctions sur {0,1} définies à l aide des opérateurs booléens : une table de vérité peut suffire à leur étude ; toute fonction booléenne peut se représenter sous forme canonique, conjonctive : produits de sommes de toutes ses variables, par ex : f(x,y) = (x+y).(x+y) disjonctive : sommes de produits de toutes ses variables, par ex : f(x,y,z) = x.y.z +x.y.z +x.y.z Algèbre de Boole, circuits logiques p. 5

Fonctions booléennes Fonctions sur {0,1} définies à l aide des opérateurs booléens : une table de vérité peut suffire à leur étude ; toute fonction booléenne peut se représenter sous forme canonique, conjonctive : produits de sommes de toutes ses variables, par ex : f(x,y) = (x+y).(x+y) disjonctive : sommes de produits de toutes ses variables, par ex : f(x,y,z) = x.y.z +x.y.z +x.y.z toute fonction booléenne peut être simplifiée de façon à minimiser (en général pas de façon unique) le nombre d occurences de chaque opérateur. Algèbre de Boole, circuits logiques p. 5

Exemple f(x,y,z) = (x y) (y z) (z x) Algèbre de Boole, circuits logiques p. 6

Exemple f(x,y,z) = (x y) (y z) (z x) x y z x y y z z x (x y) (y z) f(x,y,z) 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 Algèbre de Boole, circuits logiques p. 6

Exemple f(x,y,z) = (x y) (y z) (z x) x y z x y y z z x (x y) (y z) f(x,y,z) 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 Algèbre de Boole, circuits logiques p. 6

Exemple f(x,y,z) = (x y) (y z) (z x) x y z x y y z z x (x y) (y z) f(x,y,z) 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 On obtient donc : f(x,y,z) = x.y.z +x.y.z Algèbre de Boole, circuits logiques p. 6

Simplification des fonctions booléennes Identifier toutes les factorisations possibles par des tautologies Simplification algébrique Tables de Karnaugh Algorithme de Nelson Algorithme de Quine McCluskey Méthode des consensus... Algèbre de Boole, circuits logiques p. 7

Simplification algébrique Simplification à la main, exemple : f(x 1,x 2,x 3,x 4 ) = x 1.x 2.x 3 +x 1.x 2.x 3 +x 2.x 3 +x 4 = (x 1 +x 1 ).x 2.x 3 +x 2.x 3 +x 4 = x 2.x 3 +x 2.x 3 +x 4 = (x 2 +x 2 ).x 3 +x4 = x 3 +x 4 Algèbre de Boole, circuits logiques p. 8

Tables de Karnaugh Représentation graphique sous forme normale disjonctive Algèbre de Boole, circuits logiques p. 9

Tables de Karnaugh Représentation graphique sous forme normale disjonctive Utilise le binaire réfléchi pour le repérage des factorisations Algèbre de Boole, circuits logiques p. 9

Tables de Karnaugh Représentation graphique sous forme normale disjonctive Utilise le binaire réfléchi pour le repérage des factorisations Table à deux variables : x 1 x 2 x 1 x 1 x 2 x 1.x 2 x 1 x 2 x 2 x 1.x 2 x 1.x 2 Algèbre de Boole, circuits logiques p. 9

Tables de Karnaugh Représentation graphique sous forme normale disjonctive Utilise le binaire réfléchi pour le repérage des factorisations Table à deux variables : x 1 x 2 x 1 x 1 x 2 x 1.x 2 x 1 x 2 x 2 x 1.x 2 x 1.x 2 f(x 1,x 2 ) = x 1 x 2 +x 1.x 2 Algèbre de Boole, circuits logiques p. 9

Tables de Karnaugh Représentation graphique sous forme normale disjonctive Utilise le binaire réfléchi pour le repérage des factorisations Table à deux variables : x 1 x 2 x 1 x 1 x 2 x 1.x 2 x 1 x 2 x 2 x 1.x 2 x 1.x 2 f(x 1,x 2 ) = x 1 x 2 +x 1.x 2 = (x 2 +x 2 ).x 1 = x 1 Algèbre de Boole, circuits logiques p. 9

Karnaugh : stratégie de construction Ordre binaire réfléchi (permet les factorisations et ferme la table sur elle-même) Algèbre de Boole, circuits logiques p. 10

Karnaugh : stratégie de construction Ordre binaire réfléchi (permet les factorisations et ferme la table sur elle-même) Regroupements de 1 par multiples de puissances de 2 (2, 4, 8, 16,... ) Algèbre de Boole, circuits logiques p. 10

Karnaugh : stratégie de construction Ordre binaire réfléchi (permet les factorisations et ferme la table sur elle-même) Regroupements de 1 par multiples de puissances de 2 (2, 4, 8, 16,... ) Les regroupements doivent être réalisés de telle sorte qu un maximum de valeurs 1 soient englobées dans un minimum de regroupements (réaliser les plus gros regroupements possibles, et en plus petit nombre possible) Algèbre de Boole, circuits logiques p. 10

Karnaugh : stratégie de construction Ordre binaire réfléchi (permet les factorisations et ferme la table sur elle-même) Regroupements de 1 par multiples de puissances de 2 (2, 4, 8, 16,... ) Les regroupements doivent être réalisés de telle sorte qu un maximum de valeurs 1 soient englobées dans un minimum de regroupements (réaliser les plus gros regroupements possibles, et en plus petit nombre possible) Pas forcément une simplification unique... Algèbre de Boole, circuits logiques p. 10

Exemple de Table de Karnaugh f(x 1,x 2,x 3,x 4 ) = x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 Algèbre de Boole, circuits logiques p. 11

Exemple de Table de Karnaugh f(x 1,x 2,x 3,x 4 ) = x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 x 3 x 4 x 1 x 2 00 01 11 10 00 1 1 1 01 1 1 11 1 1 10 1 1 Algèbre de Boole, circuits logiques p. 11

Exemple de Table de Karnaugh f(x 1,x 2,x 3,x 4 ) = x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 x 3 x 4 x 1 x 2 00 01 11 10 00 1 1 1 01 1 1 11 1 1 10 1 1 f(x 1,x 2,x 3,x 4 ) = x 2.x 4 +x 1.x 4 +x 1.x 3.x 4 Algèbre de Boole, circuits logiques p. 11

Exemple de Table de Karnaugh f(x 1,x 2,x 3,x 4 ) = x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 +x 1.x 2.x 3.x 4 + x 1.x 2.x 3.x 4 x 3 x 4 x 1 x 2 00 01 11 10 00 1 1 1 01 1 1 11 1 1 10 1 1 f(x 1,x 2,x 3,x 4 ) = x 2.x 4 +x 1.x 4 +x 1.x 3.x 4 + x 1.x 2 : NON! Algèbre de Boole, circuits logiques p. 11

Chacun des opérateurs booléens est implémentable électroniquement à l aide de transistors ; Algèbre de Boole, circuits logiques p. 12

Circuits logiques Chacun des opérateurs booléens est implémentable électroniquement à l aide de transistors ; ll est donc possible de d implémenter n importe quelle fonction booléenne par un circuit ; Algèbre de Boole, circuits logiques p. 12

Circuits logiques Chacun des opérateurs booléens est implémentable électroniquement à l aide de transistors ; ll est donc possible de d implémenter n importe quelle fonction booléenne par un circuit ; la représentation symbolique d un circuit complexe se fait conventionnellement à l aide de portes logiques dont chacune est associée à un opérateur booléen. Algèbre de Boole, circuits logiques p. 12

ANSI/IEEE Std 91-1984 Porte IDENTITÉ 1 Porte NON 1 ou Porte OU 1 Porte ET & Porte OU-EXCL = 1 Algèbre de Boole, circuits logiques p. 13

Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Algèbre de Boole, circuits logiques p. 14

Circuits combinatoires Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Etapes de construction : Algèbre de Boole, circuits logiques p. 14

Circuits combinatoires Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Etapes de construction : 1. spécification de la fonction logique Algèbre de Boole, circuits logiques p. 14

Circuits combinatoires Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Etapes de construction : 1. spécification de la fonction logique 2. tables de vérité Algèbre de Boole, circuits logiques p. 14

Circuits combinatoires Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Etapes de construction : 1. spécification de la fonction logique 2. tables de vérité 3. optimisation Algèbre de Boole, circuits logiques p. 14

Circuits combinatoires Circuit combinatoire : circuit logique dont l état des sorties ne dépend que des valeurs assignées aux variables d entrée. Etapes de construction : 1. spécification de la fonction logique 2. tables de vérité 3. optimisation 4. tracé Algèbre de Boole, circuits logiques p. 14

Exemple On considère la fonction logique suivante : f(x,y,z) = x.y.z +x.y.z +x.y.z +x.y.z +x.y.z La table de vérité correspondante est : x y z f(x,y,z) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Algèbre de Boole, circuits logiques p. 15

Exemple : simplification algébrique f(x,y,z) = x.y.z +x.y.z +x.y.z +x.y.z +x.y.z Algèbre de Boole, circuits logiques p. 16

Exemple : simplification algébrique f(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 +x.y.z + x.y.z +x.y.z +x.y.z +x.y.z +x.y.z Algèbre de Boole, circuits logiques p. 16

Exemple : simplification algébrique f(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 +x.y.z + x.y.z +x.y.z +x.y.z +x.y.z +x.y.z = x.(y +y).z +(x+x).y.z + x.y.(z +z)+(x+x).y.z +x.(y +y).z Algèbre de Boole, circuits logiques p. 16

Exemple : simplification algébrique f(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 +x.y.z + x.y.z +x.y.z +x.y.z +x.y.z +x.y.z = x.(y +y).z +(x+x).y.z + x.y.(z +z)+(x+x).y.z +x.(y +y).z = x.z +y.z +x.y +y.z +x.z Algèbre de Boole, circuits logiques p. 16

Exemple : simplification algébrique f(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 +x.y.z + x.y.z +x.y.z +x.y.z +x.y.z +x.y.z = x.(y +y).z +(x+x).y.z + x.y.(z +z)+(x+x).y.z +x.(y +y).z = x.z +y.z +x.y +y.z +x.z = (x+x).z +(y +y).z +x.y Algèbre de Boole, circuits logiques p. 16

Exemple : simplification algébrique f(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 +x.y.z + x.y.z +x.y.z +x.y.z +x.y.z +x.y.z = x.(y +y).z +(x+x).y.z + x.y.(z +z)+(x+x).y.z +x.(y +y).z = x.z +y.z +x.y +y.z +x.z = (x+x).z +(y +y).z +x.y = x.y +z Algèbre de Boole, circuits logiques p. 16

Exemple : table de Karnaugh z x y 00 01 11 10 0 1 1 1 1 1 1 Algèbre de Boole, circuits logiques p. 17

Exemple : table de Karnaugh z x y 00 01 11 10 0 1 1 1 1 1 1 f(x,y,z) = x.y +z Algèbre de Boole, circuits logiques p. 17

Exemple : circuit logique x y z & 1 f(x,y,z) Algèbre de Boole, circuits logiques p. 18

Epilogue Très schématiquement : un ordinateur est un ensemble de circuits logiques dédiés (additionneurs, décodeurs, multiplexeurs... ) reliés entre eux et ayant accés à des éléments de mémorisation. Algèbre de Boole, circuits logiques p. 19