Algèbre de Boole - Fonctions Booléennes



Documents pareils
Système binaire. Algèbre booléenne

IFT1215 Introduction aux systèmes informatiques

Algèbre binaire et Circuits logiques ( )

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Cours Premier semestre

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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.

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

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

Les fonctions logiques

MPI Activité.10 : Logique binaire Portes logiques

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

RESUME DE COURS ET CAHIER D'EXERCICES

BCI - TPSP - Processeurs et Architectures Numériques

Concevoir son microprocesseur

2.4 Représentation graphique, tableau de Karnaugh

DOCM Solutions officielles = n 2 10.

Conversion d un entier. Méthode par soustraction

Structures algébriques

Organisation des Ordinateurs

Représentation des Nombres

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

Introduction à l étude des Corps Finis

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Chapitre 2. Matrices

Cours d Analyse. Fonctions de plusieurs variables

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

1 Définition et premières propriétés des congruences

ASR1 TD7 : Un microprocesseur RISC 16 bits

Logiciel de Base. I. Représentation des nombres

IV- Comment fonctionne un ordinateur?

Axiomatique de N, construction de Z

Cours d Informatique

Limites finies en un point

Architecture matérielle des systèmes informatiques

VIII- Circuits séquentiels. Mémoires

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

Géométrie dans l espace Produit scalaire et équations

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

Chapitre 2 Le problème de l unicité des solutions

6. Les différents types de démonstrations

Théorie et codage de l information

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Représentation d un entier en base b

3. Conditionnement P (B)

Informatique Générale

Bases de données documentaires et distribuées Cours NFE04

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

Cours de Probabilités et de Statistique

CHAPITRE IV. L axiome du choix

Electronique Numérique

Transmission d informations sur le réseau électrique

RE SOLUTIONS CHAPITRE 1

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Cours d initiation à la programmation en C++ Johann Cuenin

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

V- Manipulations de nombres en binaire

Patentamt JEuropaisches. European Patent Office Numéro de publication: Office européen des brevets DEMANDE DE BREVET EUROPEEN

- Instrumentation numérique -

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Objets Combinatoires élementaires

CHAPITRE VIII : Les circuits avec résistances ohmiques

Logique. Plan du chapitre

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

Licence Sciences et Technologies Examen janvier 2010

Université Paris-Dauphine DUMI2E 1ère année, Applications

Introduction à la théorie des graphes. Solutions des exercices

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

données en connaissance et en actions?

Initiation à LabView : Les exemples d applications :

Plus courts chemins, programmation dynamique

Image d un intervalle par une fonction continue

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Développement décimal d un réel

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

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Correction TD algorithmique

108y= 1 où x et y sont des entiers

Microprocesseur + Logiciel

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

STAGE IREM 0- Premiers pas en Python

Les opérations binaires

5 ème Chapitre 4 Triangles

Probabilités sur un univers fini

Module 16 : Les fonctions de recherche et de référence

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Représentation géométrique d un nombre complexe

Cryptographie et fonctions à sens unique

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

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

Priorités de calcul :

Transcription:

Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Algèbre de Boole - Fonctions Booléennes jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 42 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 43 / 86 Contrôleur d affichage 7 segments Contrôleur d affichage 7 segments (II) n3 n2 n1 n s7 s6 s5 s4 s3 s2 s1 F : {, 1} 4 {, 1} 7 L3 Informatique - Université de Provence () Architecture des ordinateurs 44 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 45 / 86

