1. Utiliser un Système à Microprocesseur

publicité
Royaume du Maroc
OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL
MODULE 11
Introduction aux Microprocesseurs
Résumé de Théorie
Télécharger tous les modules de toutes les filières de l'OFPPT sur le site dédié à la formation professionnelle au Maroc :
www.marocetude.com
Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA
Première Année
Programme de Formation des Techniciens Spécialisés en
Électronique
DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION
Septembre 1995
INTRODUCTION AUX MICROPROCESSEURS
RÉSUMÉ DE THÉORIE
Utiliser un Système à Microprocesseur.
TECCART INTERNATIONAL 2000 inc.
3155, boul. Hochelaga,
Montréal, Québec (Canada)
H1W 1G4
RÉDACTION
Serge Leblanc.
DESSINS ET CONCEPTION GRAPHIQUE
Serge Leblanc
RÉVISION TECHNIQUE
Pierre Asselin B.Sc. & Christian Lépine
RÉVISION LINGUISTIQUE
François Gaudreau
COMMISSION DE VALIDATION
Formateurs de l'OFPPT
Les droits de reproduction et de diffusion de ce document sont cédés par Teccart
International 2000 inc. à l’Office de la Formation Professionnelle et de la Promotion
du Travail du Royaume du Maroc, pour sa propre utilisation au Maroc.
Mis à part l’OFPPT, toute reproduction, en tout ou en partie, par quelque procédé
que ce soit, est interdite.
Mp_Rt1.Doc, imprimé à Montréal, le 26 mai 2017
TABLE DES MATIÈRES
1. UTILISER UN SYSTEME A MICROPROCESSEUR
1-1
1.1 Architecture interne d’un système à microprocesseur
1.1.1 Le microprocesseur
1.1.2 La mémoire
1-1
1-1
1-1
1.2 Les entrées/sorties
1-2
1.3 Les bus de communication
1.3.1 Le bus de données
1.3.2 Le bus d’adresses
1.3.3 Le bus de contrôle
1-2
1-2
1-2
1-2
1.4 Le microprocesseur 6809
1.4.1 Brochage du MC6809
1.4.2 Alimentation
1.4.3 Xtal et Extal
1.4.4 E et Q
1.4.5 RESET
1.4.6 MRDY
1.4.7 Bus de donnée D0 à D7
1.4.8 Bus d’adresses A0 à A15
1.4.9 R/W
1.4.10 /HALT
1.4.11 DMA/BREQ
1.4.12 BA et BS
1.4.13 NMI, FIRQ, IRQ
1-3
1-3
1-4
1-4
1-4
1-4
1-5
1-5
1-5
1-5
1-5
1-6
1-6
1-7
1.5 Décodage des adresses
1.5.1 Analyse d’un décodeur d’adresses
1.5.2 Cartographie du système Mod. E6809
1.5.3 Présentation de la cartographie
1-7
1-7
1-8
1-9
1.6 Architecture interne du microprocesseur 6809
1.6.1 L'unité arithmétique et logique
1.6.2 Les registres du 6809
1-10
1-11
1-11
1.7 Exercices
1-13
Résumé de Théorie
Introduction aux Microprocesseurs
1. Utiliser un Système à Microprocesseur
1.1 Architecture interne d’un système à microprocesseur
L'architecture interne d'un ordinateur se compose essentiellement de trois blocs: le
microprocesseur, la mémoire et les entrées/sorties reliées entre elles par trois bus de
communication; le bus de données, le bus d’adresses et le bus de commande.
Bus de données (8 lignes)
Unité centrale de
traitement
microprocesseur
Mémoire
Entrées/Sorties
Bus d'adresses
Bus de contrôle
Figure 1-1 Architecture interne d’un ordinateur
1.1.1 Le microprocesseur
Un microprocesseur est l'implantation en un seul boîtier, en technologie LSI ou VLSI,
d'une unité centrale de traitement de données CPU et d’une unité arithmétique et logique
ALU. Son principal travail est de fournir aux autres éléments, qui lui sont raccordés, la
synchronisation nécessaire et fonctionnelle du traitement des informations qui lui sont
acheminées.
1.1.2 La mémoire
C'est la partie où l'on retrouve les programmes exécutables et les données à traiter. Cette
section est subdivisée en deux; d'une part, il y a la mémoire latente et d'autre part, la
mémoire vive.
Mémoire morte
C'est la mémoire de lecture; elle contient le programme du système. L'avantage de la
ROM (Read Only Memory), c’est d'être permanente; son contenu ne disparaît pas quand
le système n'est plus alimenté. La ROM contient toujours un programme de chargement
initial ou un moniteur pour permettre le fonctionnement du système dès la mise sous
tension. Dans un contexte de contrôle de processus, presque tous les programmes
résideront en ROM car ils seront rarement changés et devront être protégés des pannes
d'alimentation.
Système à Microprocesseur
page 1-1
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
Mémoire vive
C'est la mémoire de lecture et d’écriture du système ou RAM (Random Access Memory).
Le contenu de ce type de mémoire est perdu lorsque l'on coupe l'alimentation. La
mémoire vive (RAM) doit être chargée, avant utilisation, à partir du clavier ou à partir
d’une mémoire de masse comme, par exemple, une unité à ruban magnétique ou une
unité à disque.
1.2 Les entrées/sorties
Les entrées/sorties sont nécessaires pour que le microprocesseur communique avec le
monde extérieur et, évidemment, avec l'utilisateur. Il serait tout à fait inutile de réaliser un
ordinateur sans qu'il y ait quelques entrées et quelques sorties afin de communiquer avec
l'extérieur.
1.3 Les bus de communication
Évidemment, pour que le système fonctionne, il doit y avoir une communication entre le
microprocesseur, la mémoire et les entrées/sorties. Cette communication est réalisée à
l'aide de trois bus qui regroupent les signaux, selon leur fonction.
1.3.1 Le bus de données
C'est un bus bidirectionnel (de 8 bits pour un 6809) sur lequel transitent les données
échangées par les éléments du système.
1.3.2 Le bus d’adresses
Il s'agit d'un bus unidirectionnel (de 16 bits pour un 6809), émanant du microprocesseur
et se propageant vers les dispositifs qu'il peut adresser. L'adresse qu'il porte permet
d'atteindre une case mémoire ou un registre spécifique avec laquelle une opération est
désirée.
1.3.3 Le bus de contrôle
C'est un groupe de lignes issues de ou allant vers le microprocesseur et reliant ce dernier à
d'autres dispositifs. Son rôle est de véhiculer les signaux destinés à assurer la
synchronisation et la commande de l'ensemble du système. Par exemple, la ligne Reset et
R/W (lecture/écriture), les lignes d'interruptions et l'horloge appartiennent à ce bus.
Système à Microprocesseur
page 1-2
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.4 Le microprocesseur 6809
Le MC6809 est un microprocesseur à 8 bits très rapide et doté de caractéristiques
supportant les techniques de programmation moderne telles que la position indépendante
du code, la ré-entrée et la programmation modulaire. Différentes versions du MC6809
sont offertent, voici la désignation du numéro de code.
MC 68 A 09 C P
Circuit intégré de Motorola
Famille M6800
Vitesse:
vide = 1Mhz
A = 1.5 Mhz
B = 2.0 Mhz
Désignation de la pièce
pour la famille M6800
Plage de température:
vide = 0° à +70°
C = -40° à +85°
Boîtier:
P = Plastique
L = Céramique
1.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
Figure 1-2
Système à Microprocesseur
page 1-3
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.4.2 Alimentation
Le microprocesseur 6809 est alimenté par une tension unique de +5 volts, ±5 % sur la
broche VCC. La broche VSS constitue la masse du boîtier ou 0 volt.
1.4.3 Xtal et Extal
Ce sont sur ces broches que le crystal est installé afin de déterminer la vitesse d'opération.
Le quartz ou la fréquence externe est quatre fois la fréquence de travail désirée. En
fonction, on retrouve, sur ces broches, une onde sinusoïdale à la fréquence du crystal
dont l'amplitude est d’environ 2.5volts. Une horloge TTL peut être branchée à la place du
crystal sur la broche EXTAL; alors, XTAL est relié à la masse.
1.4.4 E et Q
début du
cycle
E
fin du
cycle
0.5V
Q
adresse
valide
Figure 1-3
E est le signal d'horloge du système pour la synchronisation avec les périphériques. Le
signal Q est un signal à la même fréquence mais déphasé de +90° par rapport au signal E
du CPU. Les adresses du CPU sont validées à partir du front montant de Q. Les données
sont mémorisées sur un front descendant de E.
1.4.5 RESET
Un niveau bas sur cette entrée entraîne une réinitialisation complète du microprocesseur.
- L'instruction en cours est arrêtée.
- Le registre de page (DP) est mis à zéro.
- Les interruptions /IRQ et /FIRQ sont masquées.
- L'interruption /NMI est désarmée.
Le vecteur RESET est à l'adresse $FFFE. L'adresse constitué par le contenu des cases
mémoires $FFFE et $FFFF est chargée dans le compteur de programme (PC) puis le
processeur exécute à partir de cette adresse.
Un simple réseau RC peut être utilisé pour initialiser l'ensemble du système puisque
l'entrée /RESET possède un Schmitt trigger dont la tension de seuil est supérieure à celle
des périphériques qui sont également branchés sur le reset. De cette façon, lorsque le
MC6809 commence l'exécution du programme, on est assuré que tous les périphériques
ont terminé leur phase de mise sous tension.
Système à Microprocesseur
page 1-4
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.4.6 MRDY
Cette entrée de commande Memory Ready permet l'allongement du cycle d’horloge E
afin de ralentir le microprocesseur lorsqu’il tente de communiquer avec des dispositifs
plus lents. Normalement, MRDY est branché à +5 volts. On peut allonger E par des
multiples de ¼ de cycle machine et sa valeur maximale est de 10 microsecondes.
1.4.7 Bus de donnée D0 à D7
La communication entre le microprocesseur et les autres boîtiers se fait par l'intermédiaire
d'un bus de donnée bidirectionnel de 8 bits. Les lecteurs de bus du CPU sont en logique
trois états. Chaque broche peut piloter une charge TTL ou 4 charges TTL-LS ce qui
représente la charge statique maximum. La charge dynamique permise par broche est de
130 pF.
1.4.8 Bus d’adresses A0 à A15
Le transfert des adresses du microprocesseur vers le bus d’adresses du système se fait par
l'intermédiaire de 16 broches unidirectionnelles. Lorsque le microprocesseur exécute un
cycle de travail interne, toutes les lignes d’adresses sont à un niveau haut; donc, l’adresse
à ce moment est $FFFF. De plus, la ligne R/W est positionnée à un niveau haut (lecture)
et la ligne d’état BS est au niveau 0 (fonctionnement normal). Les lecteurs de bus sont en
logique trois états. Chaque broche peut piloter une charge TTL ou 4 charges TTL-LS
représentant la charge statique maximum. La charge dynamique permise par broche est de
90 pF.
1.4.9 R/W
Cette broche de sortie détermine la direction du transfert sur le bus des données. Si R/W
= 1, le microprocesseur est en lecture; D0 à D7 sont en entrées. Si R/W = 0, le processeur
est en écriture; D0 à D7 sont en sorties. Cette broche est à haute impédance lorsque le
microprocesseur libère les bus.
1.4.10 /HALT
Cette entrée permet d'interrompre le déroulement d'un programme de façon matérielle. Le
microprocesseur termine l'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 la suite du
programme lorsque la ligne remonte à 1. Aucun registre n'est affecté durant l'arrêt.
Tant que le processeur est à l'arrêt:
- les horloges E et Q fonctionnent normalement;
- les demandes d'interruptions /IRQ et /FIRQ sont inhibées;
- les demandes d'interruptions prioritaires /RESET et /NMI
sont prises en compte mais leur traitement est retardé.
Système à Microprocesseur
page 1-5
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.4.11 DMA/BREQ
DMA = Direct Memory Access , BREQ = Bus Request
Cette entrée permet de suspendre l'utilisation des bus par le CPU pour faire un accès
direct à la mémoire DMA. Le passage à l'état bas de DMA/BREQ entraîne l'arrêt 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. Après 16 cycles, le CPU reprend les bus
pour un rafraîchissement interne. Évidemment, les lignes BA et BS nous informent de cet
état.
1.4.12 BA et BS
Ce sont des lignes de sorties qui indiquent l'état du processeur. BA pour Bus Available et
BS pour Bus State. Lorsque BA = 1, les lignes A0 à A15, D0 à D7 et R/W sont dans un
état de haute impédance. Les signaux BA et BS sont très utiles pour les applications
possédant un périphérique capable de gérer les bus d’adresses et de données à la place du
microprocesseur (un contrôleur DMA, par exemple). Les quatre combinaisons possibles
des lignes BA et BS permettent de connaître à chaque instant, l'état du microprocesseur.
Ces indications sont validées sur le front montant de Q.
BA
0
0
1
1

