Logique programmée
07/11/2000
 Patrick ABATI 
Liste des cours

microprocesseur

 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.

6800 6800

 Environnement simplifié d'un microprocesseur 

environnement

 

 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.

espace

 

 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.

mémoire

Le décodeur ci - dessus doit satisfaire à la table de vérité suivante :

Ligne n°
A1
A0
0
0
0
1
0
1
2
1
0
3
1
1

d'où le schéma du décodeur de la mémoire:

décodeur

     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 :

adressage

 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 

espace

 

 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.

organigramme

    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.

interruptions

organigramme

 

 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.

test

 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).

test

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é.

activation

 

Désactivation d'une sortie : ET logique bit par bit.

désactivation

  

 Microcontrôleur 
    68hc11

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)

architecture

Plus sur ce microcontrôleur...

QCM