CONTENU DU COURS B. CONCEPTS A. MISE EN CONTEXTE LOGICIELS (PROGRAMMATION EN ASSEMBLEUR ET EN Université du Québec École de technologie supérieure C) C. CONCEPTS MATÉRIELS (COMPOSANTS D’UN MICROCONTRÔLEUR) GPA770: Microélectronique appliquée Éric Granger A.1-1 Partie A − Mise en contexte A.1 Survol de l’électronique numérique Systèmes de numérotation Opérations arithmétiques binaires représentation de nombres signés circuits électroniques de base: portes, registres, etc. systèmes électroniques universels A.2 Architecture et programmation du 68HCS12: architecture, sous-systèmes et mémoires modèle du programmeur et exécution d’instructions Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-2 Sommaire de la Section A.1 A.1 Survol de l’électronique numérique: 1) Systèmes de numérotation 2) Représentation de nombres signés 3) Opérations arithmétiques binaires 4) Circuits électroniques de base: portes, registres, etc. 5) Systèmes électroniques universels Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-3 A.1(1) Systèmes de numérotation a. Représentation des nombres Il existe plusieurs façons de représenter un nombre N: dépend du système de numérotation La base b du système de numérotation indique le nombre de symboles au système pour représenter chaque chiffre ( N )b (nL 1nL 2 ...n0 ) avec ne {0,1,..., b 1} Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-4 A.1(1) Systèmes de numérotation a. Représentation des nombres Systèmes de numérotation pertinents: décimal: le plus pratique et naturel pour humains utilise 10 symboles = {0, 1, 2, ..., 9}, alors b = 10 binaire: utilisé par SO à électronique numériques utilise 2 symboles = {0, 1}, alors b = 2 hexadécimal: plus pratique pour représenter une chaîne de nombres binaires (comprime 4 bits → 1 hex) utilise 16 symboles = {0, 1, 2, ..., F}, alors b = 16 ou h Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-5 A.1(1) Systèmes de numérotation a. Représentation des nombres Systèmes de numérotation pondérés: quand la position relative des chiffres dans (N)b est significative Décomposition de (N)b avec un système de numérotation pondéré 1. associe un emplacement e à chaque chiffre ne dans (N)b 2. avec la base b, calcul le poids du chiffre = be 3. contribution Ce au nombre d’un chiffre est: Ce = (valeur x poids) du chiffre e = ne x be Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-6 A.1(1) Systèmes de numérotation b. Techniques de conversion Techniques pour convertir (N)b entre systèmes de numérotation bin-dec-hex: Type de conversion Technique de conversion binaire → décimal hexadécimal → décimal Somme pondérée des contributions décimal → binaire Division par la base décimal → hexadécimal binaire → hexadécimal Substitution hex-bits hexadécimal → binaire Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-7 A.1(1) Systèmes de numérotation b. Techniques de conversion Somme pondérée des contributions: ► soit (N)b = (nL-1 nL-2 ... n0)b un nombre de longueur L dans le système de base b 1. associer un emplacement e, avec e = 0, 1, ..., L-1, à chaque chiffre ne dans (N)b 2. calculer les contributions: Ce = ne x be 3. obtenir le nombre (M)10 équivalent à partir de la somme pondérée des contributions: L 1 L 1 ( M )10 ne b Ce e e0 Université du Québec École de technologie supérieure e 0 GPA770: Microélectronique appliquée Éric Granger A.1-8 A.1(1) Systèmes de numérotation b. Techniques de conversion Division par la base: 1. diviser successivement le nombre décimal (N)10 par la base désirée b, autant de fois que possible (jusqu’à quotient = 0) 2. retenir le quotient et le reste après chaque division 3. déduire le nombre (M)b équivalent à partir des restes ► si L divisions sont possibles, et si re est le reste de la eème division (e = 0, 1, ..., L-1), alors le nombre (M)b est: (M )b (rL1... r1r0 )b Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-9 A.1(1) Systèmes de numérotation b. Techniques de conversion Substitution hex - bits: binaire → hexadécimal: 1. en partant de LSb à MSb, regrouper 4 bits; 2. si le dernier groupe a moins que 4 bits, remplir les MSb manquants avec des zéros; 3. convertir chaque groupe en chiffre hexadécimal correspondant. hexadécimal → binaire: 1. représenter chaque chiffre hexadécimal par le groupe de 4 bits correspondant; 2. concaténer les groupes de bits résultants. Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-10 Sommaire de la Section A.1 A.1 Survol de l’électronique numérique: 1) Systèmes de numérotation 2) Représentation de nombres signés 3) Opérations arithmétiques binaires 4) Circuits électroniques de base: portes, registres, etc. 5) Systèmes électroniques universels Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-11 A.1(2) Représentation de nombres signés Plage des nombres: nombres binaires: utilisés par tous SO à électronique numérique, pour opérations arithmétiques, stockage d’informations, etc. la plage de nombres différents est définit par la quantité de chiffres e utilisé pour représenter (N)b cas général pour un système pondéré: e chiffres → be différents nombres cas binaire: e bits → 2e différents nombres Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-12 A.1(2) Représentation de nombres signés Nombres signés binaires: un SO doit pouvoir représenter des nombres non-signés et signés: en effet, un SO manipule des nombres positifs et négatifs, avec valeur exact ±(N)b il existe plusieurs méthodes de représentation des nombres signés pour l’arithmétique binaire: 1. représentation signe et magnitude 2. représentation en complément à 2 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-13 A.1(2) Représentation de nombres signés Représentation signe et magnitude de ±(N)b: signe de ±(N)b: indiqué par le MSb MSb = ‘0’ si le nombre est positif, ou ‘1’ si le nombre est négatif magnitude de ±(N)b: indiqué par les autres bits la plage des différents nombres est divisée en 2 parties égales avec un +0 et un -0 – 2(e-1) valeurs positives incluant le zéro+ – 2(e-1) valeurs négatives incluant le zéroUniversité du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-14 A.1(2) Représentation de nombres signés Représentation en complément à 2 de ±(N)b: utilise le MSB pour indiquer le signe, et les autres bits pour représenter la magnitude de ±(N)b pour représenter les nombres négatifs, on fait le codage en complément à 2 1. calcul du complément à 1 (inverse chaque bit) 2. additionne un ‘1’ binaire la plage des différents nombres est divisée en 2 parties débalancées: – 2(e-1) -1 valeurs positives plus le zéro – 2(e-1) valeurs négatives Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-15 Sommaire de la Section A.1 A.1 Survol de l’électronique numérique: 1) Systèmes de numérotation 2) Représentation de nombres signés 3) Opérations arithmétiques binaires 4) Circuits électroniques de base: portes, registres, etc. 5) Systèmes électroniques universels Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-16 A.1(3) Opérations arithmétiques binaires Addition (soustraction) binaire: mêmes procédures qu’avec les nombres décimaux mais avec b = 2 addition (soustraction) bit-par-bit, de LSb à MSb, avec retenues (emprunts) si nécessaire EX: avec opérants non-signés sur 8 bits (1000 1110)2 (1000 1110)2 + (0001 0101)2 − (0001 0101)2 (1010 0011)2 (0111 1001)2 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-17 A.1(3) Opérations arithmétiques binaires Multiplication binaire: mêmes procédures qu’avec les nombres décimaux mais avec b = 2 progresse bit-par-bit, de LSb à MSb, dans les bits du multiplieur EX: opérants non-signés sur 8 bits (0010 1010)2 X (0000 0010)2 0000 0000 + 00101 010 (00101 0100)2 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-18 A.1(3) Opérations arithmétiques binaires Division binaire: mêmes procédures qu’avec les nombres décimaux progresse bit-par-bit, de MSb à LSb, dans les bits du dividende EX: avec opérants sont non-signés (1 0110)2 (1000)2 (1011 0000)2 - 1000 0011 00 - 10 00 01 000 - 1 000 0 0000 Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-19 Sommaire de la Section A.1 A.1 Survol de l’électronique numérique: 1) Systèmes de numérotation 2) Représentation de nombres signés 3) Opérations arithmétiques binaires 4) Circuits électroniques de base: portes, registres, etc. 5) Systèmes électroniques universels Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-20 A.1(4)Circuits électroniques de base Signal binaire: déf.: quantité électrique qui transporte de l’information selon deux valeurs de tension notation: H (‘high’): la plus positive des deux tensions L (‘low’): la moins positive des deux tensions Variable binaire: déf.: variable algébrique qui peut prendre 2 valeurs (vrai ou faux, ‘1’ ou ‘0’, actif ou inactif, etc.) étiquette un signal physique dans un circuit indique le niveau de tension pour le cas vrai. Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-21 A.1(4) Circuits électroniques de base Circuits logiques combinatoires: la sortie dépend de la valeur actuelle de ses entrées le concept de temps n’est pas pertinent entrées . . sorties= fct(entrées) CIRCUIT COMBINATOIRE Université du Québec École de technologie supérieure . . GPA770: Microélectronique appliquée Éric Granger A.1-22 A.1(4) Circuits électroniques de base Circuits combinatoires sont construits avec portes logiques de base: composants qui effectuent une fonction logique fondamentale sur des signaux d’entrée binaires ex: ET, OU, XOR, inverseur et tampon Indication de polarité négative pour ces portes: indique que la variable est vrai quand le valeur de tension du fil est L Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-23 A.1(4) Circuits électroniques de base Portes ET (‘AND’) et NON-ET (‘NAND’): A Y=A*B B A Y= A*B B Table de vérité A B Y L L L L H L H L L H H H Université du Québec École de technologie supérieure Table de vérité A B Y L L H L H H H L H H H L GPA770: Microélectronique appliquée Éric Granger A.1-24 A.1(4) Circuits électroniques de base Portes OU (‘OR’) et NON-OU (‘NOR’): A A Y= A+B Y=A+B B B Table de vérité A B Y L L L L H H H L H H H H Université du Québec École de technologie supérieure Table de vérité A B Y L L H L H L H L L H H L GPA770: Microélectronique appliquée Éric Granger A.1-25 A.1(4) Circuits électroniques de base Porte OU-exclusif (‘XOR’): A Y=AÅB B Table de vérité A B Y Université du Québec École de technologie supérieure L L L L H H H L H H H L GPA770: Microélectronique appliquée Éric Granger A.1-26 A.1(4) Circuits électroniques de base Portes inverseur et tampon: Y=A A Table de vérité Y=A A Table de vérité A Y A Y L H L L H L H H Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-27 A.1(4) Circuits électroniques de base Dualité entre portes ET et OU: Même circuit physique mais représentation différente pour signifier une fonction en "OU" A Y= (A*B) A Y= A+B B B Fonction "ET" Table de vérité A B Y L L H L H H H L H H H L Université du Québec École de technologie supérieure Fonction "OU" Table de vérité A B Y L L H L H H H L H H H L GPA770: Microélectronique appliquée Éric Granger A.1-28 A.1(4) Circuits électroniques de base Unités fonctionnels plus complexes: circuit combinatoires MSI (Medium Scale Integration) ex: multiplexeur, décodeur, UAL, etc. Decoder Multiplexer A S1 D S4 SC1 1 D1 SC22 D8 SC33 C1 C2 Université du Québec École de technologie supérieure ENB ENB GPA770: Microélectronique appliquée Éric Granger A.1-29 A.1(4) Circuits électroniques de base Exemple: détection de portes ouvertes pour voiture Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-30 A.1(4) Circuits électroniques de base Circuits logiques séquentiels: la sortie dépend de: 1. la valeur actuelle de ses entrées; 2. l’état actuel du circuit (i.e., les entrées antérieures). Circuits plus complexes qui sont composés: d’un circuit combinatoire: pour détermine la sortie du circuit, et son prochain état de composants de mémoire: pour stocker l’état actuel du circuit. d’un signal d’horloge: pour contrôler la mémoire Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-31 A.1(4) Circuits électroniques de base sorties(t+1)= fct(entrées, état(t)) entrées . . CIRCUIT COMBINATOIRE . . variables d’état(t) CIRCUIT DE MÉMOIRE Université du Québec École de technologie supérieure horloge GPA770: Microélectronique appliquée Éric Granger A.1-32 A.1(4) Circuits électroniques de base Bascule D: entrée à mémoriser D SET Q clk CLR D Université du Québec École de technologie supérieure Q Q(t+1) Q(t+1) L L H H H L GPA770: Microélectronique appliquée Éric Granger A.1-33 A.1(4) Circuits électroniques de base Bascule JK: set J SET Q clk reset K CLR Q J K L L Q(t) Q(t) L H L H H L H L H H Q(t) Q(t) Université du Québec École de technologie supérieure Q(t+1) Q(t+1) GPA770: Microélectronique appliquée Éric Granger A.1-34 A.1(4) Circuits électroniques de base Unités fonctionnels plus complexes: circuits séquentiels MSI: registres, compteurs, etc. Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-35 A.1(4) Circuits électroniques de base Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-36 A.1(4) Circuits électroniques de base Composant de mémoire: modèle de mémoire: une liste adressable de registres ADDR . . . DATA . . . COMPOSANT DE MÉMOIRE R/W synchronisation Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-37 A.1(4) Circuits électroniques de base Capacité d’une mémoire: largeur de mémoire (n): correspond au nombre de bits par registre interne (i.e., mot de mémoire ou ‘word size’) N = largeur du DATA (pas toujours n) longueur de mémoire (M): correspond au nombre de registres qu’on peut adresser M = 2m, où m = largeur du ADDR capacité: largeur x longueur = n x M bits Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-38 A.1(3) Circuits électroniques de base Mémoire − concepts fondamentaux: 210 29 28 , 27 26 25 24 , 23 22 21 20 210 = 1024 binaire hex 1 0 $ 0 ,0 0 4 0 0,0 0 0 0 0 0 conversions communes: 28 = 256 = $100 210 = 1024 = $400 = 1K 212 = 4096 = $1000 = 4K Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée A.1-39 A.1(4) Circuits électroniques de base Exemple: circuit clignotant à deux vitesses (suite) Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-40 A.1(4) Circuits électroniques de base Exemple: circuit clignotant à deux vitesses Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-41 Sommaire de la Section A.1 A.1 Survol de l’électronique numérique: 1) Systèmes de numérotation 2) Représentation de nombres signés 3) Opérations arithmétiques binaires 4) Circuits électroniques de base: portes, registres, etc. 5) Systèmes électroniques universels Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-42 A.1(5) Systèmes électroniques universels a. Système numérique déf.: circuit composé de registres et de portes logiques contrôlées par un circuit séquentiel Structure: unité de contrôle + logique de traitement Avantage et inconvénients: donne généralement un système plus facile à concevoir, et moins complexe mais, peut être plus lent qu’un circuit dédié Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-43 A.1(5) Systèmes électroniques universels Exemple: communication sérielle synchrone Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-44 A.1(5) Systèmes électroniques universels b. Système numérique contrôlé par instructions déf.: système numérique qui traite des nombres binaires selon plusieurs différents algorithmes Structure: unité de contrôle + processeur générique Code d’instruction ou ‘instruction’: indique à l’UC lequel des algorithmes à effectuer chacun correspond à une séquence particulière de transitions dans la machine d’état de l’UC Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-45 A.1(5) Systèmes électroniques universels Codes de Contrôle pour UAL C0C1 00 01 10 11 Opération in1+in2 out in1+in2+1 out in1+in2’ out in1+in2’+1 out Jeux d'instructions out UAL in1 C0 C1 in2 Lout sortie XB XA A Reset C0 C1 XA XB Unité de contrôle XIN LA LB Lout B LB LA Processeur générique Horloge entrée Université du Québec École de technologie supérieure Xin GPA770: Microélectronique appliquée Éric Granger A.1-46 A.1(5) Systèmes électroniques universels c. Processeur avec programme en mémoire déf.: système numérique contrôlé par instructions avec mémoire pour les données et les instructions structure: processeur générique + unité de contrôle + mémoire Deux types d’informations en mémoire: programme: séquence d’instructions → unité de contrôle données: pour effectuer les opérations → processeur Architecture von Neumann vs Harvard Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-47 A.1(5) Systèmes électroniques universels instructions Mémoire contrôle CPU données Périphériques d’e/s données Processeur générique Unité de contrôle contrôle et statue horloge Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-48 A.1(5) Systèmes électroniques universels Rôle des composants principaux: circuit d’horloge: (crystal quartz + logique) génère un signal périodique ‘stable’ pour synchroniser les mémoires du système unité de contrôle: (circuit séquentiel) sous contrôle d’une {instruction} reconnue génère les signaux de contrôle pour le reste du système selon une machine à états processeur générique: (UAL + logique + registres) effectue des opérations simples et communes Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-49 A.1(5) Systèmes électroniques universels Rôle des composants principaux: (suite) mémoire: (contient 2 types d’informations) programme en ROM: stocke des séquences de codes d’instructions accédées par l’UC pour effectuer des tâches données en RAM: stocke les opérants et résultats d’opérations requises par le processeur pour effectuer des instructions périphériques: (circuiterie pour interfacer) permet de transférer des données entre le processeur et modules externes (senseurs, actionneurs, etc.) via le bus de données Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-50 A.1(5) Systèmes électroniques universels Définitions: instruction: la plus petite unité d’action qui peut être dictée au CPU (UC + processeur) par un programme jeu d’instructions du système: {instructions} valides, i.e., qu’un CPU (UC et processeur) peut reconnaître et exécuter mode d’adressage: façon d’accéder aux données requises pour exécuter une instruction Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-51 A.1(5) Systèmes électroniques universels Phases d’exécution d’une instructions dans une machine universelle: 1. chercher − accède une instruction de la mémoire 2. décoder – interpréter l’instruction et traduire en actions du CPU – acheminer les signaux de contrôle 3. exécuter − effectuer les opérations liées à l’instruction chercher executer Université du Québec École de technologie supérieure decoder GPA770: Microélectronique appliquée Éric Granger A.1-52 A.1(5) Systèmes électroniques universels Catégories d’instructions dans une machine universelle: Arithmétique: +, -, x, ∕, etc. logique: ET, OU, etc. charger/stocker (à partir de la mémoire) test et branchement (décisions pour modifier l’ordre d’exécution des instructions) entrée/sortie (communiquer avec autres composants) Université du Québec École de technologie supérieure GPA770: Microélectronique appliquée Éric Granger A.1-53