You are on page 1of 27

Introduction aux Microprocesseurs

Architecture interne dun systme microprocesseur


9 Le microprocesseur
9 La mmoire

Les entres/sortie
Les bus de communication
9 Le bus de donnes
9 Le bus dadresses
9 Le bus de contrle

Le microprocesseur 6809
9 Brochage du MC6809

Dcodage
D d
d adresses
des
d
9 Analyse dun dcodeur dadresses
9 Cartographie du systme Mod E6809
9 Prsentation de la cartographie

Architecture interne du microprocesseur 6809


9L
L'unit
unit arithmtique et logique
9 Les registres du 6809
1

I.1. Architecture interne dun systme microprocesseur

se compose essentiellement de trois blocs:


le microprocesseur, la mmoire et les
entres/sorties

relies entre elles par


trois bus

Bus de donnes (8 lignes)

Unit centrale de
traitement
microprocesseur

Mmoire

Entres/Sorties

Bus d'adresses

bus de communication; le bus de donnes,


le bus dadresses et le bus de commande

Bus de contrle

Figure 1-1 Architecture interne dun ordinateur

I.1. 1. Le microprocesseur
une unit centrale de
traitement de donnes CPU
Un microprocesseur est l'implantation en un
seul botier
botier, en technologie LSI ou VLSI
une unit arithmtique
et logique ALU
Son principal travail est de fournir aux autres lments, qui lui sont
raccords, la synchronisation ncessaire et fonctionnelle du
traitement des informations qui lui sont achemines.
achemines
I.1. 2. La mmoire
C'est la partie o l'on retrouve les programmes excutables et les donnes traiter.
Mmoire morte

C'est la mmoire de lecture

elle contient le programme


du systme

L'avantage de la ROM (Read Only Memory), cest d'tre permanente; son


contenu
t
ne disparat
di
t pas quandd le
l systme
t n'est
' t plus
l aliment
li
t
3

N.B.

La ROM contient toujours un programme de chargement initial ou un moniteur


pour permettre le fonctionnement du systme ds la mise sous tension.

Mmoire vive

C'est la mmoire de lecture et dcriture du systme ou RAM


(Random Access Memory).
N.B. Le contenu de ce type de mmoire est perdu lorsque l'on coupe l'alimentation.

N.B.

La mmoire vive (RAM) doit tre charge, avant utilisation, partir du clavier ou
partir dune mmoire de masse comme, par exemple, une unit ruban magntique
ou une unit disque.
I.2. Les entres/sorties
Les entres/sorties sont ncessaires pour que le microprocesseur communique avec le
monde extrieur

1.3. Les bus de communication


