Processeurs et Architectures Numériques Introduction et logique combinatoire
Objectifs du cours Connaitre les fonctions de base de l électronique numérique Comprendre la logique combinatoire et synchrone Apprendre à concevoir des unités de traitement Etude de cas d un nanoprocesseur Page 2 COMELEC / SEN Jean-Luc Danger
Informations utiles Site pédagogique : http://sen.enst.fr/bci/pan1a Slides : http://perso.telecom-paristech.fr/~danger/pan/ 9 séances de 3 heures Chaque séances : leçons et exercices pratiques (pas de séparation cours/td/tp) Travail à la maison qui peut être rendu et qui peut être pris en compte dans la notation finale Dernière séance : contrôle individuel comportant une partie pratique et une partie théorique Page 3 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 4 COMELEC / SEN Jean-Luc Danger
Electronique Traitement matériel de l information représentée par des signaux : Analogiques : valeurs continues Numériques : valeurs discrètes Page 5 COMELEC / SEN Jean-Luc Danger
Codage numérique de l information V 2 1 Page 6 COMELEC / SEN Jean-Luc Danger 0 2 x 1 x 0 x Echantillonnage : Discrétiser le signal dans le temps Pas de pertes si la frequence d échantillonage > 2 bande passante du signal Quantification : Représenter le signal par un nombre fini de valeurs Le pas entre 2 valeurs dépend du bruit et de la sensibilité t
Codage numérique de l information V 2 1 Page 6 COMELEC / SEN Jean-Luc Danger 0 2 x 1 x 0 x Echantillonnage : Discrétiser le signal dans le temps Pas de pertes si la frequence d échantillonage > 2 bande passante du signal Quantification : Représenter le signal par un nombre fini de valeurs Le pas entre 2 valeurs dépend du bruit et de la sensibilité t
Codage numérique de l information : intérêts Possibilité de reproduire sans perte et de façon illimitée Indépendance du support utilisé Canaux de communication Câble électrique Canal radio Fibre optique Mémorisation CDROM Disque dur Semi-conducteurs Page 7 COMELEC / SEN Jean-Luc Danger
Codage binaire : travailler en base 2 V 1 x 0 1 t Interprétations logiques multiples 0/1, vrai/faux Support électrique très simple Codage utilisant deux valeurs 0 Page 8 COMELEC / SEN Jean-Luc Danger
Codage binaire : travailler en base 2 V (10) 2 (01) 1 (00) 0 A 1 A 0 2 x 1 x 0 x 1 0 0 0 1 0 t Comment représenter plus de deux niveaux en binaire? Utiliser plusieurs fils : BUS Les transmettre à tour de rôle : lien série Chaque élément est un bit binary digit Possibilité de représenter tous les nombres en base 2 Page 9 COMELEC / SEN Jean-Luc Danger
Réalisation physique d un bit Etat d un signal électrique 2 niveaux de tension (0V /V dd V : 0/5V ou 12/12V ou... ) tension niveau logique 2 niveaux de courant 0V 0 V dd 1 Etat de lumière sur une fibre optique Etat du signal électromagnétique sur un canal radio Pression : pneumatique, hydraulique, boue (forages),...... Page 10 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 11 COMELEC / SEN Jean-Luc Danger
Variables et fonctions logiques Variables logiques Une variable logique est un élément qui appartient à l ensemble E = {0, 1} Ne possède que deux états possibles : 0 ou 1 Fonctions logiques Fonction d une ou plusieurs variables logiques. { E E... E E e 0, e 1,..., e n s = F(e 0, e 1,..., e n ) Page 12 COMELEC / SEN Jean-Luc Danger
Fonctions logiques Deux catégories Fonctions combinatoires La sortie ne dépend que de l état actuel des entrées t, s(t) = F(e 0 (t), e 1 (t),..., e n (t)) Fonctions séquentielles La sortie dépend de l état actuel des entrées et de leur passé s(t) = F(e 0 (t), e 1 (t),..., e n (t), e 0 (t t 1 ), e 1 (t t 1 )... ) Page 13 COMELEC / SEN Jean-Luc Danger
Fonctions logiques Représentations Plusieurs représentations possibles : Table de vérité : En donnant toutes les valeurs possibles pour toutes les entrées possibles. Ceci n est possible qu avec des fonctions avec un nombre réduit d entrées Analytique : En donnant l équation analytique Graphique : En utilisant les symboles des fonctions de bases Comportementale : A l aide d un langage de description (HDL) exemple : La sortie vaut 1 si les entrées A et B sont égales, sinon 0 Page 14 COMELEC / SEN Jean-Luc Danger
Fonctions élémentaires L inverseur ou le NON (NOT) La sortie est le complément de l entrée La sortie vaut 1 si et seulement si l entrée vaut 0 Symbole Équation Table de vérité e s s = e e s 0 1 1 0 Page 15 COMELEC / SEN Jean-Luc Danger
Exemple d implantation d un inverseur V dd Définitions : transistor : interrupteur commandé porte : structure réalisant une fonction logique élémentaire, à base de transistors porte NOT : entrée sortie entrée 0V V dd sortie V dd 0V Page 16 COMELEC / SEN Jean-Luc Danger
Fonctions élémentaires Le ET (AND) La sortie vaut 1 si et seulement si les deux entrées valent 1 Si l une des entrées vaut 0 alors la sortie vaut 0 Symbole Équation Table de vérité a b s s = a b a b s 0 0 0 0 1 0 1 0 0 1 1 1 Page 17 COMELEC / SEN Jean-Luc Danger
Fonctions élémentaires Le OU (OR) Si l une des entrées vaut 1 alors la sortie vaut 1 La sortie vaut 0 si et seulement si les deux entrées valent 0 Symbole Équation Table de vérité a b s s = a + b a b s 0 0 0 0 1 1 1 0 1 1 1 1 Page 18 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le NON ET (NAND) La fonction complémentaire du AND Symbole Équation Table de vérité s = a b a b s 0 0 1 0 1 1 1 0 1 1 1 0 Page 19 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le NON ET (NAND) La fonction complémentaire du AND Symbole Équation Table de vérité a b s s = a b a b s 0 0 1 0 1 1 1 0 1 1 1 0 Page 19 COMELEC / SEN Jean-Luc Danger
Exemple d implantation d une porte NAND V dd porte NAND : entrée1 entrée2 sortie entrée1 sortie 0V 0v V dd 0V V dd V dd V dd 0v V dd V dd V dd 0V entrée2 Page 20 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le NON OU (NOR) La fonction complémentaire du OR Symbole Équation Table de vérité s = a + b a b s 0 0 1 0 1 0 1 0 0 1 1 0 Page 21 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le NON OU (NOR) La fonction complémentaire du OR Symbole Équation Table de vérité a b s s = a + b a b s 0 0 1 0 1 0 1 0 0 1 1 0 Page 21 COMELEC / SEN Jean-Luc Danger
Exemple d implantation d une porte NOR V dd porte NOR : entrée1 entrée2 sortie entrée1 entrée2 sortie 0V 0v V dd 0V V dd 0V V dd 0v 0V V dd V dd 0V Page 22 COMELEC / SEN Jean-Luc Danger
Équivalence AND/OR Théorème de De Morgan a + b = a b a b = a + b Page 23 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le OU exclusif (XOR) La sortie vaut 1 si une et seulement une des entrées est à 1 La sortie vaut 1 si les deux entrées sont différentes Symbole Équation Table de vérité a b s s = a b s = a b + a b a b s 0 0 0 0 1 1 1 0 1 1 1 0 Page 24 COMELEC / SEN Jean-Luc Danger
Fonctions de base Le NON OU exclusif (XNOR) La sortie vaut 1 si les deux entrées sont identiques C est la fonction complémentaire du XOR Symbole Équation Table de vérité a b s s = a b s = a b + a b a b s 0 0 1 0 1 0 1 0 0 1 1 1 Page 25 COMELEC / SEN Jean-Luc Danger
Le multiplexeur La fonction d aiguillage symbole : E 0 E 1 Sel Comportemental : Si Sel==1, S = E 1, sinon S = E 2 0 1 S Table de vérité Sel E 1 E 0 S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 Equation : S = Sel E 0 + Sel E 1 Page 26 COMELEC / SEN Jean-Luc Danger
Le multiplexeur Fonction d aiguillage à quatre entrées Sel 0 E 0 E 1 E 2 E 3 Sel 0 Sel 1 4 entrées 2 entrées de sélection S E 0 E 1 E 2 E 3 Sel 0 Sel 1 Peut être réalisé à partir de 3 mux 2 vers 1 S S = Sel 1 Sel 0 E 0 + Sel 1 Sel 0 E 1 + Sel 1 Sel 0 E 2 + Sel 0 Sel 1 E 3 ; Page 27 COMELEC / SEN Jean-Luc Danger
Le multiplexeur Généralisation Pour un multiplexeur à n entrées (n = 2 p étant une puissance de 2) : Il faut p = log 2 (n) entrées de sélection Il peut être réalisé avec n 1 multiplexeurs à 2 entrées organisés en p couches Page 28 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 29 COMELEC / SEN Jean-Luc Danger
Représentation des nombres Les nombres entiers Un entier positif N dans une base b se représente par un vecteur (a n 1, a n 2,..., a 1, a 0 ) tel que : N = a n 1 b n 1 + a n 2 b n 2 +... + a 1 b 1 + a 0 b 0 Où : a i = digit si b=10, bit si b =2, appartient à un ensemble de b symboles valant de 0 à b 1 b i est le poids d indice i a n 1 est le chiffre le plus significatif a 0 est le chiffre le moins significatif La représentation est faite modulo b n Page 30 COMELEC / SEN Jean-Luc Danger
Bases rencontrées couramment b = 10 Représentation Décimale a i {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} b = 16 Représentation Hexadécimale a i {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} b = 8 Représentation Octale a i {0, 1, 2, 3, 4, 5, 6, 7} b = 2 Représentation Binaire a i {0, 1} est un bit (binary digit) Page 31 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres En binaire Un entier positif N en base 2 se représente par un vecteur (a n 1, a n 2,..., a 1, a 0 ) tel que : N = a n 1 2 n 1 + a n 2 2 n 2 +... + a 1 2 1 + a 0 2 0 Où : a i est un bit a i appartient à un ensemble de 2 symboles valant 0 ou 1 La représentation est faite modulo 2 n Page 32 COMELEC / SEN Jean-Luc Danger
Exemples Représentez 54 en binaire et en hexadécimal Page 33 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres Les nombres entiers signés : exemple sur 4 bits Avec 4 bits on peut représenter les nombres allant de 0 à 15 = 2 4 1 Les autres sont représentés modulo 2 4 = 16 Par exemple : 15 + 1 = 0 0 1 = 15 Décimal Binaire 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 Page 34 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres Les nombres entiers signés : exemple sur 4 bits Avec 4 bits on peut représenter les nombres allant de 0 à 15 = 2 4 1 Les autres sont représentés modulo 2 4 = 16 Par exemple : 15 + 1 = 0 0 1 = 15 Comment conserver le même comportement avec des nombres signés? Décimal Binaire 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 Page 34 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres Les nombres entiers signés : exemple sur 4 bits 5 4 3 +1 2 7 8 6 0110 0111 1000 0101 0100 0011 0010 0001 0000 1 0 9 10 1001 1010 11 1011 1100 12 1101 1110 13 1111 14 15 1 Page 35 COMELEC / SEN Jean-Luc Danger
5 3 Représentation binaire des nombres Les nombres entiers signés : exemple sur 4 bits 4 4 6 5 3 2 +1 8 7 7 8 6 0110 0111 1000 0101 0100 0011 0010 0001 0000 1001 1010 1011 1100 1101 1110 1111 2 1 1 0 0 7 9 10 6 11 12 13 14 2 15 1 1 5 4 3 Page 35 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres Les nombres entiers signés Représentation en complément à 2 C est une interprétation du mot binaire Le bit de poids fort représente le signe (0 = nombre positif, 1 = nombre négatif) Calcul modulo 2 n, c est-à-dire 0 2 n 1 2 n 1 Permet de représenter sur n bits les nombres signés de 2 n 1 à 2 n 1 1 Un nombre A = a n 1 a n 2... a 0 en CA2 sur n bits n 2 A = a n 1 2 n 1 + a i 2 i Page 36 COMELEC / SEN Jean-Luc Danger i=0
Autre méthode pour obtenir le CA2 { 2 A + A = n 1 en non signe 1 en CA2. Or le CA2 est tel que A + CA2(A) = 0 : CA2(A) = A + 1 Page 37 COMELEC / SEN Jean-Luc Danger
Les nombres entiers signés Exemples Représentez en CA2 : 8 +8 30 52 +15 sur 5 bits et 7 bits 12 sur 5 bits et 7 bits Page 38 COMELEC / SEN Jean-Luc Danger
Représentation binaire des nombres Les nombres décimaux en virgule fixe Un nombre décimal D en base 2 peut être approximé un par vecteur (a n 1, a n 2,..., a 1, a 0, a m... a m ) tel que : D = a n 1 2 n 1 +a n 2 2 n 2 +...+a 1 2 1 +a 0 2 0 +a 1 2 1 +... a m 2 m Où : (a n 1,... a 0 ) est la partie entière (a 1,... a m ) est la partie fractionnaire 2 m représente la précision de cette approximation Les mêmes opérateurs arithmétiques que ceux des nombres entiers Page 39 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 40 COMELEC / SEN Jean-Luc Danger
Addition Exemple Faire une addition en binaire sur n bits... Page 41 COMELEC / SEN Jean-Luc Danger
Addition Exemple Faire une addition en binaire sur n bits... Décomposition de l addition L addition peut être décomposée en plusieurs additions élémentaires sur 1 bit Page 41 COMELEC / SEN Jean-Luc Danger
Additionneur à propagation de retenue a 3 b 3 a 2 b 2 a 1 b 1 a 0 b 0 r 0 a i b i a i b i a i b i a i b i r i+1 + r i r 3 r i+1 + r i r 2 r i+1 + r i r 1 r i+1 + r i s i s i s i s i r 4 s 3 s 2 s 1 s 0 Page 42 COMELEC / SEN Jean-Luc Danger
Additionneur complet sur 1 bit Arithmétiquement a i + b i + r i = 2 r i+1 + s i Table de vérité a i b i r i r i+1 s i Décimal 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 2 1 0 0 0 1 1 1 0 1 1 0 2 1 1 0 1 0 2 1 1 1 1 1 3 Page 43 COMELEC / SEN Jean-Luc Danger
Additionneur complet sur 1 bit s i = a i b i r i r i+1 = a i b i + a i r i + b i r i r i a i s i b i r i+1 Page 44 COMELEC / SEN Jean-Luc Danger
Addition en CA2 Réalisez en CA2 les additions suivantes : 30 + 8 30 + ( 8) ( 30) + 8 ( 30) + ( 8) Page 45 COMELEC / SEN Jean-Luc Danger
Soustracteur complet sur 1 bit Table de vérité a i b i r i r i+1 s i Décimal 0 0 0 0 0 0 0 0 1 1 1-1 0 1 0 1 1-1 0 1 1 1 0-2 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1-1 Page 46 COMELEC / SEN Jean-Luc Danger
Soustracteur complet sur 1 bit Arithmétiquement a i b i r i = 2 r i+1 + s i Table de vérité a i b i r i r i+1 s i Décimal 0 0 0 0 0 0 0 0 1 1 1-1 0 1 0 1 1-1 0 1 1 1 0-2 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1-1 Page 46 COMELEC / SEN Jean-Luc Danger
Soustracteur complet sur 1 bit s i = a i b i r i r i+1 = a i b i + a i r i + b i r i r i a i s i b i r i+1 Page 47 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 48 COMELEC / SEN Jean-Luc Danger
Temps de propagation d une porte Les composants logiques respectent les lois de la physique. Les changement d état ne peuvent pas être instantanés. Le temps de propagation est le temps entre le changement des entrées d une porte et la stabilisation de la valeur de sa sortie. La valeur de la sortie ne doit pas être prise en compte durant cette période. Page 49 COMELEC / SEN Jean-Luc Danger
Temps de propagation d une porte Exemple : Un inverseur t p e e s s t t Page 50 COMELEC / SEN Jean-Luc Danger
Temps de propagation d une porte Exemple : Full adder r i a i b i s i r i+1 Considérons les temps de propagation : t p = 1ns pour les portes AND et OR t p = 2ns pour les portes XOR Quel est le temps de propagation des entrées vers les 2 sorties? Page 51 COMELEC / SEN Jean-Luc Danger
Temps de propagation d une porte Exemple : Carry adder a3 b3 a2 b2 a1 b1 a0 b0 r0 ai bi ai bi ai bi ai bi ri+1 + ri r3 ri+1 + ri r2 ri+1 + ri r1 ri+1 + ri si si si si r4 s3 s2 s1 s0 Quel est le temps de propagation vers les sorties de l additionneur à propagation de retenue? Quand le résultat de l addition est-il valide? Page 52 COMELEC / SEN Jean-Luc Danger
Plan Traitement numérique de l information Logique Booléenne Représentation des nombres Opérateurs Arithmétiques Notion de temps de propagation Exercices Page 53 COMELEC / SEN Jean-Luc Danger
Préparation de la prochaine séance Décodeur 7 segments À partir d un nombre codé sur 4 bits (i3, i2, i1, i0) non signé, donnez l équation de chaque segment de l afficheur (a à g) a f e g d b c Page 54 COMELEC / SEN Jean-Luc Danger
Travail à la maison Opérateur maximum 1/2 Entrées : Deux nombres codés sur n bits en CA2 (A = a n 1... a 0 et B = b n 1... b 0 ) Sortie : Nombre S = s n 1... s 0 codé sur n bits en CA2 tel que : S = A si A B S = B si B > A 1. Dessinez le schéma d un tel opérateur à l aide des fonctions élémentaires vues dans le cours 2. Quel est le temps de propagation en fonction de n? sachant que t p = 2ns pour les portes XOR, XNOR et MUX (multiplexeur) t p = 1ns pour les autres 3. Concevez une structure pour comparer 4 mots. 4. Quel est le temps de propagation en fonction de n? Page 55 COMELEC / SEN Jean-Luc Danger
Travail à la maison Opérateur maximum 2/2 Un algorithme appelé "comparateur MSB en tête", consiste à comparer bit à bit les nombres A et B en commençant par les bits de poids forts. Sa description est la suivante avec n=4 bits : S = B si (a 3 < b 3 ) sinon S = A OU ((a 3 = b 3 ) ET (a 2 < b 2 )) OU ((a 3 = b 3 ) ET (a 2 = b 2 ) ET (a 1 < b 1 )) OU ((a 3 = b 3 ) ET (a 2 = b 2 ) ET (a 1 = b 1 ) ET (a 0 < b 0 )) 1. Concevez un opérateur élémentaire à 2 entrées a i et b i avec les sorties I i (vrai si a i < b i ) et E i (vrai si a i = b i ) qui permet d être mis en cascade pour réaliser le comparateur sur n bits. 2. Dessiner la structure complète à base de cet opérateur. 3. Quel est le temps de propagation en fonction de n? 4. Concevez une structure pour comparer 4 mots. 5. Quel est le temps de propagation en fonction de n? Page 56 COMELEC / SEN Jean-Luc Danger