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 :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 :
Principaux types de circuits mémoires
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ROM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
Un microcontrôleur est un circuit intégré qui possède généralement, en plus de l'unité centrale, les éléments suivants :
Exemple d'architecture d'un microcontrôleur : MC 68HC711D3 (Motorola)
Plus sur ce microcontrôleur...