Université de Bouira Cours Chapitre: Circuits logiques Faculté des sciences Module Filière Structure Machine MI 1ère Année S2 Structure Machine (Architecture d'un Ordinateur) Programme Chapitre 1 : Introduction • Circuits logique • Circuits combinatoires • Circuits séquentiels Chapitre 2: Structure de Base d'un Ordinateur: Unité Centrale et Mémoire Chapitre 3: Mémoire Secondaire Chapitre 4: Les Entrées Sortie Chapitre 5: Les Bus et séquenceurs (Construction dune unité centrale simple) Références Livres disponible à la bibliothèque de la faculté. Titre du document Auteur/Collectivité Cote architecture de l'ordinateur: cours condensé avec exercices corrigés Rober strandh 004.2/str Architecture des systèmes informatiques Ait-Aoudia Samy 004.2/AIT Introduction à l'architecture des ordinateurs Drias-Zerkaoui Habiba 004.2/DRI Logique combinatoire : Exércices corrigés Souag Nadia 004.312/SOU Logique séquentielle : Cours et éxercices Souag Nadia 004.312/SOU Livres disponible sur le marché • Algèbre de Boole et Fonctions Logiques, M.C. Belaid, 2007, 200 DA • Circuits Logiques Combinatoires et Séquentiel, M.C. Belaid, 2007, 250 DA • Travaux Pratique des Circuits Logiques, H. Bouzourane, 2007, 200 DA • Logique Combinatoire et séquentielle, M.C. Belaid, 2010, 650 DA • Logique sequentielle: cours et exercice corrigés; Nadia Souag, 250 DA • Architecture et Technologie de Ordinateurs, Mc BELAID, 2008, 400DA • Architecture des systèmes informatiques , Ait-Aoudia Samy • Introduction à l'architecture des ordinateurs, Drias-Zerkaoui Habiba • Logique combinatoire : Exércices corrigés, Souag Nadia • Logique séquentielle : Cours et éxercices, Souag Nadia Logiciel de simulation 1. Télécharger le logiciel "Logical circuit" à partir du site http://www.logiccircuit.org/ 2. Logic Fridy : Free software for boolean logic optimization, analysis, and synthesis http://sontrak.com/ 3. Multimedia logic http://multimedialogic.sourceforge.net/ Sites et cours en Ligne 1. Cours Informatique par Taha Zerrouki: http://infobouirauniv.wordpress.com Fevrier 2014 1/8 2. 3. 4. 5. Cours Strcuture machine par Hakim Amrouche http://amrouche.esi.dz TD et Examen par Pr. Amar Balla: http://balla.esi.dz/ http://www.allaboutcircuits.com/ Architecture des ordinateurs David Bouchet http://www.debug-pro.com/paris5/ L'algèbre de Boole Dérivée des mathématiques, l'algèbre de Boole est utilisée par les automaticiens afin de réduire les équations logiques pour éviter de prendre trop de place dans les mémoires d'automates programmables. À l'époque, et pour les automatismes assez importants, la mémoire était un critère important : Il fallait par tous les moyens possibles réduire au minimum cette prise de place. L'algèbre de Boole est un très bon outil utilisant des règles relativement simples. En algèbre de Boole les variables (a, b, c ....) ne peuvent prendre que deux valeurs : 0 et 1 Les propriétés Tout d'abord les symboles utilisés en algèbre de Boole bien qu'en apparence similaire à ceux des mathématiques diffèrent dans leurs significations. Ainsi • • • le symbole " + " se lit " ou ". En effet l'expression " a + b = 1 " se lit " a ou b égal à 1 ". Cette condition est vérifiée pour a ou pour b (ou pour les deux en même temps) égale à 1 le symbole " . " se lit " et ". En effet l'expression " a . b = 1 " se lit " a et b égal à 1 ". Cette condition est vérifiée pour a et b égal à 1. (Si l'un des deux vaut 0, l'équation n'est pas vérifiée) la variable " " se lit " a barre". Elle prend la valeur opposé de a. Si a = 1 alors = 0 et inversement. Algèbre de Boole des valeurs de vérité On appelle B l'ensemble constitué de deux éléments appelés valeurs de vérité {VRAI, FAUX}. Cet ensemble est aussi noté B = {1, 0} Sur cet ensemble on peut définir deux lois (ou opérations ou foncteurs), les lois ET et OU et une transformation appelée complémentaire, inversion ou contraire. Négation Le contraire de "a" est VRAI si et seulement si a est FAUX. Le contraire de a est noté ā Disjonction Elle est définie de la manière suivante : a OU b est VRAI si et seulement si a est VRAI ou b est VRAI. (En particulier, si a est vrai et que b est vrai aussi, alors a OU b est vrai.) Cette loi est aussi note + Fevrier 2014 2/8 Conjonction Elle est définie de la manière suivante : a ET b est VRAI si et seulement si a est VRAI et b est VRAI. Cette loi est aussi note '.' La fonction NON-ET (NAND en anglais) associe un résultat qui a lui-même la valeur VRAI seulement si au moins l'un des deux opérandes a la valeur FAUX. La fonction NON-OU (NOR en anglais) associe un résultat qui a lui-même la valeur VRAI seulement si les Fevrier 2014 3/8 deux opérandes ont la valeur FAUX. La fonction OU exclusif, souvent appelée XOR (eXclusive OR), associe un résultat qui a lui-même la valeur VRAI seulement si les deux opérandes ont des valeurs distinctes. Propriété de la somme • • a+1=1 a+0=a • a+a=a • a+ =1 Fevrier 2014 Propriété de la commutativité • • a+b=b+a a.b=b.a Propriété de l'associativité • a+b+c=(a+b)+c=a+(b+c) 4/8 • Propriété du produit • • a.1=a a.0=0 • a.a=a • a. =0 Propriété de la négation • a.b.c=(a.b).c=a.(b.c) Propriété de la distributivité • • a . ( b + c ) = a.b + a.c ( a + b ) . ( c + d ) = a.c + a.d + b.c + b.d • a + ( b . c ) = (a+b) . (a+c) Théorème de De Morgan • • Fevrier 2014 5/8 Fonction logique: C’est une fonction qui relie N variables logiques avec un ensemble d’opérateurs logiques de base. Dans l’Algèbre de Boole il existe trois opérateurs de base : NON , ET , OU. La valeur d’une fonction logique est égale à 1 ou 0 selon les valeurs des variables logiques. Si une fonction logique possède N variables logiques => 2n combinaisons => la fonction possède 2n valeurs. Les 2n combinaisons sont représentées dans une table qui s’appelle table de vérité ( TV ). Etude d'une fonction logique: Pour faire l’étude et la réalisation d’un circuit il faut suivre le étapes suivantes : 1. Il faut bien comprendre le fonctionnement du système. 2. Il faut définir les variables d’entrée. 3. Il faut définir les variables de sortie. 4. Etablir la table de vérité. 5. Ecrire les équations algébriques des sorties ( à partir de la table de vérité ). 6. Effectuer des simplifications ( algébrique ou par Karnaugh). 7. Faire le schéma avec un minimum de portes logiques. Forme canonique Miniterm et Maxiterm A B C S 0 0 0 0 0 0 1 0 0 1 0 0 A .B.C 0 1 1 1 A .B.C : min terme 1 0 0 0 A .B.C A .B.C : min terme : min terme 1 0 1 1 1 1 0 1 1 1 1 1 A + B + C : max terme A + B + C : max terme A + B + C : max terme : min terme A + B + C : max terme Les formes Canoniques • Première forme Canonique. F = somme min termes F ( A, B, C ) = A . B . C + A . B . C + A . B . C + A . B . C • Deuxième forme Canonique F = produit des max termes F(A, B, C) = ( A + B + C) (A + B + C)( A + B + C) ( A + B + C) • Il existe une autre représentation des formes canoniques d’une fonction , cette représentation est appelée forme numérique. • R : pour indiquer la forme disjonctive Fevrier 2014 6/8 • P : pour indiquer la forme conjonctive Exemple : si on prend une fonction avec 3 variables R( 2,4,6) = ∑ P(0,1,3,5,7) = (2,4,6) = R( 010,100,110) = ABC + A BC + ABC ∏ (0,1,3,5,7) = P(000,001,011,101,111) = (A + B + C)(A + B + C) (A + B + C ) (A + B + C ) (A + B + C) Simplification des fonctions logiques Pourquoi ? • Utiliser le moins de composants possibles • Simplifier au maximum le schéma de câblage Il faut donc trouver la forme minimale de l ’expression logique considérée Deux méthodes • • Algébrique (en utilisant des propriétés et des théorèmes) Graphique (tableaux de Karnaught; ...) Simplification algébrique. • Règles 1 : regrouper des termes à l’aide des règles propriétés algébriques ABC + ABC + A BCD = AB (C + C) + A BCD = AB + A BCD = A ( B + B (CD)) = A ( B + CD) = AB + ACD • Règles 2 : Rajouter un terme déjà existant à une expression A B C + ABC + A BC + ABC = ABC + ABC + ABC + A BC + ABC + ABC = BC + AC + • AB Règles 3 : il est possible de supprimer un terme superflu ( un terme en plus ), c’est-à-dire déjà inclus dans la réunion des autres termes. F(A, B, C) = A B + BC + AC = AB + BC + AC ( B + B) = AB + BC + ACB + A BC = AB ( 1 + C) + BC (1 + A) = AB + BC • Règles 4 : il est préférable de simplifier la forme canonique ayant le nombre de termes minimum. F ( A, B, C ) = R ( 2,3, 4,5,6,7) F(A, B, C) = R( 0,1) = A . B . C + A . B . C = A . B (C + C) = A.B= A + B F(A, B, C) = F(A, B, C) = A + B = A + B Simplification par les tableaux de Karnaugh. L'application construit le tableau de Karnaugh de la fonction booléenne et l'écrit sous forme normale disjonctive de la fonction. En outre l'application donne une expression simplifiée de la fonction. Le tableau est prévu pour trois variables a, b, c. Si l'une des variables ou plusieurs d'entre elles sont absentes de l'expression, le nombre de cases du tableau et leur position ne changent pas et les trois variables peuvent apparaître dans la forme normale disjonctive. La forme normale disjonctive est soit 0 soit une expression des trois variables a, b, c. C'est une somme d'au plus huit produits de trois facteurs. Les trois facteurs sont a, b, c ou leurs compléments !a, b' et c'. (Par exemple, un terme pourrait être ab'c'). Fevrier 2014 7/8 À chacun des termes de la forme normale disjonctive correspond une case du tableau et, inversement, à chaque case du tableau correspond un produit. (Par exemple, ab'c' se trouve dans la case définie par 'a' à gauche et par b'c' au-dessus). Lorsque la fonction est constante égale à 0 ou à 1, le programme l'indique, Sinon une écriture simplifiée utilisant les variables a, b ou c est donnée. Dans certains cas l'expression peut encore se simplifier, voir l'exemple par défaut où a.b' + a'.c + b'.c peut s'écrire a.b' + a'.c. Lorsque le nombre de variables n'est pas élevé, le tableau de Karnaugh permet de simplifier assez simplement les expressions obtenues. L'image ci-contre montre comment simplifier a b + ac + bc en ab + ac . Les groupements considérés de plusieurs cases marquées '1' ont • • 8 cases (toutes) : la fonction est égale à la constante '1' 4 cases (consécutives* ou en carré*) : le terme correspondant aux 4 cases est formé d'une seule variable ou de son complément • 2 cases (accolées*) : le terme est composé de deux variables ( a b par exemple). • 1 case : les termes sont composés de trois variables (ou de leurs compléments) • 0 case : la fonction est nulle. Fevrier 2014 8/8