Table des matières Microprocesseur..................................................................................................... 2 Environnement simplifié d'un microprocesseur...........................................................2 Espace adressable..................................................................................................2 Circuits mémoires...................................................................................................3 Principaux types de circuits mémoires.......................................................................4 Adressage et sélection............................................................................................4 Programme principal et sous - programme................................................................5 Interruptions......................................................................................................... 6 Techniques de base de gestion des entrées / sorties parallèles.....................................7 Microcontrôleur...................................................................................................... 8 Microprocesseur Un microprocesseur est un circuit logique capable d'exécuter de façon séquentielle, un certain nombre d'instructions (programme) contenues dans une mémoire permanente, programmée pour les besoins d'une application. Il doit aussi disposer d'une mémoire à lecture et écriture (généralement volatile) pour stocker temporairement des données. Il est en relation avec l'extérieur par l'intermédiaire de circuits d'interfaces Environnement simplifié d'un microprocesseur Espace adressable C'est l'ensemble des lignes d'adresses que peut définir le microprocesseur Par exemple l'espace adressable d'un microprocesseur comportant 16 fils d'adresses est de 216 = 65 536 lignes Circuits mémoires Ce sont des circuits intégrés destinés à conserver de façon temporaire ou définitive des informations logiques. Une mémoire est organisée comme un tableau de L lignes et C colonnes. Sur chaque ligne C données peuvent être mémorisée. Ces données se présentent sur les broches externes en fonction de la ligne sélectionnée. Pour diminuer le nombre de broches externes permettant l'accès à chacune des lignes (adressage), la mémoire dispose d'un décodeur. Les mémoires volatiles disposent d'une broche lecture / écriture qui fixe le sens de transfert des données Exemple : mémoire à lecture et écriture de 4 lignes et 8 données par ligne Le décodeur ci - dessus doit satisfaire à la table de vérité suivante : Ligne n° A1 A0 000 101 210 311 d'où le schéma du décodeur de la mémoire : La capacité d'une mémoire s'exprime en K octets (1 K octet = 1024 octets) ou en K bits (1 K bit = 1024 bits). Par exemple, un circuit mémoire comprenant 11 fils d'adresses et 8 fils de données a une capacité de : • 211 = 2048 octets = 2 K octets • 2048 x 8 = 16384 bits = 16 K bits Principaux types de circuits mémoires • RAM : mémoire vive (volatile) • SRAM : mémoire vive statique • DRAM : mémoire vive dynamique • ROM : mémoire morte (non volatile) • MROM : mémoire morte programmable par masque • PROM : mémoire morte programmable électriquement • EPROM : mémoire morte programmable électriquement et effaçable (U.V.) • EEPROM :mémoire morte programmable et effaçable électriquement Adressage et sélection Chaque circuit périphérique au microprocesseur possède au moins une entrée de sélection qui doit être utilisée pour réaliser l'adressage du composant Exemple : Tableau d'adressage A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Adresses Circuit 1 X X X 0 0 0 0 0 0 0 0 0 0 0 0 $8000 ROM 1 X X X 1 1 1 1 1 1 1 1 1 1 1 1 $FFFF 0 1 X X 0 0 0 0 0 0 0 0 0 0 0 0 $4000 RAM 0 1 X X 1 1 1 1 1 1 1 1 1 1 1 1 $7FFF 0 0 X X X X X X X X X X X X 0 0 $0000 Interface 0 0 X X X X X X X X X X X X 1 1 $3FFF X indique que le fil d'adresse correspondant n'est pas pris en compte par le circuit : son état lui est donc indifférent : il peut être 0 ou 1 La ROM est sélectionnée par A15=1, la RAM par A15=0 et A14=1, le circuit d'interface par A15=0 et A14=0 Espace adressable Programme principal et sous - programme Le programme principal contient l'ensemble des instructions que le microprocesseur doit effectuer de façon séquentielle. Il peut lui - même contenir des sous - programmes. Les sous - programmes sont des blocs autonomes qui permettent une programmation, dite " programmation structurée ". Ce type de programmation facilite la mise au point du programme, dans la mesure ou chaque bloc peut être élaboré et testé de façon séparée. La taille du programme est réduite dans la mesure où un même bloc peut être utilisé plusieurs fois L'adresse de retour au programme principal est mémorisée dans la pile La pile est une partie de la mémoire vive, gérée par le " pointeur de pile ", qui contient des informations nécessaires au microprocesseur pour traiter les sous - programmes et les programmes d'interruptions Un sous - programme peut lui - même appeler un autre sous - programme Le sous - programme se nomme PROCEDURE en langage PASCAL , SUB en langage BASIC. En langage ASSEMBLEUR, l'accès au sous - programme se fait par CALL ou JSR Interruptions Un microprocesseur peut recevoir un signal d'un circuit périphérique, lui demandant une interruption du programme principal (généralement une mise en attente) pour accomplir une autre tâche considérée comme prioritaire. Le signal étant aléatoire dans le temps, le microprocesseur doit mémoriser dans la pile, outre l'adresse de retour au programme principal, les états des différents registres Techniques de base de gestion des entrées / sorties parallèles Test d'une seule entrée : la technique consiste à effectuer un " masquage " (ET logique bit par bit) du registre d'entrée (pour neutraliser l'état des autres entrées), puis à vérifier si le résultat obtenu est nul Le résultat est donc différent de zéro si l'entrée x est activée Test de plusieurs entrées : le masquage est suivi d'une comparaison (soustraction) Le résultat est nul si les entrées x et y sont activées simultanément Activation d'une sortie : la technique consiste à effectuer un OU logique bit par bit avec le contenu du registre de sortie et à mettre le résultat obtenu dans le registre de sortie. L'état des autres sorties n'est pas modifié Désactivation d'une sortie : ET logique bit par bit Microcontrôleur Un microcontrôleur est un circuit intégré qui possède généralement, en plus de l'unité centrale, les éléments suivants : • une mémoire morte programmable • une mémoire volatile • des ports d'entrées et de sorties parallèles • des ports de communication série • des temporisateurs Exemple d'architecture d'un microcontrôleur : MC 68HC711D3 (Motorola)