Vous êtes sur la page 1sur 14

Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique

Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Chapitre I : Architecture d’un microprocesseur

I.1 Introduction aux systèmes à base d’un microprocesseur :


Un système à microprocesseur regroupe l'ensemble des équipements nécessaires
autour d'un microprocesseur μP (et le μP lui-même) pour obtenir un traitement de
l'information.
Un système à microprocesseur comprend en principe :
- Un microprocesseur, ou bien dit le CPU
- Une mémoire (ROM et RAM)
- Des ports d’entrées/sorties.
- Un décodeur d’adresse
- Une horloge

Ces modules sont interconnectés comme le montre la figure suivante autour de trois
bus : bus de données, bus d’adresses et bus de contrôles et commandes

Fig I.1 L’environnement d’un système à base d’un µP

Bus : Il s’agit de plusieurs pistes électroniques qui sont reliées au microprocesseur.


Ces bus assurent la communication interne et externe du microprocesseur.

Chapitre I : Architecture d’un microprocesseur 1


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

I.2 Architecture externe d’un microprocesseur :

Un microprocesseur se présente sous forme d’un circuit intégré muni d’un nombre
important de broches, comme le montre la figure ci-dessous :

Alimentation

n bits
Horloge Bus d’adresses

Reset
m bits
Microprocesseur
Bus de données

Signaux de commande
du microprocesseur
Bus de commande

Fig I.2 L’aspect extérieur d’un µP

I.2.1 Bus de données :


C’est un ensemble de fils bidirectionnels qui permet le transfert des données entre
les différents éléments du système, par ce bus sont transmises les données qui qui
doivent être traitées par le µP et également par ce bus sont transites les résultats
en sortie.

I.2.2 Bus d’adresse :


Il permet d’adresser un élément par le µP, il est unidirectionnel, il détermine la
capacité maximale d’adressage du système, c’est-à-dire le nombre maximum de mots
de la mémoire associée.

I.2.3 Bus de contrôle ou de commande :


C’est un bus qui permet de transporter les ordres et les signaux de synchronisation
(tels que l’horloge, les signaux R/W, … etc), en provenance de l’unité de commande
et à destination de l’ensemble des composants matériels, ce bus véhicule les
données qui valident la mémoire et les ports d’entrée/sortie. Le bus de commande
évite les conflits lorsque deux éléments cherchent à communiquer au même temps.
Chapitre I : Architecture d’un microprocesseur 2
Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

I.3 La ROM (Read Only Memory):


C’est une mémoire morte, elle range le programme d’initialisation du système.

I.4 La RAM (Random access Memory) :


C’est une mémoire vive (volatile), elle sert à ranger le programme d’utilisateur.

I.5 le décodage d’adresse :


Le décodage d’adresse permet de définir l’emplacement des différentes zones
mémoires dans l’espace adressable.
Chaque zone mémoire correspond à un élément matériel (RAM, ROM, circuit
d’interfaçage, …). Pour éviter d’activer simultanément plusieurs boitiers (risque de
conflit), le µP doit les sélectionner, et pour sélectionner un circuit il faut produire
les différents signaux de sélection (CS : chip select) des circuits communiquant
avec le µP.

I.6 Les interfaces d’entrée/sortie :


Les ports d’entrée/sortie permettent au µP de communiquer avec le monde
extérieur, le µP peut lire des données à partir d’une interface d’entrée (exemple : la
souris, le clavier, un bouton poussoir, …), de même il peut restituer les résultats de
son traitement au monde extérieur en adressant des interfaces de sortie
(exemple : les imprimantes, les écrans, .les afficheurs, …).

I.7 Architecture interne d’un microprocesseur :


Un µP est constitué des trois éléments principaux suivants :
- Les registres.
- UAL : Unité Arithmétique et Logique
- L’unité de commande

I.7.1 Les registres :

a- L’accumulateur : c’est un registre très important pour le µP, dans un premier


temps il contient l’opérande et dans un deuxième temps il contient le résultat de
l’opération, donc la plupart des opérations arithmétiques et logiques se font dans
l’accumulateur. Certains processeurs possèdent deux accumulateurs (le cas du µP
6809).