BA BS = 00

BA BS = 01

BA BS = 10

BA BS = 11
Système à Microprocesseur
BS
0
1
0
1
Fonctionnement du MPU
normal
reconnaissance d'interruption
reconnaissance de synchro externe
arrêt ou bus accordé
Le microprocesseur est en fonctionnement normal. Il gère les bus
d’adresses et de données.
Le microprocesseur est en phase de reconnaissance d'interruption
pendant deux cycles. Cet état correspond à la recherche matérielle
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 impédance
pendant qu'il attend cette synchronisation sur une ligne
d'interruption.
Cet état correspond à l'arrêt du processeur pendant l'autorisation
venant du MC6809 de permettre à un circuit externe de prendre le
contrôle des bus du système. Pendant ce temps, les lecteurs de bus
du MC6809 sont en haute impédance.
page 1-6
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.4.13 NMI, FIRQ, IRQ
- /NMI = Non Masquable Interrupt
- /FIRQ = Fast Interrupt Request
- /IRQ = Interrupt Request
Ce sont des entrées qui permettent d'interrompre le processeur. Les interruptions ont des
niveaux de priorités différentes. L'interruption NMI est la plus prioritaire, suivie de FIRQ
et, en dernier, IRQ. Les 2 masques (F) et (I) font partie du registre de condition CC.
Interruption active
sur une descente
sur un niveau bas
sur un niveau bas
NMI
FIRQ
IRQ
Particularité
non-masquable.
masquable. (F)
masquable. (I)
Lorsqu'une interruption est demandée et n'est pas masquée, un programme d'interruption
est exécuté. Lorsque celui-ci est terminé, le processeur retourne au programme
interrompu pour compléter son exécution.
1.5 Décodage des adresses
Le décodeur d’adresses a pour fonction de générer des signaux pour la sélection des
différents boîtiers avec lesquels le microprocesseur doit communiquer. Pour éviter que
deux boîtiers répondent simultanément et créent alors un conflit sur les bus, chaque
boîtier doit répondre à une plage d’adresses différente des autres boîtiers. Les portes
logiques et les décodeurs/démultiplexeurs sont les dispositifs utilisés pour réaliser un
décodeur d’adresses.
1.5.1 Analyse d’un décodeur d’adresses
IC15A
A14
A15
6809
E
2
3
A
B
1
G
IC13C
9
8
10
Y0
Y1
Y2
Y3
4
5
6
7
74LS139
7400
Figure 1-4
Système à Microprocesseur
page 1-7
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
À titre d’exemple, prenons le premier décodeur d’adresses du système à microprocesseur
Mod. E6809. On peut remarquer que seules quelques lignes du microprocesseur sont
branchées sur le décodeur 74LS139 et que celui-ci est validé par la broche E du 6809. Il
faut donc un niveau 1 sur l’horloge E pour permettre au décodeur de travailler.
De plus, ce sont les lignes d’adresses A15 et A14 qui décident quelle sortie du 74LS139
sera active. Pour établir la plage d’adresses qui permet d’activer un signal de sélection
choisi, on dispose, en ordre, les lignes d’adresses en plaçant A15 à gauche et A0 à droite.
On place, dans le tableau, les niveaux logiques nécessaires pour que la sortie soit active.
L’exemple suivant montre quelle plage d’adresses active la sortie /Y2.
On place un X pour toutes les lignes d’adresses non utilisées. La sortie active ne peut pas
être influencée par le niveau de ces lignes. L’adresse minimale est obtenue en supposant
que tous les X sont à un niveau 0; cela correspond donc à l’adresse hexadécimale $8000.
Pour l’adresse maximale, les X représentent des niveaux 1; l’adresse obtenue est $BFFF.
La plage d’adresses correspondante au signal /Y2 est donc $8000 à $BFFF.
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 décident la
sortie active du 74139
1.5.2 Cartographie du système Mod. E6809
IC16A
IC15A
A14
A15
IC13C
2
3
9
8
E
1
10
A
B
Y0
Y1
Y2
Y3
G
2
3
A12
A13
4
5
6
7
A
B
1
Y0
Y1
Y2
Y3
G
4
5
6
7
74139
74139
7400
IC15B
A12
A13
14
13
15
A
B
IC16B
Y0
Y1
Y2
Y3
G
12
11
10
9
KEYB
DISPL
UEPROM
SEPROM
14
13
A10
A11
A
B
15
Y0
Y1
Y2
Y3
G
74139
12
11
10
9
SER
PAR
D/A
A/D
74139
IC4D
A11
9
8
IC14B
IC14C
4
RAM1 6
9
7404
5
7432
8
RAM2
10
7432
Figure 1-5 Section décodeur d’adresses du système Mod. E6809.
Serge Leb
Title
E:\OR
Système à Microprocesseur
page 1-8
Size
Document Number
OFPPT/TECCART
A
Date:
May 8, 1995
Résumé de Théorie
Introduction aux Microprocesseurs
1.5.3 Présentation de la cartographie
A15 A14 A13 A12 A11 A10 A9 A8
A7 A6 A5 A4
A3 A2 A1 A0
Chip select
0
0
1
1
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IC15A-Y0 = $0000 à $3FFF
IC15A-Y1 = $4000 à $7FFF
IC15A-Y2 = $8000 à $BFFF
IC15A-Y3 = $C000 à $FFFF
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IC15B-KEYB = $C000 à $CFFF
IC15B-DISPL = $D000 à $DFFF
IC15B-UEPROM = $E000 à $EFFF
IC15B-SEPROM = $F000 à $FFFF
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IC16A-Y0 = $0000 à $0FFF
IC16A-Y1 = $1000 à $1FFF
IC16A-Y2 = $2000 à $2FFF
IC16A-Y3 = $3000 à $3FFF
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IC16B-SER = $1000 à $13FF
IC16B-PAR = $1400 à $17FF
IC16B-D/A = $1800 à $1BFF
IC16B-A/D = $1C00 à $1FFF
0
0
0
0
0
0
0
0
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IC14B-RAM1 = $0000 à $07FF
IC14C-RAM2 = $0800 à $0FFF
Figure 1-6 Cartographie complète du système à microprocesseur Mod. E6809.
Système à Microprocesseur
page 1-9
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.6 Architecture interne du microprocesseur 6809
Le microprocesseur est composé de plusieurs registres et d'une unité arithmétique et
logique communément appelée ALU Arithmetic Logic Unit.
DO-D7
A0-A15
8
16
vcc
vss
Registre
d'instruction
PC
/RESET
/NMI
U
Contrôle des
interruptions
S
Y
Contrôle
des Bus
X
D
{
DP
A
Horloge
B
/FIRQ
/IRQ
/DMA
R/W
/HALT
BA
BS
XTAL
EXTAL
MRDY
E
Q
CC
ALU
Figure 1-7 - Architecture interne du 6809
Système à Microprocesseur
page 1-10
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.6.1 L'unité arithmétique et logique
L'unité arithmétique et logique (ALU) est utilisée pour les opérations logiques et
arithmétiques: et, ou, inversion, ou exclusif, addition, soustraction, complément à deux et
multiplication. L'ALU peut également effectuer des décalages à droite ou à gauche.
1.6.2 Les registres du 6809
X - Registre d'index
Y - Registre d'index
Registres pointeurs
U - Pointeur de pile de l'utilisateur
S - Pointeur de pile du système
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
Figure 1-8 Registres du 6809
Les registres d'index X et Y
Les registres d'index sont employés avec le mode d’adressage indexé. Ils servent
généralement au traitement d'un bloc mémoire et sont utilisés pour pointer les données en
mémoire. On peut, par exemple, effacer un bloc mémoire ou déplacer le contenu d'une
région mémoire. Le 6809 possède deux registres d’index de 16 bits nommés X et Y.
Les pointeurs de piles U et S
Ce sont des registres de 16 bits qui servent à pointer l'adresse des données temporaires
dans une région mémoire appelée pile. Le 6809 possède deux pointeurs de piles; le
registre S est le pointeur de pile du système tandis que 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 contrôlé 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
départ programmable. On lui spécifie la valeur de départ par l'intermédiaire d'une
commande. L'utilisateur peut aussi, à l'intérieur de son programme, changer le contenu du
PC par une instruction de branchement. Le rôle de ce registre est exclusivement de
signaler au microprocesseur à quel endroit se situe la prochaine instruction à exécuter.
Dans la recherche de l'instruction par le microprocesseur, le contenu du PC est mis sur le
bus d’adresses et au même moment, un signal de lecture est généré permettant ainsi à la
donnée, contenue dans la case mémoire adressée, de se propager à travers le bus de
données vers le microprocesseur pour être traitée. De façon automatique, le PC
Système à Microprocesseur
page 1-11
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
s'incrémente de 1 après que le CPU ait reçu la donnée de manière à pointer la prochaine
instruction.
Les accumulateurs
Le MC6809 possède 2 accumulateurs : l'accumulateur A et l'accumulateur B. Ce sont des
registres de 8 bits servant à traiter des données. Toutes les opérations arithmétiques ou
logiques se font par l'intermédiaire des accumulateurs et de l'ALU. 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, permettant ainsi la réalisation d’opérations sur 16
bits. Lorsque les accumulateurs A et B sont jumelés 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.
Le registre de page direct
Supposons que la plage mémoire de 64K octets est répartie en 256 pages de 256 octets, ce
qui fait un total de 64K. Le registre de page permet d'indiquer quelle page parmi les 256
pages est accessible. Ce registre peut être modifié avec une valeur désirée. Il est
implicitement utilisé lorsque le CPU exécute une instruction dans le mode d'adressage
direct. Ce registre est automatiquement remis à zéro lors d’une réactivation matérielle
reset.
Le registre de condition
Ce registre permet de connaître les résultats d'une opération effectuée par l'ALU. Le bit Z,
mis à 1, indique que le résultat donne zéro; le bit N, mis à 1, indique que le résultat est un
nombre négatif, etc. Les bits de ce registre sont mis à jour après l'exécution de certaines
instructions. Le registre de condition est utilisé pour prendre des décisions et de réaliser
des sauts conditionnels dans un programme.
76543210
Position des bits
EFHINZVC
Nom des drapeaux
Carry = bit de report
oVerflow = bit de dépassement
Zero = bit indiquant un résultat de 0
Negatif = résultat < 0
Irq = masque de l'interruption IRQ
Half carry = bit de demi report
Firq = masque d'interruption FIRQ
Entire flag = indicateur d'empilement
Figure 1-9 Le registre de condition
Système à Microprocesseur
page 1-12
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
1.7 Exercices
# 1 - Nommez les trois principaux blocs constituant un système ordiné?
____________________ , _____________________ , _____________________
# 2 - Qu'est-ce qu'un bus?
__________________________________________________________________
__________________________________________________________________
# 3 - Nommez les trois bus d'un ordinateur?
____________________ , _____________________ , _____________________
# 4 - Sur quel bus les informations à traiter sont-elles véhiculées?
____________________
# 5 - Par quel bus le microprocesseur indique-t-il la case mémoire avec laquelle il veut
transiger?
____________________
# 6 - Sur quel bus les lignes servant à la synchronisation des échanges sont-elles regroupées?
____________________
# 7 - Un ordinateur utilise un microprocesseur 6809.
a) Quelle est la capacité mémoire possible pour cet ordinateur?
____________________
b) Quel est le nombre de valeurs différentes possibles que peut prendre le nombre binaire
apparaissant sur le bus de données?
____________________
c) Quelle est la valeur hexadécimale de l’adresse la plus haute possible?
____________________
# 8 - Combien faut-il de bits pour former un octet?
____________________
# 9 - À quelle fréquence doit osciller le crystal d’un 6809 si l’on veut obtenir 1s pour la
durée d’un cycle machine?
____________________
# 10 - Sur un 6809, quelle relation de phase existe-t-il entre l’horloge E et Q?
________________________________________
Système à Microprocesseur
page 1-13
OFPPT/TECCART
Résumé de Théorie
Introduction aux Microprocesseurs
# 11 - En rapport avec les signaux d’horloge, à quel moment peut-on dire que les adresses
sont valides?
____________________
# 12 - Lorsque que la ligne R/W du 6809 est à un niveau 0, qu’est-ce que le microprocesseur
veut faire?
____________________________________________________________
# 13 - À quoi servent les lignes BA et BS sur 6809?
__________________________________________________________________
__________________________________________________________________
# 14 - Un système à microprocesseur utilise le décodeur d’adresses suivant; quelle est la
plage d’adresses qui correspond au signal de sélection /Y6?
U1
A13
A14
A15
1
2
3
A
B
C
E
6
4
5
G1
G2A
G2B
6809
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
74LS138
____________________
# 15 - Dans un microprocesseur, quel est le rôle de l'ALU?
__________________________________________________________________
# 16 - Dans un 6809, quel est le rôle du registre PC?
__________________________________________________________________
# 17 - Dans un 6809, quel est le rôle des accumulateurs?
__________________________________________________________________
# 18 - Dans un 6809, quel est le rôle du registre S?
__________________________________________________________________
# 19 - Dans un 6809, quel est le rôle du registre X?
__________________________________________________________________
# 20 - Dans un 6809, quel est le rôle du registre CC?
__________________________________________________________________
Système à Microprocesseur
page 1-14
OFPPT/TECCART
Téléchargement