Cette communication est ralise ll'aide
aide de trois bus qui regroupent les signaux,
signaux
selon leur fonction.
I.3.1. Le bus de donnes
C'est un bus bidirectionnel (de 8 bits pour un 6809) sur lequel transitent
les donnes changes par les lments du systme.
I.3.2. Le bus dadresses
Il s'agit
' it d'
d'un bbus unidirectionnel
idi ti
l (de
(d 16 bits
bit pour un 6809
manant du microprocesseur et se propageant vers les dispositifs
qu'il
'il peutt adresser
d

R
Rq

L' d
L'adresse
qu'il
'il porte
t permett d'atteindre
d' tt i d une case mmoire
i ou un registre
it
spcifique avec laquelle une opration est dsire.

1.3.3. Le bus de contrle


C'est un groupe de lignes issues de ou allant vers le microprocesseur et reliant ce
dernier d'autres dispositifs.
Son rle est de vhiculer les signaux destins assurer la
synchronisation et la commande de l'ensemble du systme.

Exemple

la ligne Reset et R/W (lecture/criture), les lignes d'interruptions et


l'horloge
g appartiennent
pp
ce bus.

I.4. Le microprocesseur 6809


Le MC6809 est un microprocesseur 8 bits
ttrs
rapide
id ett dot
d t de
d caractristiques
t i ti
supportant
t t les
l techniques
t h i
de
d
programmation moderne telles que la position indpendante du code, la
r-entre et la programmation modulaire..

Diffrentes versions du MC6809 sont offertes, voici la dsignation du numro de code


MC 68 A 09 C P
Circuit intgr de Motorola
Famille M6800
Vitesse:
vide = 1Mhz
A = 1.5 Mhz
B = 2.0 Mhz
Dsignation de la pice
pour la famille M6800
Plage de temprature:
vide = 0 +70
C = -40 +85
Botier:
P = Plastique
L = Cramique

I.4.1. Brochage du MC6809

VSS
/NMI
/IRQ
/FIRQ
BS
BA
VCC
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

M
C
6
8
0
9

40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

/HALT
XTAL
EXTAL
/RESET
MRDY
Q
E
/DMA
R//W
D0
D1
D2
D3
D4
D5
D6
D7
A15
A14
A13

I.4.2. Alimentation
L microprocesseur
Le
i
6809 estt aliment
li
t par une tension
t i unique
i
de
d +5 volts,
lt
5% sur la broche VCC.
La broche VSS constitue la masse du botier ou 0 volt.
I.4.3. Xtal et Extal
Ce sont sur ces broches que le Crystal est install afin de dterminer
la vitesse d'opration

N.B.

Le quartz ou la frquence externe est quatre fois la frquence de travail


dsire.

Une horloge TTL peut tre branche la place du crystal sur la broche EXTAL; alors,
XTAL est reli la masse.
Rq. On retrouve, sur ces broches, une onde sinusodale la frquence du crystal
dont l'amplitude est denviron 2.5volts

I.4.4. E et Q
dbut du
cycle

E est le signal d'horloge du systme


ppour la synchronisation
y
avec les
priphriques
Le signal Q est un signal la mme
frquence mais dphas de +90 par
rapport au signal E du CPU
N.B.

fin du
cycle

0.5V

Q
adresse
valide

- Les adresses du CPU sont valides partir du front montant de Q.


- Les donnes sont mmorises sur un front descendant de E.

I.4.5. RESET
Un niveau bas sur cette entre entrane une rinitialisation complte du
microprocesseur

- L'instruction en cours est arrte.


- Le registre de page (DP) est mis zro.
- Les interruptions /IRQ et /FIRQ sont masques.
- L'interruption /NMI est dsarme.
Le vecteur RESET est l'adresse $FFFE.

N.B.

L'adresse constitu par le contenu des cases mmoires $FFFE et $FFFF est
charge dans le compteur de programme (PC)
le pprocesseur excute partir
p
de cette adresse.
Un simple rseau RC peut tre utilis pour initialiser l'ensemble du systme

Rq. L'entre /RESET possde un Schmitt trigger dont la tension de seuil est suprieure
celle des priphriques qui sont galement branchs sur le reset.
De cette faon, lorsque le MC6809 commence l'excution du programme, on est
assur que tous
t
les
l priphriques
i h i
ontt termin
t
i leur
l
phase
h
de
d mise
i sous tension.
t i
10

I 4 6 MRDY
I.4.6.
Cette entre de commande Memory Ready permet l'allongement du cycle
dhorloge E afin de ralentir le microprocesseur lorsquil tente de communiquer
avec des dispositifs plus lents.
Normalement, MRDY est branch +5 volts
volts. On peut allonger E par des multiples
N B Normalement
N.B.
de de cycle machine et sa valeur maximale est de 10 microsecondes.

I.4.7. Bus de donne D0 D7


p
et les autres botiers se fait ppar
La communication entre le microprocesseur
l'intermdiaire d'un bus de donne bidirectionnel de 8 bits.
N B Les lecteurs de bus du CPU sont en logique trois tats.
N.B.
tats

11

I.4.8. Bus dadresses A0 A15


L transfert
Le
t
f t des
d adresses
d
du
d microprocesseur
i
vers le
l bus
b dadresses
d d
du
d systme
t se fait
f it
par l'intermdiaire de 16 broches unidirectionnelles.

Rq 1.

Lorsque le microprocesseur excute un cycle de travail interne, toutes les lignes


dadresses sont un niveau haut; donc, ladresse ce moment est $FFFF.

Rq 2. La ligne R/W est positionne un niveau haut (lecture) et la ligne dtat BS est au
niveau 0 (fonctionnement normal).
I.4.9. R/W
Cette broche de sortie dtermine la direction du transfert sur le bus des donnes.
Si R/W= 1

Si R/W = 0

le microprocesseur est
en lecture
le processeur est en criture

D0 D7 sont en
entres.
D0 D7 sontt en
sorties.

Cette broche est haute impdance lorsque le microprocesseur libre les bus.
12

I.4.10. HALT
C tt entre
Cette
t permett d'interrompre
d'i t
le
l droulement
d l
t d'un
d' programme de
d faon
f
matrielle.
NB
N.B.

Le microprocesseur termine ll'instruction


instruction en cours puis positionne BA et BS un
niveau haut.
Tant que la ligne /HALT est 0, le processeur ne travaille pas
Il reprend
p
la suite du pprogramme
g
lorsque
q la ligne
g remonte 1. Aucun
registre n'est affect durant l'arrt.

Tant que le processeur est ll'arrt:


arrt:
- les horloges E et Q fonctionnent normalement;
interruptions /IRQ et /FIRQ sont inhibes;
- les demandes dd'interruptions
- les demandes d'interruptions prioritaires /RESET et /NMI
sont prises en compte mais leur traitement est retard.

13

I.4.11. DMA/BREQ
Q
DMA = Direct Memory Access , BREQ = Bus Request
P
Permet
t de
d suspendre
d l'utilisation
l' tili ti des
d bus
b par le
l CPU pour faire
f i un accs
direct
di t la
l
mmoire DMA.
NB
N.B.

Le passage l'tat bas de DMA/BREQ entrane l'arrt du programme la fin


de l'instruction en cours.

BA et BS passent un niveau 1 et indiquent la disponibilit des bus au circuit


demandeur.
R .
Rq

Aprs
p 16 cycles,
y
, le CPU reprend
p
les bus pour
p
un rafrachissement interne.
videmment, les lignes BA et BS nous informent de cet tat.

14

I.4.12. BA et BS
Ce sont des lignes de sorties qui indiquent l'tat du processeur.
BA ppour Bus Available et BS ppour Bus State.
Lorsque BA = 1, les lignes A0 A15, D0 D7 et R/W sont dans un tat de haute
impdance
impdance.
N.B. Les signaux BA et BS sont trs utiles pour les applications possdant un priphrique
p
de ggrer les bus dadresses et de donnes la pplace du microprocesseur
p
((un
capable
contrleur DMA, par exemple).
BA

BS

Fonctionnement du MPU

0
0

0
1

normal
reconnaissance d'interruption

reconnaissance de synchro externe

arrt ou bus accord

Les quatre combinaisons possibles des lignes BA et BS permettent de connatre


chaque instant, l'tat du microprocesseur. Ces indications sont valides sur le front
montant de Q.
15

BA BS = 0 0

BA BS = 0 1

BA BS = 1 0

BA BS = 1 1

Le microprocesseur
L
i
estt en fonctionnement
f ti
t normal.
l Il gre
les
l bus
b
dadresses et de donnes.
Le microprocesseur est en phase de reconnaissance dd'interruption
interruption
pendant deux cycles. Cet tat correspond la recherche du vecteur
d'interruption (/RESET, /FIRQ, /IRQ, SWI).
Ce signal est positionn lorsque le MPU rencontre l'instruction de
synchronisation externe (SYNC). Les bus sont en haute impdance
ppendant qqu'il attend cette synchronisation
y
sur une ligne
g d'interruption.
p
Cet tat correspond l'arrt du processeur pendant l'autorisation
venant du MC6809 de permettre un circuit externe de prendre le
contrle des bus du systme. Pendant ce temps, les lecteurs de bus du
MC6809 sont en haute impdance.

16

I.4.13. NMI, FIRQ, IRQ


- NMI = Non Masquable Interrupt
- FIRQ = Fast Interrupt Request
- IRQ = Interrupt Request
N.B.

Ce sont des entres qui permettent


d'interrompre
p le pprocesseur

Les interruptions ont des niveaux de priorits diffrentes.

L'interruption NMI est la plus prioritaire, suivie de FIRQ et, en dernier, IRQ.
NMI
FIRQ
IRQ

Interruption active
sur une descente
sur un niveau bas
sur un niveau bas

Particularit
non-masquable.
masquable. (F)
masquable. (I)

Les 2 masques (F) et (I) font


partie du registre de condition
CC
CC.

Lorsqu'une
Lorsqu
une interruption est demande et nn'est
est pas masque
masque, un programme dd'interruption
interruption
est excut.
Lorsque celui-ci est termin, le processeur retourne au programme interrompu pour
complter
lt son excution.
ti
17

I.5. Dcodage des adresses


Le dcodeur dadresses a pour
fonction de gnrer des signaux

NB
N.B.

Pour viter que deux botiers


rpondent
d t simultanment
i lt
t ett crent
t
alors un conflit sur les bus

la slection des diffrents botiers avec


lesquels le microprocesseur doit
communiquer.
chaque botier doit rpondre une
plage
l
dadresses
d d
diffrente
diff t des
d autres
t
botiers

Les portes
L
t logiques
l i
ett les
l dcodeurs/dmultiplexeurs
d d
/d lti l
sontt les
l
dispositifs utiliss pour raliser un dcodeur dadresses.

18

I.5.1. Analyse dun dcodeur dadresses

IC15A
A14
A15

6809
E

2
3

A
B

IC13C
9

10

Y0
Y1
Y2
Y3

4
5
6
7

titre ddexemple
exemple, prenons le premier
dcodeur dadresses du systme
microprocesseur Mod. E6809.

74LS139
7400

Seules quelques lignes du microprocesseur


sont branches sur le dcodeur 74LS139 et
que celui-ci est valid par la broche E du
6809.

Il faut donc un niveau 1 sur


lhorloge E pour permettre au
dcodeur de travailler.

les lignes dadresses A15 et A14 qui dcident quelle sortie


du 74LS139 sera active.

19

Pour tablir la plage dadresses qui permet


dactiver un signal de slection choisi

on dispose, en ordre, les lignes


d d
dadresses
en plaant
l
t A15 gauche
h ett
A0 droite

On place, dans le tableau, les niveaux logiques


ncessaires pour que la sortie soit active.
Exemple: Lexemple suivant montre quelle plage dadresses active la sortie /Y2.
g
On pplace un X ppour toutes les lignes
dadresses non utilises.
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
1
0
X X X X X X X X X X X X X X
Ces 2 bits dcident la
sortie
ti active
ti du
d 74139

20

I.6. Architecture interne du microprocesseur 6809


Le microprocesseur
L
i
estt compos de
d plusieurs
l i
registres
i t ett d'une
d'
unit
it
arithmtique et logique communment appele ALU Arithmetic Logic Unit.
DO-D7

A0-A15

16
6

vcc
vss

Registre
d'instruction

PC
/RESET
/NMI

U
Contrle des
interruptions

S
Y

Contrle
des Bus

X
D
DP

A
B
CC

Horloge

/FIRQ
/IRQ
/DMA
R/W
/HALT
BA
BS
XTAL
EXTAL
MRDY
E
Q

ALU

21

I.6.1. L'unit arithmtique et logique


et, ou, inversion, ou
exclusif

L'unit arithmtique et logique (ALU) est


utilise pour les oprations logiques et
arithmtiques:

addition, soustraction,
complment deux et
multiplication
p

L'ALU peut galement effectuer des dcalages droite ou gauche


I.6.2. Les registres du 6809
X - Registre d'index
Y - Registre d
d'index
index
U - Pointeur de pile de l'utilisateur

Registres pointeurs

S - Pointeur de pile du systme


PC - Compteur de programme
A - Accumulateur

B - Accumulateur

Compteur de programme
Accumulateurs

D
DP
E F H I N Z V C

Registre de page direct


CC - Registre de condition

22

Les registres d'index X et Y


Les registres d'index sont employs avec le mode dadressage index.
Ils servent gnralement au traitement d'un bloc
mmoire et sont utiliss pour pointer les donnes en
mmoire.
Exple: On peut, effacer un bloc mmoire ou dplacer le contenu d'une rgion
mmoire.
Rq:

Le 6809 possde deux registres dindex de 16 bits nomms X et Y.

Les pointeurs de piles U et S


Ce sont des registres de 16 bits qui servent pointer l'adresse des donnes
temporaires dans une rgion mmoire appele pile
pile.

23

Le 6809 possde deux


pointeurs de piles

NB
N.B.

le registre S est le pointeur de pile


du systme
le registre U, est le pointeur de pile de
l'utilisateur.

Le pointeur de pile S est automatiquement utilis pendant les appels de


sous-routines ou les interruptions alors que le pointeur U est contrl
exclusivement par le programmeur.

Le compteur de programme ou PC
Ce registre de 16 bits agit comme un compteur binaire seize (16) bits avec une valeur
de dpart programmable.

Le rle de ce registre est exclusivement de signaler


au microprocesseur quel endroit se situe la
prochaine instruction excuter

24

Rq

On spcifie la valeur de dpart de PC par l'intermdiaire d'une commande.


L'utilisateur peut aussi, l'intrieur de son programme, changer le
contenu du PC par une instruction de branchement.
De faon automatique, le PC s'incrmente de 1 aprs que le CPU ait reu la
donne de manire pointer la prochaine instruction.

Les accumulateurs
L MC6809 possde
Le
d 2 accumulateurs
l t
:
l'accumulateur A et l'accumulateur B

Ce sont des registres de 8 bits servant


t it des
traiter
d donnes
d

Toutes les oprations arithmtiques ou logiques se font par l'intermdiaire des


accumulateurs et de l'ALU
N.B.

Le MC6809 a la particularit de pouvoir combiner les deux accumulateurs A et B


pour en former un seul de seize bits, appel accumulateur D
25

Lorsque les accumulateurs A et B sont jumels pour obtenir l'accumulateur D, les 8


bits les plus significatifs proviennent de l'accumulateur A tandis que les 8 bits les
moins significatifs, de l'accumulateur B.

R
Rq

Le registre de page direct


Supposons que la plage mmoire de 64K octets est rpartie en 256 pages de 256
octets,
t t ce quii fait
f it un total
t t l de
d 64K.
64K
Le registre de page permet d'indiquer quelle page
pparmi les 256 ppages
g est accessible
N.B.

Rq

Ce registre peut tre modifi avec une valeur dsire

Il est implicitement utilis lorsque le CPU excute une instruction dans le mode
d'adressage
g direct.
Ce registre est automatiquement remis zro lors dune ractivation matrielle
reset.

26

Le registre de condition
Ce registre permet de connatre les rsultats d'une opration effectue par l'ALU

Exple

Le bit Z, mis 1, indique que le rsultat donne zro; le bit N, mis 1, indique que
le rsultat est un nombre ngatif, etc.

N.B.

Les bits de ce registre sont mis jour aprs l'excution de certaines instructions.

Rq

Le registre de condition est utilis pour prendre des dcisions et de raliser des
sauts
t conditionnels
diti
l dans
d
un programme.
76543210

Position des bits

EFHINZVC

Nom des drapeaux


Carry = bit de report
oVerflow = bit de dpassement
Zero = bit indiquant un rsultat de 0
Negatif = rsultat < 0
Irq = masque de l'interruption IRQ
Half carry = bit de demi report
Firq = masque d'interruption FIRQ
Entire flag = indicateur d'empilement
27

You might also like