b- le compteur de programme (PC: program counter) : il s’appelle aussi le


compteur ordinal, il contient l’adresse de l’instruction suivante en mémoire qui doit

Chapitre I : Architecture d’un microprocesseur 3


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

être exécutée, c’est un registre qui s’incrémente automatiquement, c’est-à-dire qu’il


pointe toujours vers l’adresse de l’instruction qui suit l’instruction au cours
d’exécution.

c- Le registre d’instruction et le décodeur d’instruction :


Le registre d’instruction : il contient l’instruction en cours d’exécution
Le décodeur d’instruction : c’est lui qui interprète l’instruction contenue dans le
registre d’instruction, c’est-à-dire il va montrer au µP ce qu’il doit faire (quelle
opération doit être effectuée).

d- Le registre d’adresse :
Il contient l’adresse de l’instruction en cours d’exécution, il faut à chaque fois
connaitre l’adresse de la case mémoire concernée. Le µP peut utiliser un registre ou
une paire de registres pour accéder à un emplacement mémoire.

e- Le registre d’état :
Il permet d’indiquer l’état du programme, son rôle est de stocker les conditions
particulières des résultats, par exemple quand le résultat d’une opération est trop
grand pour être contenu dans le registre cible (celui qui doit contenir le résultat de
l’opération), un bit spécifique de registre d’état est mis à 1, pour indique qu’il y a un
débordement.

I.7.2 L’UAL :
L’unité arithmétique et logique est le cœur d’un µP, c’est un circuit universel capable
d’exécuter toutes les opérations arithmétiques et logiques ainsi que le décalage, la
remise à zéro, … etc.

I.7.3 L’unité de commande :


C’est une logique de commande qui regroupe le registre d’instruction, le décodeur
d’instruction et le séquenceur de commande, elle reçoit les instructions du registre
d’instruction, détermine ce qu’il faut faire et crée les commandes nécessaires à
l’exécution de la tâche, elle élabore les signaux de synchronisation et gère les
ordres échangés avec l’UAL, les entrées, les sorties et la mémoire. C’est-à-dire
c’est lui assure la recherche en mémoire, le décodage et l’exécution de l’instruction.

I.8 Nature des informations traitées par le µP :


Toutes les informations sont traitées sous forme binaire, il existe deux types
d’informations : Les mots adresses et Les mots adressés

Chapitre I : Architecture d’un microprocesseur 4


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Le mot adresse : c’est un numéro avec lequel on repère une case mémoire où est
stocké le mot adressé, il caractérise la capacité mémoire (à 32Ko, à 64Ko, à 1Mo, …)
Le mot adressé : Soit une donnée soit une instruction, c’est le mot avec lequel
travaille le µP, il caractérise la capacité de traitement du µP (à 8 bits, à 16 bits, …).

Généralement la longueur du mot adresse est différent de celle du mot adressé.

I.9 Nature de l’information fournie par le mot :


Soit un nombre numérique :
- Adresse : un numéro de case mémoire
- Donnée : un opérande ou résultat d’une opération
Soit une instruction :
Une instruction est l’opération élémentaire que le processeur peut accomplir, elle
peut être codée sur un ou plusieurs octets (généralement de 1 à 4 octets). Le
format d’une instruction est composé de deux champs comme suit :

Code opération Code opérande

- Le code opération : représente l’action que le processeur doit exécuter.


- Le code opération : porte l’adresse de l’opérande ou l’opérande lui-même.

Exemple : Additionner A case mémoire 1

L’opération L’opérande

Les instructions peuvent être classées en catégories dont les principales sont :
- Accès à la mémoire
- Transfert des données
- Opérations arithmétiques et logiques
- Contrôle et branchements

I.10 Fonctionnement d’un µP :

Supposant que l’adresse « a » de la première instruction se trouve dans le compteur


de programme (voir figure I.3).
Etape1 : Le µP envoie l’adresse « a » vers la mémoire.

Chapitre I : Architecture d’un microprocesseur 5


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Etape2 : La mémoire envoie l’instruction adressée vers le registre d’instruction, à