Contrôleur d affichage 7 segments (III) F s 1 s 2 s 3 s 4 s 6 s 6 s 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 111 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 11 111 11 111 111 1111 Algèbre de Boole C est une structure algébrique donnée par un ensemble à deux valeurs {, 1} (ou {, }, {vrai, faux}) et les trois opérations suivantes : la conjonction (/2) :. ( et - and ) la disjonction (/2) : + ( ou - or ) le complément (/1) : ( non - not ) satisfaisant les axiomes suivants Commutativité Associativité a.b = b.a a + (b + c) = (a + b) + c a + b = b + a a.(b.c) = (a.b).c L3 Informatique - Université de Provence () Architecture des ordinateurs 46 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 47 / 86 Algèbre de Boole : axiomes (suite) Distributivité a.(b + c) = a.b + a.c a + (b.c) = (a + b).(a + c) Eléments neutres : 1.a = a.1 = a + a = a + = a Complément a.ā = a + ā = 1 Convention : la conjonction est plus prioritaire que le disjonction. Algèbre de Boole : opérateurs Le définition suivante des opérateurs satisfait l ensemble des axiomes le complément la conjonction la disjonction a ā 1 1 a b a.b 1 1 1 1 1 a b a + b 1 1 1 1 1 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 48 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 49 / 86

Algèbre de Boole : propriétés Les propriétés suivantes peuvent être déduites des axiomes Elément absorbant : Absorption Idempotence Involution a. =.a = a + 1 = 1 + a = 1 a.(a + b) = a a.a = a a + (a.b) = a a + a = a Fonctions booléennes Une fonction booléenne (d arité n) f : {, 1} n {, 1} peut être donnée de manière extensionnelle par sa table de vérité x y z m = f (x, y, z) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Lois de De Morgan ā = a par une expression booléenne, qui est une expression définie avec les constantes et les opérateurs de l algèbre de Boole et un certain nombre de variables x, y, z, x 1,..., x n a.b = ā + b a + b = ā. b z + xȳz + z + z L3 Informatique - Université de Provence () Architecture des ordinateurs 5 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 51 / 86 Fonctions booléennes : FND (I) Formes normales disjonctives Une expression booléenne est en forme normale disjonctive si elle est écrit comme une disjonction de monômes chaque monône étant une conjonction de littéraux un littéral étant soit les constantes, 1, soit une variable x, soit le complément de x, x. Exemple : (x.y. z) + ( x.z) + y Fonctions booléennes : FND (II) théorème Toute expression booléenne est équivalente à une expression en forme normale disjonctive. preuve on suppose les variables comme étant x 1,..., x n, 1 On considère la table de vérité associé à l expression et appelons f la fonction booléenne ainsi représentée 2 supposons que f vaille 1 pour k entrées dans cette table (et donc pour les 2 n k autres entrées). Comme + 1 = 1 on peut écrire f comme f 1 +... + f k où f i : {, 1} n {, 1} n est à 1 que pour une seule entrée. 3 Maintenant pour chaque f i, il est simple de voir que le monôme y 1.....y n défini par y j = x j si la ieme valeur de l entrée est 1 et y j = x j sinon représente précisément la fonction f i. L3 Informatique - Université de Provence () Architecture des ordinateurs 52 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 53 / 86

Fonctions booléennes : FND (III) Fonctions booléennes Une fonction booléenne f à trois paramètres x, y, z : x y z f 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 = f 1 1 + f 2 1 + f 3 1 + f 4 1 corollaire Toute fonction booléenne peut être représentée comme une expression booléenne. preuve Il suffit d extraire l expression en forme normale disjonctive de la table de vérité de la fonction booléenne. avec f 1 = x.ȳ.z f 2 = x.y.z f 3 = x.ȳ.z f 4 = x.y. z donc f (x, y, z) = x.ȳ.z + x.y.z + x.ȳ.z + x.y. z L3 Informatique - Université de Provence () Architecture des ordinateurs 54 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 55 / 86 Fonctions booléennes : FNC (I) Fonctions booléennes : FNC (II) Formes normales conjonctives (FNC) Une expression booléenne est en forme normale conjonctive si elle écrit comme une conjonction de sommes chaque somme étant une disjonction de littéraux un littéral étant soit les constantes, 1, soit une variable x, soit le complément de x, x. théorème Toute expression booléenne est équivalente à une expression en forme normale conjonctive. On considère le produit d une somme y 1 +... + y n introduite pour chaque ligne de la table de vérité valant avec y i = x j si la ieme valeur de l entrée vaut et y j = x j sinon. Exemple : (x + y + z).( x + z).1 L3 Informatique - Université de Provence () Architecture des ordinateurs 56 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 57 / 86

