24/09/2016 24/09/2016 Khaled Hassine 1 CHAPITRE I – ALGÈBRE DE BOOLE Par : Khaled Hassine [email protected] Khaled Hassine 24/09/2016 2 PLAN Introduction Variables et fonctions binaires Du transistor aux portes logiques Théorèmes fondamentaux Récapitulatif 24/09/2016 Khaled Hassine Khaled Hassine 3 1 24/09/2016 PLAN Introduction Variables et fonctions binaires Du transistor aux portes logiques Théorèmes fondamentaux Récapitulatif Khaled Hassine 24/09/2016 4 De Boole à Shannon George Boole (1815-1864) défini vers 1850 une algèbre applicable aux raisonnements sur des propositions logiques : une proposition peut être vraie, à la quelle on attribue la valeur 1, ou fausse, dont la valeur est 0. Shannon en 1938 a appliqué cette algèbre à l'analyse des circuits de commutation : le courant passe ou ne passe pas, ce que l'on note également par 1 ou 0. Khaled Hassine 24/09/2016 5 Objectifs Présenter d'une manière simplifiée les concepts fondamentaux de l’algèbre de Boole en vue de son application aux conceptions des circuits de base d'un ordinateur. Conception de quelques circuits très utiles pour le fonctionnement d'un ordinateur : combinatoires (additionneur, multiplexeur, ...) séquentiels (registres, compteur, ...) 24/09/2016 Khaled Hassine Khaled Hassine 6 2 24/09/2016 PLAN Introduction Variables et fonctions binaires Du transistor aux portes logiques Théorèmes fondamentaux Récapitulatif Khaled Hassine 24/09/2016 7 Variables logiques Une variable logique (ou encore binaire ou booléenne) est une variable dont la valeur appartient à un ensemble de deux éléments représentés en binaire par les symboles 0 et 1. (A est une variable logique, A {0,1}). Par convention, une variable logique est : vraie si sa valeur est 1, fausse dans le cas contraire. Khaled Hassine 24/09/2016 8 En électronique Deux états associés à deux niveaux de tension: V(0) et V(1) pour les états 0 (inférieur à +0.8 V) et 1 (+2 V et +5 V ). On distingue les logiques positive et négative selon que V(1) > V(0) ou V(1) < V(0). 24/09/2016 Khaled Hassine Khaled Hassine 9 3 24/09/2016 En électronique … Khaled Hassine 24/09/2016 10 Fonctions logiques Une fonction logique (ou booléenne) est une fonction à n variables logiques dont la valeur appartient à l'ensemble {0,1} : F(A1, A2, ..., An) à {0,1}. Toute fonction logique peut être réalisée à l’aide d’un petit nombre de fonctions logiques de base aussi appelées opérateurs logiques ou portes (gates) 24/09/2016 Khaled Hassine 11 Table de vérité La fonction F est parfaitement définie par la donnée des ses valeurs pour les 2n combinaisons possibles des n variables. Le tableau de correspondance entre les états d’entrée et les états de sortie. Le tableau représentant les 2n valeurs s'appelle la table de vérité de la fonction. 24/09/2016 Khaled Hassine Khaled Hassine 12 4 24/09/2016 Fonctions logiques à une variable A F1 : Coupure F2 : Identité F3 : Inverse F4 : Passage 0 0 0 1 1 1 0 1 0 1 Khaled Hassine 24/09/2016 13 Opérateur complémentation La fonction F3 : A fonction de base très utile. C'est la fonction inverse appelée encore complémentation ou négation de la variable A se lit : non A ou encore A barre. À une fonction correspond toujours un opérateur réalisant cette fonction. L'opérateur de complémentation, appelé l’opérateur NON (NOT en anglais). Khaled Hassine 24/09/2016 14 L’opérateur NON ou inverseur A A 15 Khaled Hassine 5 24/09/2016 Fonctions à deux variables 16 fonctions possibles 00 01 10 11 ab Remarque 0 0 0 0 F0=0 Constante 0 0 0 0 1 F1=ab Fonction Intersection ET / AND 0 0 1 0 F2 0 0 1 1 F3=a 0 1 0 0 F4 0 1 0 1 F5=b 0 1 1 0 F6=ab Fonction Ou Exclusif / XOR 0 1 1 1 F7=a+b Fonction OU / OR 16 Fonctions à deux variables … 16 fonctions possibles 00 01 10 11 ab Remarque 1 0 0 0 F8 Fonction NAND 1 0 0 1 F9=ab Fonction égalité 1 0 1 0 F10 1 0 1 1 F11 1 1 0 0 F12=a 1 1 0 1 F13 1 1 1 0 F14=a+b Fonction NOR 1 1 1 1 F15=1 Constante 1 17 Intersection et réunion Deux fonctions très importantes qui portent sur deux variables : La fonction intersection (ou produit logique) : A noté A x B (ou A LB) AB B la fonction réunion (ou somme logique) : noté A A + B (ou encore A nB). A+B B 24/09/2016 Khaled Hassine Khaled Hassine 18 6 24/09/2016 Fonctions de base Toute fonction logique peut s'exprimer sous la forme d'une expression faisant intervenir les trois fonctions : complémentation, produit logique somme logique, d'où l'appellation «fonctions de base» ou «fonctions fondamentales». 24/09/2016 Khaled Hassine 19 Ou Exclusif Une autre fonction intéressante à 2 variables est très utilisée dans la pratique : c'est la fonction OU Exclusif. L'opérateur de la fonction OU EXCLUSIF (notée et appelé en anglais XOR) 24/09/2016 Khaled Hassine 20 Principale propriétés de la fonction Ou Exclusif 24/09/2016 Khaled Hassine Khaled Hassine 21 7 24/09/2016 Porte à Trois Etats La porte "3 états", ou "tri-state", n'est pas une porte logique au sens strict. Elle est principalement utilisée pour connecter une sortie sur une ligne commune à plusieurs circuits (un bus par exemple). Elle remplace généralement une porte ET. En effet, la mise en parallèle sur une même ligne de plusieurs portes ET introduit des capacités parasites. Ceci augmente les constantes de temps et a pour effet de détériorer les fronts de montée et de descente des signaux. Cela peut perturber le fonctionnement d'un système. Khaled Hassine 24/09/2016 22 Porte à Trois Etats … Lorsque la commande C est à 0, l'impédance de sortie est très grande : pratiquement déconnectée. Les portes "3 états" fournissent une amplification de puissance. C 1 1 0 A 0 1 X Y 0 1 0 Sortie faible impédance faible impédance haute impédance Khaled Hassine 24/09/2016 23 PLAN Introduction Variables et fonctions binaires Du transistor aux portes logiques Théorèmes fondamentaux Récapitulatif 24/09/2016 Khaled Hassine Khaled Hassine 24 8 24/09/2016 Le transistor Un circuit logique est caractérisé par un comportement binaire (deux états logiques). Ceci est facilement obtenu avec des signaux électriques ayant différentes tensions ou intensités de courant. En pratique, l'état 0 est associé à une tension qui voisine le 0 L’état 1 pour une tension qui voisine les 5 volts. Le composant de base d'un circuit logique est le transistor. Collecteur Base Emetteur Khaled Hassine 24/09/2016 25 Le transistor Un transistor peut être perçu comme un interrupteur électronique très rapide construit à base d'un semi-conducteur (par exemple, le silicium). Khaled Hassine 24/09/2016 26 Porte NOT à base de transistor VCC Son fonctionnement est le suivant : Si Ve (la tension en entrée) voisine le 0 ( 1 V), le transistor est en état bloqué. On récupère VCC (égale à 5 volts) comme tension en sortie (Vs). Si Ve (la tension en entrée) voisine les 5 volts ( 2 V), le transistor est en état passant et la terre absorbe toute la tension VCC. La tension de sortie (Vs) est alors nulle. 24/09/2016 Khaled Hassine Khaled Hassine Vs Ve 27 9 24/09/2016 Porte NAND à base de transistor VCC Vs Ve2 Ve1 Khaled Hassine 24/09/2016 28 Porte NOR à base de transistor VCC Vs Ve1 Ve2 Khaled Hassine 24/09/2016 29 Les circuits intégrés logiques Les circuits intégrés logiques (CI, CIL, puce ou encore Chip) sont des composantes à base de semiconducteur (le silicium), de taille 5 x 5 mm, qui contient des composants électroniques tels que les transistors, les diodes, les résistances et les capacités.. Circuit intégré 24/09/2016 Khaled Hassine Broches Khaled Hassine 30 10 24/09/2016 Circuits intégrés Khaled Hassine 24/09/2016 31 Les circuits intégrés logiques Les diverses composantes sont interconnectées dans la puce de façon à former le circuit électronique. Un circuit intégré est encapsulé dans un boîtier (Package en anglais) rectangulaire en plastique ou en céramique de 5 à 15 mm de long. Sur les deux long cotés de ce boîtier sont disposés, de manière symétrique, des broches (ou pattes) permettant d'assurer des connexions électriques (entrés, sorties, alimentations, ...), d'où l'appellation de ces circuits DIP (Dual Inline Package : Boîtiers à deux rangées de connexions symétriques). On n'accède au circuit interne qu'à partir des broches (externes) dont le nombre est normalisé. Les boîtiers les plus usuels disposent de 14, 16, 18, 20, 22, 24, 28, 40, 64 et 68 broches. Il existe aussi d'autres présentations carrées disposant des connexions reparties sur les 4 côtés ou en dessous du boîtier. Khaled Hassine 24/09/2016 32 Echèle d’intégration Nom Signification Année de sortie Nombre de transistors Nombre de portes logiques par boîtier3 SSI small-scale integration 1964 1 à 10 1 à 12 MSI medium-scale integration 1968 10 à 500 13 à 99 LSI large-scale integration 1971 500 à 20 000 100 à 9 999 VLSI very large-scale integration 1980 20 000 à 1 000 000 10 000 à 99 999 ULSI ultra-scale integration 19844 1 000 000 et plus 100 000 et plus 24/09/2016 Khaled Hassine Khaled Hassine 33 11 24/09/2016 Circuits intégrés logiques Les circuits intégrés logiques sont classés en 5 familles selon leur densité d'intégration (nombre de portes/mm2) Ces distinctions ont peu à peu perdu de leur utilité avec la croissance exponentielle du nombre de portes. Aujourd'hui plusieurs centaines de millions de transistors (plusieurs dizaines de millions de portes) représentent un chiffre normal (pour un microprocesseur ou un circuit intégré graphique haut de gamme). Afin de parvenir à de tels niveaux d'intégrations, un flot de conception complexe est utilisé. Khaled Hassine 24/09/2016 34 Les différentes familles de circuits intégrés Les circuits intégrés sont classés par famille. Chaque famille a son propre circuit électronique de base qui est en général la porte NAND ou la porte NOR. Abréviation Nom complet Circuit de base TTL Tansistor Transistor Logic NAND ECL Emitter Coupled Logic (logique à émetteur couplé) NOR ou OR MOS Metal Oxyde Semi-conducteur CMOS Complementary MOS NAND, NOR I 2L Integrated Injection Logic (logique à injection intégrée) NOR 24/09/2016 Khaled Hassine 35 Paramètres de comparaison des circuits intégrés Fan out : le nombre d'utilisations du signal de sortie (d'une porte) comme signal d'entrée à d'autres portes Puissance dissipée : puissance consommée par une porte et qui doit être disponible à l'alimentation. Délai de propagation : intervalle de temps que met un signal pour se propager de l'entrée d'un circuit à sa sortie. La vitesse d'exécution est inversement proportionnelle au délai de propagation. Immunité au bruit ou marge de bruit minimum qui affecte la valeur de sortie d'un signal. 24/09/2016 Khaled Hassine Khaled Hassine 36 12 24/09/2016 Fan out B A D C Fan out de A = 2 - Fan out de B = 1- Fan out de C =1 Khaled Hassine 24/09/2016 37 Emitter Coupled Logic : ECL Développé dés 1963 par Motorola, le circuit de base de la technologie ECL est la porte NOR (ou OR) Délai de propagation ECL environ 1.5 ns Puissance dissipée 250 mW A (A + B) B A+B Immunité bruit 0.3 V au Fan out >7 NOR Deux portes sont disponibles. OR Khaled Hassine 24/09/2016 38 Tansistor Tansistor Logic : TTL Le circuit de base pour la famille logique TTL est la porte NAND. Le Fan out pour la famille TTL = 10. Série Nom de la version Abrégé Délai de propagation (ns) 74 74L Standard serie 74 Low Power 47L puissance basse) High Speed (grande vitesse) Schottky 74S Low Power Schottky TTL LTTL 10 33 10 1 0.4 V à 1 V 0.4 V HTTL 6 22 0.4 V STTL LSTTL 3 9.5 19 2 0.4 V 74H 74S 74LS 24/09/2016 Khaled Hassine Khaled Hassine Puissance dissipée Immunité par porte (mW) au bruit 39 13 24/09/2016 Exemples de circuits intégrés TTL (de Texas Instruments) 6A 13 14 6Y 12 5A 11 5Y 10 4A 9 4Y 8 Fonction : Y = A SN 7404 1 1A 2 1Y VCC 14 3 2A 4A 13 4B 12 4 2Y 5 3A 4Y 11 3A 10 6 3Y 3B 9 7 Ground (masse) 3Y 8 Fonction : Y = A. B SN 7403 1 1A 2 1B 3 1Y 4 2A 5 2B 6 7 2Y Ground (masse) Khaled Hassine 24/09/2016 40 Metal Oxyde Semi-conducteur MOS Le principal inconvénient de la famille MOS par rapport à TTL et ECL est le grand délai de propagation. Par contre, ils offrent une grande densité d'intégration / puce. CMOS Délai de propagation 25 ns Puissance dissipée 15 µW Immunité au bruit 2.4 V Fan out >50 Khaled Hassine 24/09/2016 41 Integrated Injection Logic I2L I2L 24/09/2016 Khaled Hassine Délai de propagatio n 25 ns à 250 ns Puissance Densité dissipée d'intégrati on 6 nW à 70 200 µW portes/mm2 Khaled Hassine Tension d'alimenta tion 1 à 15 V 42 14 24/09/2016 PLAN Introduction Variables et fonctions binaires Du transistor aux portes logiques Théorèmes fondamentaux Récapitulatif Khaled Hassine 24/09/2016 43 Liste des théorèmes Khaled Hassine 24/09/2016 44 Remarques La loi d'inversion est aussi dite loi de complémentarité. Les lois d'absorption et de De Morgan sont utiles pour la simplification des expressions logiques. Les lois de "De Morgan" permettent, en particulier, de trouver le complément d'un élément d'expression booléenne. Il faut pour cela : Changer les opérations ET en opérations OU et vice versa. Complémenter chaque terme de l'expression. 24/09/2016 Khaled Hassine Khaled Hassine 45 15 24/09/2016 Exemple A BC la forme ou de la loi de "De Morgan" E A BC E A ( B C) la forme et de la loi de "De Morgan" Khaled Hassine 24/09/2016 46 Autres relations intéressantes A A A AB ( A B )( A A) A B ( A B )( A B ) A La loi de De Morgan peut facilement être généralisée à N variables binaires A1 A2 An A1 A2 An 24/09/2016 A1 A2 An A1 A2 An Khaled Hassine 47 Démonstration de la loi de distributivité (A+B)(A+C) = AA + AC + AB + BC = A + AC + AB + BC = A (1+B+C)+BC = A + BC 24/09/2016 Khaled Hassine Khaled Hassine 48 16 24/09/2016 Démonstration du théorème de Consensus Forme ET : AB BC AC AB AC AB AC AB(C C ) AC ( B B) ABC ABC ACB AC B BC ( A A) ABC AC B BC ABC AC B B(C AC ) AC B B(C A) AC B BC AB AC B AB C ( B AB) AB C ( B A) AB CB C A Khaled Hassine 24/09/2016 49 Démonstration du théorème de Consensus Forme OU : ( A B)(B C)( A C) ( A B)( A C) ( A B )( B C )( A C ) ( AB BB AC BC )( A C ) ( AB B AC BC )( A C ) ( B AC )( A C ) AB AAC CB ACC AB CB AC ( A B )( A C ) AB CB AC Khaled Hassine 24/09/2016 50 Exemple d'utilisation du théorème de consensus BC BCD ABD ABC ABCD ACD BC ABD ABC ABCD ACD B(C AC ) ABD CD( AB A) B(C A) ABD CD( B A) BC BA ABD CDB CD A BC BA ABD CD AB BC ABD AB CD AB BC ABD AB CD 24/09/2016 Khaled Hassine Khaled Hassine 51 17 24/09/2016 24/09/2016 Khaled Hassine Généralité sur les algorithmes Concept de complexité Vecteurs et matrices Représentation interne Calculs numériques approchés 52 Définition d’un algorithme Structure d’un algorithme Types des données Types d’instructions Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème. Le mot algorithme vient du nom latinisé du mathématicien AlKhawarizmi, surnommé « le père de l'algèbre ». ... Un algorithme est une méthode générale pour résoudre un ensemble de problèmes. Il est dit correct lorsque, pour chaque instance du problème, il se termine en produisant la bonne sortie, c'est-à-dire qu'il résout le problème posé. On mesure l'efficacité d'un algorithme notamment par sa durée de calcul, par sa consommation de mémoire RAM (en partant du principe que chaque instruction a un temps d'exécution constant), par la précision des résultats obtenus , etc. 24/09/2016 Khaled Hassine Khaled Hassine 53 18