ce moment le compteur de programme s’incrémente à « a+1 ».
Les étapes 1 et 2 sont appelées « Recherche de l’instruction »
Etape3 : L’unité de commande va décoder et interprète l’instruction et donne les
signaux nécessaires à l’exécution de l’instruction.
L’étape 3 s’appelle « Exécution de l’instruction ».
La durée de l’étape 1 + la durée de l’étape 2 + la durée de l’étape 3 est appelée
« Cycle d’exécution »

a+3
a+2
a+1
a 1
2
La mémoire
Registre d’instruction a
Le compteur de programme
Décodeur d’instruction
L’unité de commande

Signaux de commande
3

Fig I.3 Etapes d’exécution d’une instruction

Exemple de calcul de la durée de cycle d’exécution :


Si on a une horloge qui fonctionne avec une fréquence de 5Mhz, alors la période T
est : T=1/f= 1/5Mhz= 0.2 µs.
Supposant que l’instruction s’exécute en 3 microcycles (périodes), alors :
La durée d’exécution= 3X0.2= 0.6 µs.

I.11 Organisation de la mémoire :


Une mémoire peut être vue comme un ensemble de cellules ou cases contenant
chacune une information (une instruction ou une donnée de 1 octet). Chaque case
mémoire est repérée par un numéro qui représente son adresse (Voir figure I.4).

Chapitre I : Architecture d’un microprocesseur 6


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Une case mémoire peut etre lue ou écrite par le microprocesseur (mémoire vive) ou
bien seulement lue (mémoire morte).

3F 0003h
A0 0002h
Adresses des cases
Le contenu des cases 86 0001h
15 0000h

1 octet=(mot de 8bits)

Fig I.4 Organisation de la mémoire

I.12 Puissance d’un microprocesseur :


La puissance d’un µP se caractérise par :
1- La longueur du mot donnée, qui caractérise la capacité de traitement du µP,
plus le mot donnée comporte de bits, plus le µP est puissant en traitement.
2- La longueur du mot adresse, qui caractérise la capacité mémoire, c’est le
nombre de mots que peut adresser un µP (l’espace adressable), par exemple si
la longueur du mot adresse égale 16, alors on a 216= 65536 cases mémoire.
3- La vitesse d’exécution, définie par le temps mis par le µP pendant le cycle
« extraction-Exécution », elle est liée à la fréquence d’horloge du µP, plus la
fréquence est élevée plus le µP est rapide.

I.13 Le microprocesseur 6809 :

I.13.1 Présentation :
Le µP 6809 de motorola (voir figure I.5) est un processeur à 8 bits (capacité de
traitement) il possède 16 lignes d’adresse c-à-d une capacité mémoire de 64 Ko.
Il comporte 8 registres : 2 accumulateurs A et B (A+B=D 16 bits), 2 registres
d’indexe X et Y, 2 registres pointeurs S et U, un pointeur de page DP et un registre
d’état CCR.

Chapitre I : Architecture d’un microprocesseur 7


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

- Il possède 3 bus : bus de données 8 bits, bus d’adresse 16 bits, et bus de


contrôle 10 bits.

Fig I.6 Aspect extérieur du µP 6809

- Il a un signal : =1 le 6809 fait une lecture, =0 le 6809 fait une


écriture.
- Les lignes d’état BA (Bus Available) et BS (Bus State) renseignent les
périphériques du µP sur la disponibilité des bus d’adresses et données dans le
cas DMA (accès directe à la mémoire).
BA BS Etat
0 0 Fonctionnement normal
0 1 Existence d’une interruption
1 0 Existence de l’instruction SYNC
1 1 Existence de l’instruction

- Les lignes d’interruption matérielles (servent à interrompre le déroulement


du programme):
- L’entrée (accès directe à la mémoire et rafraichissement mémoire)

Chapitre I : Architecture d’un microprocesseur 8


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

- Les entrées d’horloge : XTAL et EXTAL (connecter un quartz en parallèle


comme le montre la figure I.7 (a), ou bien injecter un signal TTL sur EXTAL
et 0v sur XTAL comme montre la figure I.7(b) ).

