Académique Documents
Professionnel Documents
Culture Documents
Résumé de Théorie
Utiliser un Système à Microprocesseur
www.technosup.net
TABLE DES MATIÈRES
Unité centrale de
traitement Mémoire Entrées/Sorties
microprocesseur
Bus d'adresses
Bus de contrôle
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.
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.
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
VSS 1 40 /HALT
/NMI 2 39 XTAL
/IRQ 3 38 EXTAL
/FIRQ 4 37 /RESET
BS 5 36 MRDY
BA 6 M 35 Q
VCC 7 34 E
A0 8 C 33 /DMA
A1 9 32 R//W
A2 10
6 31 D0
A3 11 8 30 D1
D2
A4 12 29
A5 13 0 28 D3
A6 14 27 D4
A7 15 9 26 D5
A8 16 25 D6
A9 17 24 D7
A10 18 23 A15
A11 19 22 A14
A12 20 21 A13
Figure 1-2
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.4 E et Q
début du fin du
cycle cycle
E 0.5V
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.
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.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é.
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 BS Fonctionnement du MPU
0 0 normal
0 1 reconnaissance d'interruption
1 0 reconnaissance de synchro
externe
1 1 arrêt ou bus accordé
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.
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.
Figure 1-4
IC16A
IC15A A12 2 4
A Y0
A14 2 4 A13 3 5
A Y0 B Y1
IC13C A15 3 5 6
B Y1 Y2
9 6 1 7
Y2 G Y3
8 1 7
G Y3
E 10 74139
74139
7400
IC15B IC16B
A12 14 12 KEYB A10 14 12 SER
A Y0 A Y0
A13 13 11 DISPL A11 13 11 PAR
B Y1 B Y1
10 UEPROM 10 D/A
Y2 Y2
15 9 SEPROM 15 9 A/D
G Y3 G Y3
74139 74139
A11 IC4D
9 8
IC14B IC14C
4 9
RAM1 6 7404 8 RAM2
5 10
7432 7432
DO-D7 vcc
A0-A15
vss
Registre
d'instruction
16 8
PC
/RESET
U /NMI
Contrôle des /FIRQ
S interruptions /IRQ
/DMA
Y R/W
Contrôle /HALT
X des Bus BA
BS
A XTAL
D { B Horloge
EXTAL
MRDY
E
DP CC Q
ALU
X - Registre d'index
Y - Registre d'index
Registres pointeurs
U - Pointeur de pile de l'utilisateur
D
DP Registre de page direct
E F H I N Z V C CC - Registre de condition
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.
1.7 Exercices
# 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?
____________________
b) Quel est le nombre de valeurs différentes possibles que peut prendre le nombre
binaire apparaissant sur le bus de données?
____________________
# 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?
____________________
# 11 - En rapport avec les signaux d’horloge, à quel moment peut-on dire que les
adresses sont valides?
____________________
U1
A13 1 15
A Y0
A14 2 14
B Y1
A15 3 13
C Y2
Y3 12
6809 Y4 11
E 6 10
G1 Y5
4 G2A Y6 9
5 G2B Y7 7
74LS138