Cours Electronique Numérique RIT2 - IIM2 PDF
Document Details
Uploaded by DesirousOpossum
Tags
Summary
This document is a course on digital electronics, specifically covering digital circuits and counters. It discusses the construction, design, and operation of various digital circuits based on the concepts of counters and registers.
Full Transcript
ELECTRONIQUE NUMERIQUE RIT2 – IIM2 1 Chapitre 1 : Les compteurs 1- Définition Les compteurs sont d’une importance capitale dans un système séquentiel et en particulier dans tout système synchrone. D’une façon générale, ils permettent...
ELECTRONIQUE NUMERIQUE RIT2 – IIM2 1 Chapitre 1 : Les compteurs 1- Définition Les compteurs sont d’une importance capitale dans un système séquentiel et en particulier dans tout système synchrone. D’une façon générale, ils permettent de compter et d’enregistrer, le nombre d’évènements qui se produisent dans un intervalle de temps donné sous forme d’impulsions. Si les impulsions à compter apparaissent régulièrement sous forme d’un train d’impulsions périodiques de fréquence déterminée, un compteur peut servir de temporisateur et diviseur de fréquence. 2- Compteurs asynchrones Ils constituent les réalisateurs les plus simples de compteurs et possèdent les désavantages des circuits asynchrones. Pour cette raison, ils se prêtent mal aux applications de temporisations. a- Compteurs binaires purs ou compteurs à module 2n Le compteur asynchrone le plus simple comporte uniquement des bascules T mises en cascade. La figure 5.22.a représente un compteur asynchrone binaire de 4 bits sensible sur les fronts descendants sur signal d’horloge. 1 1 J Q 1 J Q 1 J Q D C B A J Q H H K 1 K 1 K 1 1 K Fig. 5.22 a Une bascule T est un diviseur de fréquence par 2. Pour cette raison, il s’agit de relier la sortie de chaque bascule dans la cascade à l’entrée d’horloge de la bascule suivante et d’attaquer la première bascule avec le signal d’horloge. On obtient ainsi automatiquement un compteur binaire si l’on associe la sortie Q0 de la première bascule au bit de poids faible et la sortie Q3 de la dernière bascule au bit de poids fort du code binaire. Pour chaque impulsion d’horloge, la valeur du nombre binaire aux sorties du compteur est augmentée de 1(une augmentation de 1 est souvent appelée incrémentation, une diminution de 1 est appelée décrémentation). 2 Si tous les bits sont à 1, le compteur est mis à 0 par l’impulsion d’horloge suivante. En réalité, à cause du temps de propagation, les états des sorties des bascules ne changent pas simultanément. Par exemple, pour que l’on passe de la valeur binaire (0111)2 à la valeur binaire (1000)2, le signal d’horloge doit traverser toutes les 4 bascules et dans chacune d’elle, le basculement est un peu retardé par rapport à la précédente. Table de vérité Nombre D C B A (DCBA)10 d’impulsions 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 2 3 0 0 1 1 3 4 0 1 0 0 4 5 0 1 0 1 5 6 0 1 1 0 6 7 0 1 1 1 7 8 1 0 0 0 8 9 1 0 0 1 9 10 1 0 1 0 10 11 1 0 1 1 11 12 1 1 0 0 12 13 1 1 0 1 13 14 1 1 1 0 14 15 1 1 1 1 15 16 0 0 0 0 0 Réinitialisation ou Recyclage Chronogramme des signaux aux sorties Q0, Q1, Q2, Q3 3 Fréquences des signaux FH TQ0 = 2TH FQ0 = 2 FH TQ1 = 4TH ⇒ FQ1 = 22 FH TQ2 = 8TH FQ2 = 23 FH TQ3 = 16TH FQ3 = 24 b- Les décompteurs asynchrones Il existe deux façons d'obtenir un décompteur asynchrone. la première consiste à connecter l'horloge de chaque bascule à la sortie inversée de la bascule précédente. (Fig. 3.10). la figure Fig. 3.11 montre l'évolution des états du système. Une deuxième méthode consiste à prendre les sorties du compteur sur les sorties inversées des bascules (Fig. 3.12 et Fig. 3.13) 4 c- Les Compteurs/Décompteurs Asynchrones Un exemple est illustré sur la figure Fig. 3.14. L'horloge de chaque bascule est prélevée soit sur la sortie Q soit sur la sortie Q de la bascule précédente selon si l'on désire fonctionner en compteur ou en décompteur. Ceci est réalisé grâce à 3 "petits'" multiplexeurs 1 parmi 2. L'entrée de contrôle U/d permet de choisir le sens de comptage. U/D=1 ⇒ comptage ascendant (compteur). U/D =0 ⇒ comptage descendant (décompteur) 5 d- Compteur à modulo m (m < 2n) Les compteurs asynchrones qui ne comportent que des bascules T sont des compteurs à modulo 2n , où n est le nombre de bits ou de bascules. Ils comptent 2n impulsions avant d’être remis à 0 par l’impulsion suivante. Cette réinitialisation à 0 est appelée recyclage. Souvent on a besoin de compteur qui recommence le comptage à 0 après un nombre m (m < 2n impulsions). On les appelle des compteurs à module m. Pour le cas des compteurs asynchrones, pour construire un compteur [m], (modulo m) avec m≠2n, on détecte l'état m, et on s'en sert pour remettre le compteur à 0 d'une façon asynchrone : Le compteur est remis à 0 au moment où l'état m essaye d'apparaître, donc celui ci est remplacé par 0. la figure Fig.3.15 montre un compteur modulo 5 et un compteur modulo 6. 6 1 1 J Q1 1 J Q2 C B A J Q0 H K 1 K 1 1 K C RAZ B Fig. 5.24a La figure 5-24a montre le schéma détaillé d’un compteur asynchrone à modulo 6 qui s’obtient en modifiant un compteur à modulo 8. Pour forcer la remise à 0 des sorties, il faut utiliser les entrées clear des bascules T. le signal RAZ est fourni par un petit codeur qui est dans ce cas une simple porte NAND dont le signal de sortie devient actif si C=B=1. Etant donné que cette combinaison des sorties B et C apparaissent pour la première fois après le front descendant de la 6è impulsion, il n’est pas nécessaire de tenir compte du bit de poids faible pour détecter la valeur correspondante au chiffre 6. Cette valeur doit d’abord apparaitre aux sorties du compteur et elle se maintient jusqu’à ce que la bascule correspondante soit remise à 0. NB : Le modulo m d’un compteur est le nombre d’impulsions au bout duquel il y a réinitialisation ou recyclage du compteur. Le module m se définit aussi comme le nombre d’états différents que présente le compteur. Table de vérité Nombre C B A (CBA)10 d’impulsions 0 0 0 0 0 1 0 0 1 1 2 0 1 0 2 3 0 1 1 3 4 1 0 0 4 5 1 0 1 5 6 0 0 0 0 7 0 0 1 1 8 0 1 0 2 7 Chronogrammes Fréquence des signaux FH TQ0 = 2TH FQ0 = 2 FH TQ1 = 6TH ⇒ FQ1 = 6 FH TQ2 = 6TH FQ2 = 6 e- Circuit intégré d’un compteur asynchrone Le compteur asynchrone le plus utilisé dans les séries TTL est le circuit 74xx93 Symbole H1 7493 H2 MR1 MR2 Poids Poids fort faible Fig. 5.25a Schéma logique 1 J Q 1 1 J Q 1 J Q J Q H1 K 1 K 1 K 1 1 K H2 MR1 MR2 8 RAZ Fig. 5.25b Le circuit intégré possède deux entrées d’horloge H1 et H2, une pour un compteur à 3 bits et l’autre pour une seule bascule. Les quatre bascules sont reliées par une ligne commune RAZ. En utilisant MR1 et MR2, on peut réaliser des compteurs à module m 3V ⇒ Q2 Conducteur Vo = VOL = VSS 6.5 Intervalle de tension des niveaux logiques Les intervalles des niveaux logiques pour les circuits intégrés CMOS se situe entre 0 et 30%VDD pour le niveau 0 et entre 70%VDD et VDD pour le niveau logique 1. Exemple : Pour VDD = +5V, le niveau logique 0 se situ entre 0 et 1.5V et le niveau logique 1 se situe entre 3.5V et 5V. 36 Chapitre 4 : Les Convertisseurs numériques-analogiques (CNA) 1. Définition La conversion numérique analogique se définit comme une transposition d’une valeur déjà exprimée selon une représentation numérique (binaire pur ou DCB) en une tension ou un courant proportionnel à cette valeur numérique. La sortie peut être : -Unipolaire c’est-à-dire positive uniquement -Bipolaire c’est à dire positive et négative 2. Symbole d’un CNA 3. Tension pleine échelle PE : On appelle tension pleine échelle PE d’un CNA la tension maximale que peut prendre la sortie. Cette tension PE est obtenue en appliquant à l’entrée du CNA la valeur numérique la plus grande, c'est-à-dire lorsque tous les bits d’entrées sont au niveau logique haut. Théoriquement (CNA idéal) la tension PE est égale à la tension de référence, mais dans la réalité elle est plus souvent inférieure à la tension de référence 𝟐𝐧 − 𝟏 𝐕𝐏𝐄 = 𝐕𝐫é𝐟 ( 𝐧−𝟏 ) 𝟐 4. Résolution R d’un CNA : On appelle résolution d’un CNA ou pes de progression ou quantum q la plus petite variation de tension s’ajoutant à la sortie lorsque la valeur binaire d’entrée est augmentée de 1 q = Vréf /(2n-1) q : quantum est exprimé en volt(V) ; n : nombre des bits ; Vréf : tension de référence en volt (V) 37 Exemple : Soit un convertisseur numérique – analogique à 3 bits avec une tension de référence Vréf=10V. ; q = Vréf /(2n-1) = 10/(23-1) = 1.428V Remarque : La résolution en % de la pleine échelle PE est donnée par : R% = (q /VPE)*100 = 100/(2n-1) 5. Temps de conversion : C’est le temps séparant le début d’un cycle de conversion et la disponibilité de la tension résultante en sortie. 6. Fonction de transfert C’est un graphe représentant la valeur analogique de sortie en fonction des codes binaires de l’entrée Exemple 1 : CAN à trois bits unipolaire Sortie analogique Entrée numérique Exemple 2 : CAN à trois bits bipolaire Sortie analogique Entrée numérique 38 La tension analogique de sortie est : 𝐕𝐬 = 𝐪 ∗ 𝐍𝟏𝟎 7. Erreur de décalage Elle représente l’écart VOS ou IOS entre la tension ou le courant à l’origine et la valeur réelle obtenue. 8. Erreur de gain Elle est dû au faite que la pente de la courbe réelle est différente de celle du cas idéal. 𝑽𝟏𝟏 −𝑽𝒐𝒔 Elle est exprimée par : Erreur de gain = − 𝟏 avec V11 la tension réelle lorsque 𝑽𝑷𝑬 l’entrée est composé entièrement de 1 39 9. Circuits des convertisseurs numériques - analogiques : 9.1 CNA à résistances pondérées. Principe. Le principe de fonctionnement de ce montage est extrêmement simple : il est basé sur un amplificateur opérationnel monté en sommateur inverseur. Les principaux constituants sont : - un amplificateur opérationnel. - une référence de tension qui va définir la pleine échelle du convertisseur. - une série de résistances dans un rapport des puissances successives de 2 - une série de registres numériques contenant le code binaire d'entrée. - des commutateurs analogiques (interrupteurs commandés électriquement par les signaux logiques) reliant les résistances à la référence de tension. I = I0 + I1 + I2 + I3 VS = -R.I = -R. (I0 + I1 + I2 + I3 ) I0 = A0 (Vréf /16R) I1 = A1 (Vréf /8R) I2 = A2 (Vréf /4R) I3 = A3 (Vréf /2R) VS = -R.I = -R. (A0 (Vréf /16R) + A1 (Vréf /8R)+ A2 (Vréf /4R) + A3 (Vréf /2R)) VS = - Vréf. (A0 /16+ A1/8+ A2 /4+ A3 /2) 9.2 C.N.A à réseau R-2R : Dans ce type de convertisseurs : - seules deux valeurs de résistances sont utilisées. - La tension de référence se distribue sur le réseau R-2R 40 - Les entrées contrôlent chacune un interrupteur - La sortie du réseau est un courant proportionnel au code de l’entrée - Le courant est ensuite converti en tension I = I0 + I1 + I2 + I3 VS = -2R.I = -2R. (I0 + I1 + I2 + I3 ) I0 = A0 (Vréf /32R) I1 = A1 (Vréf /16R) I2 = A2 (Vréf /8R) I3 = A3 (Vréf /4R) VS = -2R.I = -2R. (A0 (Vréf /32R) + A1 (Vréf /16R)+ A2 (Vréf /8R) + A3 (Vréf /4R)) VS = - Vréf. (A0 /16+ A1/8+ A2 /4+ A3 /2) 41 Exercice 1 Un CNA de 10 bits à un pas de progression de 10mV, déterminer le tension VPE et la résolution en pourcentage de la pleine échelle (R%) Exercice 2 Soit un CNA à 5 bits, dont la sortie est un courant. Quand l’entrée numérique est 10100, le courant de sortie est 10mA. 1- Calculer l’intensité de sortie ISortie pour une entrée numérique 11101. 2- Calculer l’intensité maximale Exercice 3 On considère un CNA 8 bits qui délivre une tension de 2,18 V lorsque l’information 01101101 est appliquée à son entrée. On demande : 1- La tension pleine échelle 2- La tension de sortie lorsque l’information numérique 1010110 est appliquée à son entrée 3- L’information numérique appliquée à l’entrée si la tension de sortie vaut 4,8 V 4- La résolution du CNA 42 Chapitre 5 : Les Convertisseurs analogiques-numériques (CAN) 1. Définition Le convertisseur analogique numérique CAN est un dispositif électronique (circuits intégrés) permettant d’obtenir en sortie une grandeur numérique codée sur n bits à partir d’une grandeur analogique (tension ou courant) présentée en entrée. 2. Symbole d’un CAN VE : tension d’entrée à convertir Vréf : tension de référence N : valeur numérique binaire résultat de la conversion compris entre 0 et 2n -1 3. Résolution d’un CAN On appelle résolution d’un CAN ou pas de progression ou quantum q la plus petite variation de tension appliquée à l’entrée qui augmente la valeur binaire en sortie de 1. q = Vréf /(2n-1) q : quantum est exprimé en volt(V) n : nombre des bits Vréf : tension de référence en volt (V) 4. Fonction de transfert C’est un graphe représentant les valeurs numériques de sortie en fonctions des valeurs analogiques d’entrée 43 NS VE 𝐕𝐄 𝐍𝟏𝟎 = 𝐪 5. Erreur de décalage Habituellement elle donné comme un pourcentage de un LSB (±0,5𝐿𝑆𝐵). Cette erreur de décalage modifiera le code de la sortie 6. Erreur de gain Pour une fonction de transfert idéale, la différence entre la première transition et la dernière transition 44 7. Circuits des convertisseurs analogiques -numériques 7.1 CAN à rampe numérique Il est appelé CAN à rampe numérique à cause de la forme d’onde VAX qui est celle d’une rampe pas à pas (en escalier) 45 - On applique une impulsion DEBUT qui à pour effet de mettre à zéro le compteur, bloquer la porte ET qui empêche le passage des impulsions d’horloge jusqu’au compteur et VAX = 0. - Au moment ou DEBUT revient à zéro, la porte ET est validée et les impulsions d’horloge arrivent jusqu’au compteur - A mesure que le compteur progresse, la sortie du CNA (VAX) augmente d’un palier. - VAX>VA FDC passe au niveau bas et bloque le passage du signal d’horloge vers le compteur. - Le convertisseur conserve cette valeur numérique jusqu’à la prochaine impulsion début qui déclenche une nouvelle conversion. 7.2 CAN pour approximation successives (à pesées successives) Ce type de CAN est l’un de ceux qu’on trouve le plus fréquemment, il possède des circuits plus complexe, son temps de conversion est beaucoup plus court. Le montage de base de ce convertisseur est semblable à celui du convertisseur à rampe numérique. Ce convertisseur n’utilise pas un compteur pour alimenter l’entrée du convertisseur numérique – analogique mais plutôt un registre. La logique de contrôle modifie le continu du registre bit par bit jusqu’à ce que la donnée qui s’y trouve soit l’équivalent numérique du signal analogique VA. Le schéma de principe est donné par la figure 46 Exercice 1 Un convertisseur analogique numérique par approximation successive à 8bits procède une réduction de 20mA 1- Quelle serait la sortie correspondant à 2,16 A 2- Quelle est la valeur de l’entrée analogique correspondant à n=256 Exercice 2 Soit le CAN à approximations successives ci-dessous. Dans son fonctionnement, à la position 5 indiquée par la flèche, le comparateur bascule et bloque le séquenceur logique. 1- Déterminer en fonction de Eréf la tension Ex à convertir 2- Donner la valeur numérique a2a1a0 obtenue à la sortie 3- Calculer le quantum q 47 48 CHAPITRE 6 : Généralités sur les microprocesseurs 1. Introduction aux systèmes micro-programmés Le développement de l'électronique numérique a suscité l'apparition de plusieurs types de composants très puissants en particulier les systèmes micro-programmés. Leur aptitude à s'adapter aux contraintes technologiques de plus en plus complexes, leur capacité de gérer un grand nombre de fonctionnalités variées et leur coût de revient faible ont encouragé leur utilisation dans plusieurs applications tant domestiques qu'industrielles. Le développement de ces composants programmables remplacent de plus en plus l'électronique classique vu que les circuits intégrés analogiques ou logiques ne peuvent plus résoudre des fonctions de plus en plus complexes. Historiquement, les constructeurs développèrent d'abord les systèmes micro-programmés intégrés dans les calculateurs de bureau ou de poche, avec des codes d'ordre orientés vers le calcul numérique. Puis maitrisant cette technique ils offrirent des circuits d'usage généraux : les microprocesseurs. Les systèmes micro-programmés ont vu leur importance progresser au rythme de l’importance prise par les microprocesseurs. C'est d'ailleurs l'élément de base pour de tels systèmes. En 1971 est apparu le premier microprocesseur 4 bits 4004 d’Intel. La miniaturisation des transistors a permis d’augmenter considérablement la capacité d’intégration sur silicium. On est passé rapidement du processeur 4 bits au : processeur 8 bits. processeurs 16 bits. processeurs 32 bits. processeurs 64 bits Cette miniaturisation a offert des possibilités de réaliser des systèmes embarquées. 2. Définition d'un microprocesseur Un microprocesseur ou processeur ou encore CPU (Central Processing Unit) est l'unité intelligente de traitement des informations. c'est un circuit intégré à très grande échelle d’intégration (VLSI) chargé d’organiser les tâches précisées par le programme, de les décoder et d’assurer leur exécution. Il doit aussi prendre en compte les informations extérieures au système et assurer leur traitement. Ils présentent trois avantages principaux : ils sont économiques et offre une souplesse d'emploi inhérente à la programmation. 49 3. Modèle de base d'un microprocesseur Dans un microprocesseur, on retrouve : - une Unité Arithmétique et Logique (UAL) - une Unité de Contrôle (UC) - des registres - des bus ou chemins de données Fig. 1.1 : Structure de base d'un microprocesseur 3.1 Unité Arithmétique et Logique Elle dispose de circuits réalisant des opérations des fonctions logiques (ET, OU, comparaison, décalage,...) ou arithmétique (addition, soustraction,...). En entrée de l’UAL, on a des commandes permettant d’activer les opérations, venant de l’unité de contrôle En sortie, on a les résultats des opérations et les conditions qui sont en fait les entrées de l’unité de contrôle. L'UAL est composé de : Les accumulateurs : Ce sont des registres de travail qui servent à stocker une opérande au début d'une opération arithmétique et le résultat à la fin de l'opération. - L’Unité Arithmétique et Logique: C'est un circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, Décalage, etc...) ou arithmétique (Addition, soustraction...) 50 - Le registre d'état : Il est généralement composé de 8 bits à considérer individuellement. Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière opération effectuée par l’UAL. On les appelle indicateur d’état ou flag ou drapeaux (Retenue, débordement, zéro,...). 3.2 Unité de contrôle ou séquenceur L’unité de contrôle est une circuit logique séquentiel chargée de séquencer l’algorithme et de générer les signaux de contrôle pour piloter les éléments du chemin de données. Elle envoie des commandes à l’unité de traitement qui va exécuter les traitements. L'unité de contrôle contient: - Le compteur de programme (PC : Programme Counter) appelé aussi Compteur Ordinal (CO) : Il est constitué par un registre dont le contenu est initialisé avec l'adresse de la première instruction du programme. Il contient toujours l’adresse de la prochaine instruction à exécuter - Le registre d'instruction et le décodeur d'instruction : Chacune des instructions à exécuter est transféré depuis la mémoire dans le registre instruction puis est décodée par le décodeur d’instruction. - Bloc logique de commande (ou séquenceur) : IL organise l'exécution des instructions au rythme d’une horloge. Il élabore tous les signaux de synchronisation internes ou externes (bus de commande) du microprocesseur en fonction de l’instruction qu’il a à exécuter. Il s'agit d'un automate réalisé de façon microprogrammée 3.3 Les bus Un bus est un ensemble de lignes de communications groupés par fonction. Il permet de faire transiter (liaison série/parallèle) des informations codées en binaire entre deux points. Il est caractérisé par le nombre de lignes et la fréquence de transfert. Il existe 3 Types de bus : Bus de données (bi-directionnel): permet de transférer entre composants des données ex. : résultat d'une opération, valeur d'une variable, etc. Le nombre de lignes du bus de données définie la capacité de traitement du microprocesseur ; selon le microprocesseur la largeur du bus peut être de 8 bits, 16 bits, 32 bits, 64 bits. Bus d'adresses (uni-directionnel): permet de transférer entre composants des adresses, ex. : adresse d'une case mémoire, etc. 51 L’espace adressable peut avoir 2n emplacements, avec n est le nombre de lignes du bus d'adresses. Bus de contrôle (bi-directionnel): permet l'échange entre les composants d'informations de contrôle [bus rarement représenté sur les schémas]. ex. : périphérique prêt/occupé, erreur/exécution réussie, etc. 3.4 Les registres C'est un espace mémoire interne au processeur. On distingue deux types : à usage général qui permettent à l'UAL de manipuler des données et les registres d'adresses qui sont connectés au bus d'adresse. Fig. 1.2 : Structure interne d'un microprocesseur 4. Les mémoires Le processeur exécute les instructions machines présente dans la mémoire et traite les données qu'elle contient : le fonctionnement du microprocesseur est entièrement conditionné par le contenu de celles-ci. La mémoire peut être vue comme un ensemble de cellules ou cases contenant chacune 52 une information : une instruction ou une donnée. Chaque case mémoire est repérée par un numéro d’ordre unique : son adresse. Fig. 1.3 : Structure générale d'un système piloté par un microprocesseur Une case mémoire peut être lue ou écrite par le microprocesseur (cas des mémoires vives) ou bien seulement lue (cas des mémoires mortes). Les opérandes sont stockés dans des mémoires RAM. Un jeu d'instruction est l’ensemble d’opérations élémentaires effectué par le microprocesseur 5. Fonctionnement d'un microprocesseur Le traitement d'une instruction peut être décomposé en plusieurs phases. Celles-ci sont au nombre de trois : - Recherche de l'instruction - Décodage (decode) - Exécution (execute) 53 Fig. 1.4 : Fonctionnement d'un microprocesseur 5.1 Recherche de l'instruction Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le microprocesseur utilise un registre contenant cette information : Le pointeur d’instruction Le contenu de PC est placé sur le bus des adresses. L'unité de contrôle (UC) émet un ordre de lecture, au bout d'un certain temps (temps d'accès à la mémoire) le contenu de la case mémoire sélectionné est disponible sur le bus des données. L'unité de contrôle charge la donnée dans le registre d'instruction pour décodage. Fig. 1.5 : Recherche d'instruction 5.2 Décodage Pour savoir quel type d’opération doit être exécuté (addition, soustraction,...), le 54 microprocesseur lit le premier octet de l’instruction pointée par le pointeur d’instruction (code opératoire) et le range dans le registre d’instruction. Le code opératoire est décodé par des circuits de décodage contenus dans le microprocesseur. Des signaux de commande pour l’UAL sont produits en fonction de l’opération demandée qui est alors exécutée. Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer vers l’instruction suivante. Puis, le processus de lecture et de décodage des instructions recommence. Fig. 1.6 : Récupération de l'opérande 5.3 Exécution A la suite de chaque instruction, le registre d’état du microprocesseur est actualisé en fonction du dernier résultat. 6. Architecture d'un microprocesseur Pour l’organisation des différentes unités, il existe deux architectures possibles: 6.1 Architecture de Von Neuman La mémoire programme, la mémoire données et les périphériques d’entrées/sorties partagent le même bus d’adresses et de données. Inconvénient: L’exécution d’une instruction nécessite plusieurs échanges de données sur le seul et unique bus dévolu à cet usage puisqu’il faut tout d’abord aller chercher le code de 55 l’instruction puis le ou les données qu’elle doit manipuler. Fig. 1.7 : Architecture de Von Neuman 6.2 Architecture de Harvard Cette architecture sépare systématiquement la mémoire de programme de la mémoire des données : l'adressage de ces mémoires est indépendant. Ce type d’architecture est utilisé sur des microcontrôleurs qui ont connu un développement important ces dernières années. Fig. 1.8 : Architecture de Harvard Quoique cette architecture puisse être complexe mais elle est performante: Gain en terme de vitesse d’exécution des programmes : L’exécution d’une instruction ne fait plus appel qu’à un seul cycle machine puisque l’on peut simultanément, grâce au deux bus, rechercher le code de l’instruction et la ou les données qu’elle manipule 56 57