Fonctions booléennes : simplifications Tableaux de Karnaugh (I) La méthode par les tableaux de Karnaugh est une méthode visuelle pour la simplification de formules logiques. Simplifications de fonctions booléennes utilisation des axiomes et des propriétés de l algèbre de Boole. la méthode des tableaux de Karnaugh Tableaux de Karnaugh Méthode de simplification basée sur la propriété (a.b) + (a. b) = a.(b + b) = a Table de vérité tableau bi-dimensionnel (séparation en deux de l ensemble des variables (un pour les lignes, un pour les colonnes)) Lignes et colonnes sont indexées par toutes les valuations des variables correspondantes tel que entre deux lignes (resp. colonnes) une seule valeur booléenne change. pour les variables x, y, z z 1 11 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 58 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 59 / 86 Tableaux de Karnaugh (II) On remplit ce tableau avec les valeurs de la fonction booléenne. z 1 11 1 1 1 1 1 1 Tableaux de Karnaugh (III) Si deux cases adjacentes contiennent tous les deux un 1 alors les deux monômes correspondants dans la forme normale disjonctives ne diffèrent que sur une variable, donc une simplification est possible. z 1 11 1 1 1 1 1 1 z 1 11 1 1 1 1 1 1 Cette fonction booléenne a pour forme normale disjonctive x.y.z + x.y.z + x.ȳ.z + x.y. z z 1 11 1 1 1 1 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 6 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 61 / 86

Tableaux de Karnaugh (IV) z 1 11 1 1 1 1 1 1 x.y.z + x.y. z = x.y.(z + z) = x.y On ne garde dans le monôme d un regroupement que les variables dont la valeur ne change pas. z 1 11 1 1 1 1 1 1 x.y + x.z z 1 11 1 1 1 1 1 1 x.y + x.z + y.z Tableaux de Karnaugh (III) On ne garde dans le monôme d un regroupement que les variables dont la valeur ne change pas. Tous les 1 de la table de vérité doivent être considérés : un 1 peut être utilisé dans plusieurs regroupement ; au pire un 1 isolé est un regroupement de taille un. Le tableau doit être considéré de façon circulaire (on peut replier le tableau comme une sphère). Les regroupements peuvent également être de taille 4,8,... (toutes puissances de 2) zt 1 11 1 1 1 1 1 11 1 1 1 y. z + x.ȳ.z. t L3 Informatique - Université de Provence () Architecture des ordinateurs 62 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 63 / 86 Portes Logiques (I) Porte ET Porte OU Porte NON Circuits combinatoires 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 64 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 65 / 86

Portes Logiques (II) Le circuit Majorité Porte NON-ET Porte NON-OU Porte OU-X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A B C M 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M = Ā.B.C + A. B.C + A.B. C + A.B.C L3 Informatique - Université de Provence () Architecture des ordinateurs 66 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 67 / 86 Le circuit Majorité (II) Chronogramme du circuit Majorité A B C entree A M entree B entree C M = A.B + A.C + B.C sortie M La sortie M ne dépend que des entrées A, B et C. On parle alors de circuit combinatoire L3 Informatique - Université de Provence () Architecture des ordinateurs 68 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 69 / 86

Circuits combinatoires Demi-additionneur (I) un circuit combinatoire défini par un ensemble de portes reliées les unes aux autres. les sorties des portes sont reliés aux entrées d autres portes (définissant une orientation des connexions) en suivant l orientation des connections, il est impossible que partant de la sortie d une porte, on revient à l une des ses entrées (graphe acyclique) Un circuit combinatoire peut être vu comme une porte logique (à plusieurs sorties). entrées : a et b sorties : s la somme et r la retenue a b s r a b s r 1 1 1 1 1 1 1 On parle de demi-additioneur (additioneur 1 bit) : ne permet pas d être étendu en un additioneur n bits. L3 Informatique - Université de Provence () Architecture des ordinateurs 7 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 71 / 86 Demi-additionneur (II) Additionneur (I) a b s r 1 1 1 1 1 1 1 s = a b r = a.b est l opérateur de ou-exclusif (XOR) entrées : a, b et rin la retenue d entrée sorties : s la somme et rout la retenue de sortie a b rin s rout a b rin s rout 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 72 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 73 / 86

