1.89k likes | 2.13k Views
Electronique Numérique ENSL1 (S1) 1 ère année IUT GEII. Enseignants: Fakhreddine GHAFFARI ( fakhreddine.ghaffari@u-cergy.fr) Olivier ROMAIN (olivier.romain@u-cergy.fr) Année Universitaire 2012/2013. Plan du cours. Chapitre 1: Introduction Historique Technologie Bases de numération
E N D
Electronique NumériqueENSL1 (S1)1ère année IUT GEII Enseignants: Fakhreddine GHAFFARI (fakhreddine.ghaffari@u-cergy.fr) Olivier ROMAIN (olivier.romain@u-cergy.fr) Année Universitaire 2012/2013 Electronique Numérique
Plan du cours • Chapitre 1: Introduction • Historique • Technologie • Bases de numération • Chapitre 2: L’algèbre de Boole et les fonctions logiques • Les lois et règles de l’algèbre binaire • Les fonctions binaires élémentaires • Ecriture et simplification des fonctions logiques • Chapitre 3: Les circuits logiques • Les circuits d’encodage et de décodage • Les circuits multiplexeurs et démultiplexeurs Electronique Numérique
Plan du cours • IV. Chapitre 4: Les circuits arithmétiques • Les circuits additionneurs • Les circuits multiplieurs/diviseurs • V. Chapitre 5: La logique séquentielle • L’élément de base : la bascule Asynchrone • Les bascules Synchrones • Les registres Synchrones Electronique Numérique
Chapitre 1: Introduction • Qu’est ce que l’électronique Numérique ? • Pourquoi et à quoi ça sert ? • 2 grands types de systèmes électroniques : • Les dispositifs électroniques ANALOGIQUES (amplification, filtrage, antennes, GSM, etc.) • Les dispositifs électroniques NUMERIQUES (tous les autres systèmes, informatique, TNT, réception numérique, etc.) • Dans les systèmes analogiques, on utilise les lois physiques du composant pour effectuer des opérations sur les grandeurs, exemple (qui doit devenir bien connu !) : • Avantages : simplicité, rapidité et précision • Inconvénients : peu de souplesse, pas de « programmation », forte • sensibilité au bruit et aux variations Electronique Numérique
Introduction (suite) Dans les systèmes électroniques numériques, les grandeurs sont transformées en nombres et les composants sont plus facilement utilisables • Tout se fait avec des Interrupteurs Be carefull : On ne remplace pas tout, de l’analogique au numérique ! Certaines fonctions restent seulement réalisables en analogique (ex : les antennes, les applications d’amplifications et de hautes tensions, etc.) Les premiers ordinateurs ont été fabriqués, avec des lampes (ancêtre du transistor) et des relais électromécaniques (des interrupteurs commandés). Exemple : 1946 : Création de l'ENIAC (ElectronicNumericalIntegrator and Computer) La programmation de ce calculateur s'effectue en recablant entre eux, ses différents éléments. Composé de 19000 tubes, il pèse 30 tonnes, occupe une surface de 72 m2 et consomme 140 kilowatts. Horloge : 100 KHz. Vitesse : environ 330 multiplications par seconde, soit beaucoup moins bien qu’une simple calculatrice. Electronique Numérique
L’électronique numérique : • Avantages : souplesse, évolutivité, insensibilité au rayonnement et au bruit, • Inconvénients : manque de précision (encore aujourd’hui), pas assez rapide Les systèmes électroniques modernes savent intégrer des parties analogiques aux parties numériques, exp : processeur de calcul + tète RF analogique = téléphonie portable. Electronique Numérique
Un peu de Technologie Un peu de technologie : La base de tous les systèmes électroniques numériques est le transistor, utilisé comme un interrupteur commandé (le remplaçant du relais électromécanique des années 1930). Il y a eu différentes technologies, et différents types de transistors. Aujourd’hui, la technologie dominante sur le marché est la technologie MOS (Metal Oxyde Silicon) et CMOS (Complementary MOS). Le Transistor MOS: drain interrupteur commande Grille source En fonction de la tension électrique appliquée sur la grille, le transistor est équivalent (entre drain et source) à un interrupteur presque parfait, ouvert ou fermé. Electronique Numérique
Récapitulatif => Un dispositif électronique numérique est constitué uniquement de transistors (les transistors complémentaires CMOS), qui sont utilisés comme des interrupteurs (entre source et drain) commandés par la tension appliquée sur la grille. => Remarque : la technologie CMOS évolue très rapidement en faisant diminuer d’un facteur 2 la taille des transistors, tous les 18 mois, pour atteindre aujourd’hui plusieurs milliards de transistors sur une seule « puce » de silicium de quelque centaines de mm² • Toutes les grandeurs (tensions) à l’intérieur d’un système électronique numérique (les tensions de grille de commande ou les tensions de sortie qui, elles mêmes commandent d’autres transistors) ne prennent que 2 états : • - état « 0 » => tension VSS, (GND), 0V, = ‘0’ • - état « 1 » => tension VDD, (VCC), quelque Volts, = ‘1’ => Un système à 2 états est un système BINAIRE, dans lequel on applique Une algèbre particulière => l’algèbre de BOOL avec ses lois spécifiques. Electronique Numérique
Les bases de numération 1) Représentation des nombres en binaire Parmi la vaste quantité d’objets mathématiques sur lesquels on peut essayer de faire des calculs électroniquement, nous nous intéresserons qu’à deux catégories seulement : non signés : ( 2, 50, 34, 10, 1, 123, … ) Les nombres entiers signés : ( -2, 50, -34, -10, 1, -123, … ) à virgule fixe ou à précision finie Les nombres fractionnaires à virgule flottante ou nombres flottants ou, maladroitement, les nombres à précision infinie. Electronique Numérique
Représentation des nombres entiers D’une manière générale, un nombre entier (positif) N peut s’écrire (se représenter) dans une base quelconque (B entier) de la manière suivante : => N est le nombre mathématique (abstrait), => B est la base de représentation, => Ci sont les coefficients de la représentation de N dans la base B, => n correspond au nombre maximum de coefficients utilisés pour représenter N. Electronique Numérique
Représentation d’un nombre décimal en base 10 (décimal ) en base 8 ( octal ) en base 2 (binaire ) Donc le nombre : se représente par : 145 en base 10 (décimal), 221 en base 8 (octal), 10010001 en base 2 (binaire). Electronique Numérique
Représentation en binaire En binaire, on peut donc représenter n’importe quel entier N avec M bits : Sur M bits, les nombres entiers positifs représentables sont limités à : • Exemple : • Sur 4 bits => • Sur 8 bits => • Sur 16 bits => Electronique Numérique
Représentation en binaire (suite) Cette représentation conduit naturellement au code binaire naturel : => on affecte à chaque indice de la base un poids, en partant du plus faible (à droite) pour atteindre le plus fort (à gauche), tout comme en décimale avec : les unités, les dizaines, les centaines, … C3 C2 C1 C0 N (décimal) Exemple : Soit N = 1010011 en binaire, quelle est sa valeur décimale ? 0 0 0 0 0 (=0) 0 0 0 1 1 0 0 1 0 2 N(2) = 1010011 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 D’où N(10) = 64+16+2+1=83 0 1 1 0 6 0 1 1 1 7 2 0 0 0 0 ….. ….. Electronique Numérique
Exemple en octal De même , dans n’importe quelle base, exemple en octal : C1 C0 N (décimal) 0 0 0 0 1 1 0 2 2 0 3 3 0 4 4 0 5 5 0 6 6 0 7 7 8 1 0 1 1 9 9 1 2 Electronique Numérique
Représentation dans des bases multiples Lorsque les nombres représentés en binaire sont un peu trop « longs », on prendra l’habitude de les représenter dans des bases multiples, afin de minimiser l’expression : 1 0 0 1 0 0 0 1 en base 2 2 1 0 1 en base 4 9 1 en base 16 Electronique Numérique
Choix de la base N’importe quelle représentation binaire d’un nombre peut se réécrire de façon plus compacte en regroupant les bits : 2 par 2 pour la représentation en base 4 = 3 par 3 pour la représentation en base 8 = 4 par 4 pour la représentation en base 16 = Par habitude, on utilise couramment les bases : 2 (binaire) et 16 (hexadécimal). En base 16, il faut « inventer » des chiffres compris entre : 0 et 15 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 10 15 14 11 12 13 Electronique Numérique
Représentation des nombres fractionnaires Pour représenter les nombres réels fractionnaires, se pose le problème (comme en décimal) de la précision de représentation => jusqu’à quelle décimale voulons nous représenter les nombres ? Autrement dit, quelle est la précision (le quantum) de nos calculs ? précision fixée à l’avance (virgule fixe) 2 possibilités précision variable (virgule flottante => « précision infinie ») Electronique Numérique
Représentation en virgule fixe On s’inspire de la représentation décimale : Si on décide de toujours garder 3 chiffres après la virgule : on est en virgule fixe. La précision maximale de représentation est : Cette représentation est strictement équivalente à la représentation des entiers, à un facteur d’échelle près. Nombre entier Facteur d’échelle Electronique Numérique
Exemple d’opération à virgule fixe Addition entière En binaire, on utilise la même méthode : sur N bits : , avec : N = E + F E bits F bits Partie fractionnaire sur F bits Partie entière sur E bits Electronique Numérique
Autre exemple Partie entière sur 4 bits Partie fractionnaire sur 5 bits 1101,10101 Ces 2 expressions sont rigoureusement identiques Or : 13.65625 = 437 / 32 = Electronique Numérique
Addition à virgule fixe 13,65625 + 22,125 01101,10101 + 10110,00100 = 100011,11001 Problème : comment trouver la représentation, en virgule fixe la mieux adaptée au nombre réel donné ? Exemple : 9,92 La partie entière sur 4 bits : 1001 Finalement : 9,92 va s’écrire : 1001,1110 => donc sur codé sur 8 bits La partie fractionnaire sur 4 bits : 1110 0,92 x 2 = 1.84 1 0,84 x 2 = 1.68 1 0,68 x 2 = 1.36 1 0,36 x 2 = 0.72 0 1001,1110 est exactement égal à : 9,875 => c’est la valeur arrondie à : près de 9,92 Electronique Numérique
Transcodage d’une base B vers la base 10 Il suffit de calculer en base 10 la somme totale des puissances pondérées de la base B. Electronique Numérique
Transcodage Décimal vers une base B Méthode par soustractions successives Cette méthode utilise le développement polynomial • Algorithme • Dresser une table donnant les valeurs des différentes puissances de la base B dans laquelle on convertit le nombre décimal • Au nombre décimal donné, retrancher la plus grande puissance de B possible • Répéter le processus à partir des restes obtenus • Remarque • Cette méthode ne s’applique qu’aux nombres entiers Electronique Numérique
Transcodage Décimal vers une base B Exemple Convertir 6718 (base 10) en octal: Electronique Numérique
Transcodage Décimal vers une base B Méthode par divisions (ou multiplications) • Méthode plus simple, plus rapide • Convient aux nombres entiers et fractionnaires • Tout nombre N, à priori non entier, sera converti en considérant: • D’une part sa partie entière, à laquelle on appliquera la • méthode des divisions successives • D’autre part sa partie fractionnaire, à laquelle on appliquera la méthode des multiplications successives Electronique Numérique
Transcodage Décimal vers une base B • Conversion de la partie entière • Diviser le nombre à convertir par la base du nouveau système • Conserver le reste • Répéter le processus à partir du nouveau quotient obtenu • Arrêter si le quotient est nul • Écrire les restes à partir du dernier et de gauche à droite pour btenir le nombre en base B • Exemple: convertir 358(10) en base 8 Electronique Numérique
Transcodage Décimal vers une base B • Autre exemple: Convertir 254(10) vers la base 2 et vers la base 16? Electronique Numérique
Transcodage Décimal vers une base B • Conversion de la partie fractionnaire: • Multiplier le nombre à convertir par la base du nouveau système • Soustraire et conserver sa partie entière • Répéter le processus à partir de la nouvelle partie fractionnaire • Arrêter quand la précision désirée est atteinte • Exemple: convertir 0,732(10) en base 8 Electronique Numérique
Transcodage du binaire vers une base 2ⁿ et vice versa • Binaire vers Octal: • Algorithme: • Grouper les bits par blocs de 3 à partir du bit de poids faibles • Convertir ensuite directement ces blocs en octal • Exemple: • Octal vers Binaire: • Algorithme: • Traduire chaque chiffre du nombre en base 8 en nombre de 3 bits en • base 2 • Exemple: Electronique Numérique
Transcodage du binaire vers une base 2ⁿ et vice versa • Binaire vers Hexadécimal: • Algorithme: • Grouper les bits par blocs de 4 à partir du bit de poids faibles • Convertir ensuite directement ces blocs en hexadécimal • Exemple: • Hexadécimal vers Binaire: • Algorithme: • Traduire chaque chiffre du nombre en base 16 en nombre de 4 bits en • base 2 • Exemple: Electronique Numérique
Transcodage du Base i vers Base j • Les bases i et j sont toutes les deux des puissances de 2. On utilise alors la base 2 comme base relais : • Les bases i et j ne sont pas toutes les deux des puissances de 2. On utilise alors la base 10 comme • base relais Electronique Numérique
Représentation binaire des nombres signés Il existe plusieurs façons de représenter les nombres signés (positifs et négatifs) La 1ière manière consiste à s’inspirer de la représentation décimale (-5) en représentant le signe (+ ou -) suivi de la valeur absolue Le signe (+ ou -) qui est une information binaire, est représenté par 1 bit de plus (le bit de signe) avec le codage suivant : 0 1 1 3 => 11 => -2 => 10 => 1 1 0 Bit de signe = 0 => nombre positif Bit de signe = 1 => nombre négatif Electronique Numérique
Nombres signés : 1ière méthode 1ière conséquence :il faut 1 bit supplémentaire pour représenter les nombres (qu’ils soient positifs ou négatifs) L’étendue des valeurs est divisée par 2 => la moitié pour les nombres positifs et l’autre pour les nombres négatifs. positifs : Au lieu de : négatifs : 2ième conséquence :il y a 2 représentations possibles du nombre : 0 => +0 ou -0 !!! Electronique Numérique
Nombres signés : 1ière méthode (suite) 3ième conséquence :toute l’arithmétique binaire s ’applique sans changements sur les nombres positifs, mais pas sur les nombres négatifs !!! Lors d’une soustraction / addition, il faut d’abord calculer le signe du résultat en comparant les bits de signe et les valeurs absolues, comme en décimal. (+5) + (-3) = + (5-3) (-10) + (+5) = - (10-5) (-5) + (-10) = - (10+5) C’est assez compliqué !! Toutes ces conséquences font qu’on utilise jamais cette représentation Electronique Numérique
Représentation en « code complément à 2 » Cette représentation exploite la règle élémentaire de l’algèbre de Boole : Lorsque le nombre A est codé sur N bits, cette règle devient : D’où : Or, ne se représente pas sur N bits (tous les nombres sont modulo 2) => Ou encore : La représentation de : - 7 sur 4 bits est donc : Exemple : Résultat = 0 sur le format du mot (c’est-à-dire : 4 bits) Electronique Numérique
Calcul de CC2 Calculer l’opposé d’un nombre en CC2 (code complément à 2) revient donc à calculer l’opposé (bit à bit : c’est le CC1) auquel il faut ajouter : 1 Cette règle (de calcul) s’applique aussi bien pour calculer l’opposé d’un nombre positif que pour calculer l’opposé d’un nombre négatif !! Exemple : calculons l’opposé de : -7 On retrouve bien évidemment le nombre positif : +7 !! Electronique Numérique
Conséquence du CC2 1ière conséquence : il n’y a qu’une seule représentation du « 0 » 2ième conséquence : lorsque les nombres sont strictement positifs, toutes les opérations (addition, soustraction, multiplication, division) s’appliquent normalement : 3ième conséquence : les opérations (addition, soustraction, multiplication, division) s’appliquent également sur les nombres négatifs : Electronique Numérique
Conséquence du CC2 (suite) Représentation du codage CC2 dans un format : 4 bits Là aussi, on utilise un bit de plus pour représenter le signe => réduction de la dynamique : a3 a2 a1 a0 Non signés Signés CC2 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 2 2 On a : valeurs positives ou nulle, soit 8 valeurs dans un format 4 bits (7 valeurs strictement positives et la valeur nulle ) 0 0 1 1 3 3 0 1 0 0 4 4 0 1 0 1 5 5 0 1 1 0 6 6 0 1 1 1 7 7 1 0 0 0 8 -8 1 0 0 1 9 -7 1 0 1 0 10 -6 On a : valeurs négatives, soit 8 valeurs dans un format 4 bits 1 0 1 1 11 -5 1 1 0 0 12 -4 1 1 0 1 13 -3 1 1 1 0 14 -2 1 1 1 1 15 -1 Electronique Numérique
CC2 : généralisation D’une manière générale, sur N bits on peut représenter : en binaire naturel en Code Complément à 2 : CC2 Cette représentation est utilisée dans tous les ordinateurs pour représenter les entiers signés. Inconvénient : les relations d’ordre entre les entiers signés sont difficiles à établir, surtout autour du « 0 » 0 => Plus on s’éloigne de la représentation binaire naturelle du 0, plus la valeur représentée en est proche !! Ce nombre est proche de 0, pourtant tous les bits sont à 1 !! Electronique Numérique
Le binaire décalé a3 a2 a1 a0 CC2 Signés CC2 -8 0 0 0 0 0 0 -7 0 0 0 1 1 1 -6 0 0 1 0 2 2 -5 0 0 1 1 3 3 -4 0 1 0 0 4 4 -3 0 1 0 1 5 5 -2 0 1 1 0 6 6 -1 0 1 1 1 7 7 1 0 0 0 -8 -8 0 1 0 0 1 -7 1 1 0 1 0 -6 2 1 0 1 1 -5 3 1 1 0 0 -4 4 1 1 0 1 -3 5 1 1 1 0 -2 6 1 1 1 1 -1 7 Electronique Numérique
Calcul du CC2 : astuce Pour calculer l’opposé d’un nombre => en partant de la droite, on recopie les bits du nombre jusqu’au 1ier « 1 » rencontré, ensuite on inverse les bits restants. Exemple : calculons l’opposé de : 2 2 0010 -2 1110 Sens de lecture Electronique Numérique
Chapitre 2: Algèbre de Boole et fonctions logiques Inventée par le mathématicien Georges BOOLE (1815-1864), l’algèbre de BOOLE définit les règles de calcul pour les opérations possibles sur des nombres binaires (à 2 états) • Une variable BOOLEENNE ne peut prendre que 2 états : • VRAI (TRUE) ou FAUX (FALSE) • on parle de logique booléenne (ou de logique binaire), lorsqu’on associe des valeurs numériques aux états : • VRAI est équivalent à « 1 », qu’on appelle souvent : niveau 1. • FAUX est équivalent à « 0 », qu’on appelle souvent : niveau 0. • Il n’existe que 3 opérations élémentaires dans la logique booléenne : • - opération NON (NOT) : cette opération revient à fournir le complément de la valeur d’entrée (on parle également d’inversion) Si A = 1 alors S = 0 Si A = 0 alors S = 1 Electronique Numérique
Opération OU (OR) • opération OU (OR) : cette opération revient à fournir la somme logique des valeurs d’entrée (on parle également d’union) : • S = A + B => on prononce : S = A OU B (et non pas : S = A plus B) • Définition : • S = 1 si au moins une des entrées est égale à 1, sinon S = 0 • Correspondance électrique : Mise en parallèle Electronique Numérique
Opération ET (AND) • opération ET (AND) : cette opération revient à fournir le produit logique des valeurs d’entrée (on parle également d’intersection) : • S = A B => on prononce : S = A ET B • Définition : • S = 1 si toutes les entrées sont égales à 1, sinon S = 0 • Correspondance électrique : Mise en série Electronique Numérique
Lois et règles • Les opérations ET et OU sont commutatives : • Les opérations ET et OU sont associatives : • L’opération ET est distributive : • L’opération OU est également distributive ! : Attention : comme vous le savez, la distributivité de la somme n’est vrai Qu’en algèbre binaire !!! Electronique Numérique
Règles et axiomes Electronique Numérique
Règles (suite) • Démonstration : en utilisant l’axiome : A.1 = A • A + A.B = (A.1) + (A.B) => on doit reconnaître la distributivité inverse du ET • (A.1) + (A.B) = A . (1+B) = A => CQFD • Démonstration : • on doit reconnaître la distributivité du OU => CQFD • Montrer que : • (A + B). (A+C) = A+BC Electronique Numérique
Théorème de DE MORGAN • A et B sont 2 variables binaires : • On a : ; « le complément du produit est égal à la somme des compléments » • On a : ; « le complément de la somme est égal au produit des compléments » Application du théorème de DE MORGAN : Electronique Numérique
Les fonctions binaires élémentaires La table de vérité: Les N variables de la fonction La fonction à calculer Toutes les combinaisons Possibles des N variables La valeur de la fonction, pour chaque combinaison des N variables d’entrée La table de vérité répertorie toutes les valeurs que peut prendre la fonction, en fonction de toutes les combinaisons possibles des N variables d’entrée. Electronique Numérique
Table de vérité, à 1 et 2 variables 1 seule variable => 2 combinaisons => 2 lignes dans la table de vérité A S 0 1 B A S 2 Variables => 4 combinaisons => 4 lignes dans la table de vérité 0 0 0 1 1 0 1 1 Electronique Numérique