Chapitre 1 Généralités sur le microprocesseur
I-1 Introduction:
Les applications des systèmes à microprocesseurs sont multiples et variées : - Ordinateur - console de jeux - calculatrice - Télévision - téléphone portable - distributeur automatique d’argent - robotique - lecteur carte à puce, code barre - automobile -Instrumentation …etc.
I-2 Qu’est ce qu’un microprocesseur ? Un microprocesseur est un circuit intégré complexe. Il résulte de l’intégration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles (registres, compteur, etc…). Il est capable d'interpréter et d'exécuter les instructions d'un programme. Son domaine d’utilisation est donc presque illimité.
I-3 Environnement d’un microprocesseur:
Figure I.1: Environnement d’un microprocesseur
Le microprocesseur est parfois appelé CPU (Central Processing Unit) et est caractérisé par sa fréquence d'horloge (en MHz ou GHz), sa largeur des bus de données et d'adresse, sa mémoire adressable, le nombre de transistors et la taille de la gravure (en microns). Ses performances sont caractérisées par le CPI (Cycle Par Instruction) et le MIPS ou GIPS (Million ou Giga d'Instructions Par Secondes) qui dépendent directement de la fréquence d'Horloge et son jeu d'instructions. Mémoire (ROM/RAM): La mémoire représente le lieu où le programme et les données se résident; elle est soit morte (ROM) soit vive (RAM). La zone de mémoire morte est dédiée au programme par contre la vive est réservée pour les données et les résultats. Interface: C’est la logique de gestion de la communication entre le microprocesseur et les périphériques. Bus de données: Il est bidirectionnel et assure le transfert des informations entre le microprocesseur et son environnement, et inversement; sa largeur est égale à la capacité de traitement du microprocesseur. Bus des adresses: Il est unidirectionnel et permet la sélection des informations à traiter dans un espace mémoire qui peut avoir 2n , avec n= la taille du bus. Bus de contrôle ou de commande: C’est un ensemble de lignes qui assurent la synchronisation des flux d’informations sur les bus des données et des adresses.
I-4 Architecture de base d’un microprocesseur Un microprocesseur est construit autour de deux éléments principaux : Une unité de commande Une unité de traitement associés à des registres chargées de stocker les différentes informations à traiter. Ces trois éléments sont reliés entre eux par des bus internes permettant les échanges d’informations.
Figure I.2: Architecture de base d’un microprocesseur
I-4-1 L’unité de commande Elle permet de séquencer le déroulement des instructions. Elle effectue la recherche en mémoire de l'instruction. Comme chaque instruction est codée sous forme binaire, elle en assure le décodage pour enfin réaliser son exécution puis effectue la préparation de l'instruction suivante. Pour cela, elle est composée par : ¾ le compteur de programme (PC) constitué par un registre-compteur dont le contenu est initialisé avec l'adresse de la première instruction du programme. Il contient toujours l’adresse de l’instruction à exécuter. ¾le registre d'instruction et le décodeur d'instruction : chacune des instructions à exécuter est rangée 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 des divers signaux de commande provenant du décodeur d’instruction ou du registre d’état par exemple. Il s'agit d'un automate réalisé soit de façon câblée (RISC), soit de façon micro-programmée (CISC). ¾Registres auxiliaires ou registres généraux (Ri, An): Ce sont des registres de travail qui permettent un stockage temporaire de données.
¾Pointeur de Pile (PP) ou Stack Pointer (SP): C’est un registre compteur qui contient l’adresse du sommet de la pile. La pile est une certaine partie de la mémoire de données utilisée pour sauvegarder les contenus des différents registres, lors de l’appel à un sous-programme ou lors de la gestion d’une interruption, par exemple. I-4-2 L’unité de traitement C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions : L’Unité Arithmétique et Logique (UAL) est un circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, Décalage , etc…) ou arithmétique (Addition, soustraction). Le registre d'état 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. Dans un programme le résultat du test de leur état conditionne souvent le déroulement de la suite du programme.
Figure I.3: Hardware d’un microprocesseur
I-5 Structures des systèmes à microprocesseurs: 9Structure Von Neumann
9Structure Harvard
I.6 Les mémoires à semi-conducteur I.6.1 Principe de la mémoire: La mémoire contient le programme (sous forme d’instructions codées en binaire) et les données (informations utilisables au cours de l’exécution). On trouve la mémoire soit dans un CI soit dans une partie du microprocesseur. La mémoire est un ensemble de cellules de même taille (en général 8 bits). Chaque cellule est atteignable par une adresse unique qui lui est propre. À l’intérieur de chaque circuit mémoire un décodeur active le mot sélectionné, une logique de contrôle définit le sens des échanges. Cette adresse permet à tous les sous-systèmes du microsystème d’accéder à l’information qui y est stockée. n bits
Bus des données Mémoire
m bits
Bus des adresses
W
R
Figure I.4 : Structure de base d’une mémoire
CS
La mémoire est caractérisée par: 9Capacité de stockage: C’est le volume d’informations en bits ou mots qu’elle peut emmagasiner: CA =2m n bits 9 Temps d’accès: Il mesure le temps qui s’écoule entre l’application des commandes d’adressage et de lecture ou écriture, et l’apparition d’une information valable en sortie 9 Mode d’accès: Il est aléatoire ou séquentiel, il dépend de la technologie de la réalisation de la mémoire. I.6.2 Types mémoire: 1) Mémoires vives : RAM Elles sont souvent qualifiées de RAM (Random Access Memory), mais les mémoires mortes sont également à accès aléatoire, donc de type volatile. Elle nécessite une énergie pour stocker et garder les données. Il existe deux types de mémoires vives : statiques et dynamiques. 1.a) RAM Statique (SRAM) La réalisation interne est essentiellement faite par une matrice de bascules.
Cette réalisation est simple mais elle nécessite un décodeur interne, donc une surface de boitier importante. Elle a cependant un accès rapide. 1.b) RAM dynamique (DRAM) Les 1 et les 0 sont stockés comme une charge électrique dans un condensateur. Pour maintenir l’information il faut la réécrire régulièrement (rafraîchissement), car le condensateur se décharge dans les résistances de fuite. On peut utiliser des composants tels que des DRAM refresh controller, mais depuis l’utilisation de technologie VLSI, la plupart des DRAMs ont leur propre circuit de rafraîchissement. L’avantage des DRAMs par rapport aux SRAMs est que leur surface est environ quatre fois plus petite à capacité identique. 2) Mémoires mortes : ROM Elles sont réalisées en technologie MOS et bipolaire. Ces mémoire trouvent leur application dans la conversion de code, à génération de caractères pour l’affichage sous forme de matrice de points, le stockage de certains programmes système. Elle ne nécessite pas d’énergie pour conserver leur information. En général, seule la lecture est possible. Il en existe plusieurs types :
– ROM : (Read Only Memory) Elles sont programmées en usine et ne peuvent pas être reprogrammées. Le principe de réalisation de ces mémoires est le réseau de diodes. – PROM : (Programmable Read Only Memory) Programmables par l’utilisateur, elle ne peuvent pas être reprogrammées ; – EPROM : (Erasable Programmable Read Only Memory) Encore appelées UVPROM, elles sont programmables par l’utilisateur et effaçables par effet photoélectrique à l’aide d’UV par la fenêtre placée au-dessus du boîtier. Remarque : les EPROM sont programmable par octet, mais effaçables dans l’ensemble. – EEPROM : (Electricaly Erasable Programmable Read Only Memory) Elle peut être effacée électriquement et reprogrammée dans l’application par octet.
SRAM
DRAM
EPROM
– Flash EPROM : La mémoire flash est une mémoire à semi-conducteurs, non volatile et réinscriptible, qui fonctionne comme la combinaison d’une SRAM et d’un disque dur. La mémoire flash stocke les bits de données dans des cellules de mémoire, comme une DRAM, mais elle fonctionne comme un disque dur, dans la mesure où les données sont conservées en mémoire lorsque l’alimentation électrique est coupée. En raison de sa vitesse élevée, de sa durabilité et de sa faible consommation, la mémoire flash est idéale pour de nombreuses applications - comme les appareils photos numériques, les téléphones cellulaires, les imprimantes, les ordinateurs portables, les récepteurs d’ondes radio de poche et les dispositifs d’enregistrement sonore. Il existe deux genres de mémoire flash: EEPROM flash en mode série et EEPROM flash en mode parallèle.
Exemple de Flash EEPROM en mode série Les pattes E (E0, E1, E2) peuvent servir à donner une adresse propre à la mémoire si plusieurs sont connectées au bus. Le WC (Write Control) sert à interdire (5V) ou autoriser (0V), de manière physique, l’écriture sur l’EEPROM. Le SCL correspond à l’horloge de communication. Le SDA est la patte de communication. Elle est utilisée pour les données. Cette patte doit être câblée de manière particulière, en effet, il faut une résistance de pull-up (10Kohms pour 100KHz, 2Kohms pour 400KHz).
Exemple de Flash EEPROM en mode parallèle