-a- -b-

Fig I.7 Les entrées d’horloge

- Les entrées E et Q (servent d’horloge pour les autres périphériques du µP).


- L’entrée MRDY (memory ready) : allonge le cycle de l’horloge E jusqu’à 10µs
pour un quart de cycle (utilisation : cas de mémoire à temps d’accès long).

I.13.2 Registres internes du 6809 :

Les registres de base du µP sont présentés par la figure I.7 suivante :

Les accumulateurs : A et B sont des registres de calcule de 8 bits, pratiquement


utilisé pour les opérations arithmétiques et logiques, la comparaison et le transfert
entre mémoire  accumulateur, accumulateur mémoire, registre accumulateur
et accumulateurregistre.
Le double accumulateur D à 16 bits est l’assemblage de A et B dont A : représente
le poids fort et B : le poids faible.
Les registres d’index X et Y : chacun possède 16 bits, ils peuvent être considérés
comme des registres d’usage général c-à-d pour le chargement la comparaison, le
stockage de résultats intermédiaires, l’incrémentation et la décrémentation. Et
particulièrement ils sont utilisés dans le mode d’adressage indexé.

Chapitre I : Architecture d’un microprocesseur 9


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Fig I.7 Registres programmables du µP 6809

Le compteur de programme PC (compteur ordinal) : ce registre comporte 16 bits


puisque l’adresse d’un mot mémoire est définie à l’aide de 16 bits, il contient
l’adresse de l’instruction suivante. Peut être utilisé comme registre d’index.

Les pointeurs de pile S et U: il existe dans le cas du 6809 deux zones de


mémoires situées n’importe où dans l’espace adressable qui fonctionnent selon le
principe d’une pile elles opèrent en mode LIFO (Last In First Out), elles sont
pointées par S et U chacun 16 bits.
Le registre S (system): est utilisé pour la sauvegarde des adresses de retour en cas
de saut à un sous-programme et la sauvegarde de contenu de certains registres
internes dans le cas d’interruption.
Le registre U (user) : est réservé à l’utilisateur qui a la possibilité de stocker
temporairement certains résultats quand les registres internes sont déjà tous
utilisés.

Chapitre I : Architecture d’un microprocesseur 10


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

Principe de la pile : soit un programme principal et un ensemble de sous


programmes suivants :

Programme Sous Sous


principal programme1 programme2

JSR JSR RTS


Appel à un sous
programme
ADR1 ADR2

RTS

JSR : Jump to Sub Routine (saut à un sous programme).


RTS : Return to Sub Routine (retour d’un sous programme).

Lors de l’appel du sous-programme 1 il est nécessaire de mémoriser la valeur de


l’adresse ADR1 qui est l’adresse de l’instruction suivant immédiatement l’appel du
sous-programme 1 dans le programme principal, puis lord de l’appel du sous-
programme 2 nous devons mémoriser ADR2.
Quand le µp rencontre l’instruction de retour du sous-programme 2, il faut que le
compteur ordinal (PC) vienne se charger avec la dernière adresse mémorisée ADR2,
lorsque le sous-programme 1 se termine le PC devra se charger avec ADR1. Donc la
dernière adresse mémorisée est la première sortie et la première adresse
mémorisée la dernière sortie (mode LIFO).
Etat de la pile après l’appel du sous-programme 2 :

La pile

ADR1 L S-1
ADR1 H S-2
ADR2 L S-3
ADR2 H S-4

Chapitre I : Architecture d’un microprocesseur 11


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

On remarque que les adresses sont chargées dans la pile à partir du haut. « S »
représente le contenu de la pile système à l’initialisation, si ce contenu est $00F9 à
l’initialisation, après la sauvegarde de ‘adresse 2, le contenu de S sera $00F5.
Lors de stockage d’une adresse de retour de sous-programme, les opérations
suivantes sont effectuées :
- Le pointeur de pile système est décrémenté.
- L’octet de poids faible de l’adresse de retour est chargé sur la pile.
- Le pointeur de pile système est à nouveau décrémenté.
- L’octet du poids fort de l’adresse de retour est chargé sur la pile.