Additionneur (II) Additionneur 4 bits (I) s = a b rin a b rout = majorite(a, b, rin) rin s On ajoute les nombres (b 3 b 2 b 1 b ) 2 et (a 3 a 2 a 1 a ) 2, on obtient un résultat (s 3 s 2 s 1 s ) 2 et un bit de débordement c (correspondant à une retenue éventuelle). on utilise un demi-additionneur et 3 additionneurs. la retenue est propagée d un additionneur à l autre. rout L3 Informatique - Université de Provence () Architecture des ordinateurs 74 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 75 / 86 Additionneur 4 bits (II) De l idéal à la réalité Les circuits combinatoires sont une idéalisation dans lesquels b 3 a 3 b 2 a 2 b 1 a 1 b a le temps de propagation n est pas pris en compte adder adder adder 1/2-adder la sortie est disponible dès que les entrées sont présentes c s 3 s 2 s 1 s Inconvénient : la propagation des retenues nécessite du temps qui ralentit l opération. En réalité le temps de passage de à 1 n est pas immédiat (temps de parcours du courant électrique) instantané (temps de réponse d une porte) L3 Informatique - Université de Provence () Architecture des ordinateurs 76 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 77 / 86

De l idéal à la réalité (II) De l idéal à la réalité (II) Porte NOT Porte NAND Porte NOR lorsque V e < crit alors V s V cc lorsque crit < V e alors V s L3 Informatique - Université de Provence () Architecture des ordinateurs 78 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 79 / 86 Décodeurs (I) Décodeurs (II) Un décodeur permet de décoder un mot binaire : il comprend n entrées et 2 n sorties. la ième sortie de décodeur vaut 1 si les n entrées forment l entier i, ie (e n e n 1... e 1 e ) 2 = (i) 1. un décodeur 2 vers 4 : e e 1 s s 1 s 2 s 3 1 1 1 1 1 1 1 1 s = e.e 1 s 1 = e.e 1 s 2 = e.e 1 s 3 = e.e 1 e e 1 e n 1 e n Décodeur s s 1 s 2 2 n s 2 2 n 1 2 n Utilisation : Décodage d une adresse : (adresse cellule mémoire) Décodage d une instruction : (code opérande commande d un circuit) L3 Informatique - Université de Provence () Architecture des ordinateurs 8 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 81 / 86

Multiplexeur Autres circuits combinatoires Un multiplexeur comporte 2 n entrées, 1 sortie et n lignes de sélection (entrées). la sortie du multiplexeur vaut la valeur de la ième entrée si l entier i est codé sur les lignes de sélection, ie (l n l n 1... l 1 l ) 2 = (i) 1. e e 1 e 2 2 n e 2 2 n e 1 2 n Multiplexeur s Comparateurs Sélecteurs Codeurs Démultiplexeurs... l n 1 l n l 1 l L3 Informatique - Université de Provence () Architecture des ordinateurs 82 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 83 / 86 Unité arithmétique et logique (I) L unité arithmétique et logique (ALU) regroupe au sein d un même circuit différentes opérations arithmétique et logique. ALU 1 bit (et,ou,non,addition) Unité arithmétique et logique (II) L unité arithmétique et logique (ALU) regroupe au sein d un même circuit différentes opérations arithmétique et logique. ALU 1 bit (et,ou,non,addition) L3 Informatique - Université de Provence () Architecture des ordinateurs 84 / 86 L3 Informatique - Université de Provence () Architecture des ordinateurs 85 / 86

Unité arithmétique et logique (III) ALU 4 bits à base d ALU 1 bits c c 1 b 3 a 3 b 2 a 2 b 1 a 1 b a c s 3 s 2 s 1 s L3 Informatique - Université de Provence () Architecture des ordinateurs 86 / 86