Lors d’une instruction de retour de sous-programme l’opération inverse se produit :


le PC est chargé par l’octet de poids fort puis l’octet du poids faible de l’adresse de
retour. Le pointeur de pile est incrémenté de 2 (l’incrémentation se fait après le
chargement).

Le registre de condition CCR (condition code register) : ce registre est un peu


particulier. Il comporte 8 bits qui sont les suivants :

E F H I N Z V C

E = bit 7 = indicateur de sauvegarde totale des registres dans la pile système si E=1
(en anglais Entire Flag). Indicateur de sauvegarde partielle (interruption )
si E=0.

F = bit 6 = masque d’interruption rapide (F=1).

H = bit 5 = indicateur de demi retenue (en anglais Half Carry) entre le quartet
faible (les 4 octets du poids faible) et le quartet fort (les 4 octets du poids
fort) de A ou de B. Il intervient dans les opérations sur les chiffres codés en
BCD.
- L’instruction DAA utilise ce bit pour faire la correction, pour les autres
instructions ce bit est indéfini.
- Il n'y a pas d'instruction de branchement conditionnel qui test directement
ce bit.

I = bit 4 = masque l’interruption (I=1).

Chapitre I : Architecture d’un microprocesseur 12


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

N = bit 3 = indicateur de résultat négatif. Il est très utile lorsqu’on travaille avec
des nombres signés compris entre +127 et -128, il a donc une signification que
pour les nombres signés.
- Les chiffres compris entre $0 et $7F (ou $7FFF) sont des chiffres positifs
- Les chiffres compris entre $80 et $FF (ou $8000 ou $FFFF) sont des
chiffres négatifs.
- Les opérations arithmétiques et logiques, les opérations de chargement et de
stockage, positionnent ce bit.
- Si on a un dépassement de capacité dans une opération en utilisant le
complément à deux, ce bit est incorrect. Alors le signe est donné par
l'opération logique : (N ou V).

Z = bit 2 = indicateur de résultat zéro. Toutes les instructions positionnent ce bit.

V = bit 1 = indicateur de débordement (OverFlow),


- Dans le cas de nombres non signé (de 0 à 255), s'il y a dépassement de
capacité V=1
- S'il y a dépassement de capacité (dans le cas où le μp6809 manipule des
nombres signés de -128 à +127). Il est donc positionné si le résultat d'une
opération arithmétique en complément à 2 déborde.

Le V est le résultat d’un OU exclusif entre les retenues arithmétiques de b6 et


b7. C’est-à-dire soit il y a une retenue du bit 6 vers le bit 7 ceci sans retenue du
type Carry (bit C), ou bien il n’y a pas de retenue du bit 6 vers le bit 7, par contre
il y a une retenue Carry (bit C).

- Dans une opération arithmétique signée, si le résultat de deux nombres


positifs est négatif, le bit V=1 indique que le résultat est erroné.
- Les opérations d’addition de soustraction, de négation et de complémentation
affectent ce bit.
- L’opération de multiplication des nombres non signés, et les opérations de
décalage à droite n’affectent pas ce bit.

C = bit 0 = indicateur de retenue arithmétique (Carry). Il est positionné lors d'une


opération arithmétique uniquement (addition, soustraction, multiplication,
comparaison, négation, complément à 2, décalage à gauche ou à droite). Carry=1
lorsque résultat ADD> 255 (FF), ou bien résultat positif d’une SOUS, dans le

Chapitre I : Architecture d’un microprocesseur 13


Université Mohamed Elbachir ElIbrahimi BBA Spécialité : L3 Automatique
Département d’Electromécanique Module : Microprocesseurs et Microcontrôleurs

cas de MUL : Carry=bit7 de registre D.

Le registre DP (Direct Page): registre de page directe, ce dernier comporte 8


bits utilisé uniquement avec le mode d’adressage direct. Forme la partie haute de
l’adresse à pointer, après un RESET il est remis à zéro.

Chapitre I : Architecture d’un microprocesseur 14

Vous aimerez peut-être aussi