Vous êtes sur la page 1sur 15

Architecture des ordinateurs

Système à Microprocesseur

Microprocesseur MC6809

1. Architecture interne d’un système à microprocesseur

Un ordinateur se compose essentiellement de trois blocs: le microprocesseur, la mémoire et


les circuits d’interfaces des 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 Mémoire Entrées/Sorties
microprocesseur

Bus d'adresses

Bus de contrôle

Figure 1 : Architecture interne d’un ordinateur

1.1 Le microprocesseur :

Un microprocesseur assure l’exécution d’un programme et le traitement des données


associées et la synchronisation des échanges avec la mémoire et les circuits d’interfaces.

Un microprocesseur est l'intégration dans un seul boîtier, des unités fonctionnelles


suivantes :

Une unité arithmétique et logique ALU qui effectue les opérations de calcul arithmétique
et logique.

A. FAKKAR 1
Architecture des ordinateurs

Une unité de contrôle et de séquencement qui décode les instructions et assure la


synchronisation nécessaire et fonctionnelle du traitement des informations qui lui sont
acheminées.

Une unité de mémorisation constituée d’un ensemble de mémoires internes très rapide
appelées registre et qui peuvent avoir des fonctions spécifiques.

1.2 La mémoire :

Une mémoire est un circuit électronique capable de stocker ou restituer des informations
binaires soit de façon permanente soit de façon temporaire. Elle est organisée en des mots
d’une taille de un octet chacun ayant une adresse propre qui permet de le sélectionner.

C'est dans la mémoire que l'on retrouve les programmes exécutables et les données à traiter.
Deux familles sont à distinguer; d'une part, il y a les mémoires ROM et d'autre part, les
mémoires vives.

 Mémoire morte :

Appelé aussi ROM (Read Only Memory), c'est une mémoire à lecture seule; elle contient le
programme de démarrage du système (BIOS : Basic Input Output System). La mémoire ROM est
permanente; son contenu ne disparaît pas quand le système n'est plus alimenté.

Généralement, dans d’un système de contrôle de process, le programme se trouve


généralement dans la ROM et le système démarre directement ce programme.

Il existe des variantes de ROM reprogrammable, on peut citer les mémoires FLASH et les
EEPROM qui sont de plus en plus utilisées étant données que leurs programmation se fait
électriquement in situ.

 Mémoire vive

Appelées aussi RAM (Random Access Memory) pour mémoires à accès aléatoire. Elles sont
accessibles en lecture et en écriture. Le contenu de ce type de mémoire est perdu lorsque l'on
coupe l'alimentation (volatile). Elles peuvent être dynamiques ou statiques, servent souvent
pour le stockage des données mais aussi pour définir une pile (STACK).

A. FAKKAR 2
Architecture des ordinateurs

Généralement, les programmes sont stockés dans une mémoire de masse (disque dur par
exemple) mais sont transférés vers la RAM avant l’exécution.

1.3 Les entrées/sorties

Les circuits d’interfaces réalisent la compatibilité entre le microprocesseur et les


périphériques d’entrées/sorties qui 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 d’établir l’échange
homme machine.

1.4 Communication entre les blocs

É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. Un bus étant un ensemble homogène
de conducteurs qui véhiculent les informations binaires.

 Le bus de données

C'est un bus bidirectionnel avec une logique à 3 états sur lequel transitent les données
échangées par les éléments du système. Il peut être multiplexé avec la partie basse du bus
d’adresses.

 Le bus d’adresses

Il s'agit d'un bus unidirectionnel basé sur la logique trois états, permettant au
microprocesseur d’adresser les circuits mémoires ou d’interfaces. L'adresse déposée sur le bus
permet d'atteindre une case mémoire ou un registre spécifique avec laquelle une opération est
désirée.

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

A. FAKKAR 3
Architecture des ordinateurs

2. Architecture du microprocesseur 6809

Le microprocesseur 6809 de MOTOROLA est un circuit monolithique fabriqué en


technologie NMOS, mono-tension 5 V, statique, se présente comme un boitier DIL de 40
broches. C’est un circuit de 8 bits haut de gamme, dont l’organisation interne est orienté 16
bits. Il a 16 lignes d’adresse permettant l’adressage de 64 Ko de mémoires. Il possède 2
accumulateurs de 8 bits qui peuvent être concaténé en un seul de 16 bits, deux registres
d’index et deux pointeurs de pile. Il possède 9 modes d’adressage.

2.1 Architecture externe :

Le brochage du 6809 est donné dans la figure suivante. Le rôle ou la fonction de chaque
broche est décrit dans ce qui suit :

a. 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.
A. FAKKAR 4
Architecture des ordinateurs

b. XTAL et EXTAL :

Ce sont sur ces broches que le quartz est installé afin de stabiliser l’oscillateur interne et de
déterminer la fréquence de fonctionnement. La fréquence du quartz doit être quatre fois
supérieure à la fréquence de travail désirée. Une horloge externe TTL peut être branchée sur la
broche EXTAL; alors, la broche XTAL doit être reliée à la masse.

c. Signaux d’horloges E et Q :

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 de l’unité
centrale de traitement (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.
début du fin du
cycle cycle

E 0.5V

adresse
valide

d. RESET :

Un niveau bas sur cette entrée entraîne une réinitialisation complète du microprocesseur.
Une RESET automatique est appliquée à chaque mise sous tension (démarrage du système).

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

L'adresse constitué par le contenu des cases mémoires $FFFE et $FFFF (vecteur
d’interruption associé à RESET) est chargée dans le compteur de programme (PC) puis le
processeur exécute à partir de cette adresse.

A. FAKKAR 5
Architecture des ordinateurs

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

f. Bus de données 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. C’est un bus contrôlé 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.

g. Bus d’adresse 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 lignes du 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.

h. Selection Read Write 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 se place en haute impédance lorsque le
microprocesseur libère les bus.

i. /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

A. FAKKAR 6
Architecture des ordinateurs

que la ligne /HALT est à 0, le processeur est à l’arrêt. L’exécution du programme reprend
lorsque la ligne remonte à 1. Aucun registre n'est affecté durant l'arrêt.

j. DMA/BREQ : (DMA = Direct Memory Access , BREQ = Bus Request)

Cette entrée permet de suspendre l'utilisation des bus par la 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.

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

 BA BS = 00 Le microprocesseur est en fonctionnement normal. Il gère les bus d’adresses et


de données.
 BA BS = 01 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).

A. FAKKAR 7
Architecture des ordinateurs

 BA BS = 10 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.

 BA BS = 11 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.

l. NMI, FIRQ, IRQ :

o /NMI = Non Masquable Interrupt (Interruption non masquable)

o /FIRQ = Fast Interrupt Request (Interruption masquable rapide)

o - /IRQ = Interrupt Request (Interruption masquable)

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

Interruption active Particularité


NMI sur une descente non-masquable.
FIRQ sur un niveau bas masquable. (masque F)
IRQ sur un niveau bas masquable. (masque 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. Le masque d’une interruption est un bit qui permet de valider ou
inhiber la demande qui en est faite.

2.2 Architecture interne :

Le microprocesseur, noté aussi M.P.U. (Microprocessor unit) ou encore C.P.U. (Central


Processing Unit) est un circuit intégré complexe appartenant à la famille des VLSI (Very large
scale intégration) capable d'effectuer séquentiellement et automatiquement des suites
d'opérations élémentaires. Ce circuit remplit deux fonctions essentielles :

A. FAKKAR 8
Architecture des ordinateurs

 Le traitement des données : On fait à l’aide d'une unité de traitement. Cette fonction est
dédiée à l'U.A.L. Elle concerne la manipulation des données sous formes de transfert,
opérations arithmétiques, opérations logiques...

 Le contrôle du système : Cette fonction se traduit par des opérations de décodage, de


séquencement et d'exécution des ordres exprimés sous forme d'instruction.

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

Ce circuit permet de traiter et tester les données. Toute instruction qui modifie une donnée
fait toujours appel à l'U.A.L. L'entrée de L'U.A.L est connectée au bus interne via des
registres temporaires et un registre particulier appelé accumulateur. La sortie de l'U.A.L est
connectée uniquement à l'entrée de l'accumulateur.

Pour stabiliser les données, on les place dans des mémoires tampons. On les appelle aussi
des registres tampons ou verrou. Ces registres permettent de stocker des octets aux entrées de
l'U.A.L. L'U.A.L étant constitué d'une logique combinatoire, elle est dépourvue de moyen
propre de stockage. Ce type de registre ne peut être manipulé par le programmeur. Il lui est
totalement transparent.

2.2.2 Les registres du 6809 :

a. 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.
A. FAKKAR 9
Architecture des ordinateurs

b. 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 s'incrémente de 1 après que le CPU ait reçu la
donnée de manière à pointer la prochaine instruction.
15 8 7 0

X : Registre d'index

Y : Registre d'index

U : Pointeur de pile utilisateur

S : Pointeur de pile utilisateur

PC : Compteur de programme

A : Accumulateur B : Accumulateur

D : Accumulateur

Registre de page DP

Registre CC E F H I N Z V C

c. 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 MC6809 possède deux registres d’index de 16 bits nommés X et Y.

d. Les pointeurs de piles U et S

A. FAKKAR 10
Architecture des ordinateurs

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

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

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

Registre code condition CC

E F H I N Z V C

C = Carry : bit de retenue

V = Overflow : bit de débordement

Z = Zero : bit indiquant un résultat nul

N = Negatif : bit de signe

I : masque de l’interruption IRQ

A. FAKKAR 11
Architecture des ordinateurs

H = Half carry : bit de retenue DCB

F : masque de l’interruption FIRQ

E : Indicateur état de sauvegarde lors des interruptions.

2.2.3 La logique de contrôle

Appelé encore Séquenceur ou Unité de contrôle (U.C.),

Son rôle est de permettre à tous les éléments constitutifs du microprocesseur de travailler
ensemble et dans l'ordre et la cohérence.

La logique de contrôle est pilotée par le registre d'instruction via le décodeur d'instruction.
Cette unité génère toutes les commandes et tous les signaux nécessaires au bon déroulement de
l’exécution du programme puisqu'elle décide de la disponibilité du bus à tel ou tel élément
logique. La logique de contrôle possède une architecture complexe et très spécialisée. L'élément
central est représenté par le décodeur d'instructions qui décode les informations (premier octet)
stockées dans le registre instructions RI pour générer les signaux nécessaires à l'exécution de
l'instruction. La logique de contrôle génère sur les lignes de contrôle des niveaux logiques qui
activent les différents circuits environnant tels que mémoires et circuits d’entrées sorties.

Cette unité fournit, à partir du signal d'horloge, tous les signaux de synchronisation utiles au
bon fonctionnement de l'ensemble. Cette horloge est créée à partir d'un oscillateur interne qui
utilise un signal en provenance d'un quartz externe.

Cette unité traite en plus :

 le contrôle de mise sous tension du microprocesseur (initialisation des registres).

 le traitement des interruptions.

3 Fonctionnement d’un microprocesseur

L’unité centrale se compose au moins d’un microprocesseur qui doit lire son programme,
recevoir des données, en fournir d'autres en sortie. Par conséquent, il doit communiquer avec
des mémoires centrales ainsi qu'avec des périphériques via des circuits d'entrées-sorties, ou
interfaces. En adoptant tout ce qui a précédé et en rappelant qu’un programme est composé

A. FAKKAR 12
Architecture des ordinateurs

d'instructions, rangées aux adresses croissantes de la mémoire. Donc, le microprocesseur doit


accomplir les tâches suivantes:

 Il doit appeler une instruction qu'il lit en mémoire.

 Il la décode, c'est-à-dire qu'il traduit en commandes d'organisation interne ce qu'elle lui


dit de faire.

 Il l'exécute.

En une première approche, on peut considérer que le microprocesseur est doté de ces trois
groupes distincts appelés unité de recherche d'une instruction en mémoire, unité de décodage
de l'instruction, et enfin unité d'exécution.

On peut donc détailler ce mode de fonctionnement de la façon suivante :

 Le microprocesseur recherche une instruction. Pour savoir, en permanence, quelle est


l'adresse de la cellule à laquelle il doit accéder, il dispose d'un registre qui conserve le nombre
correspondant à cette adresse : le pointeur d'instructions (IP) ou le compteur de programme PC
qui à chaque instant contient l’adresse du prochain code qui va être traité.

 Le code de l'instruction qui vient d'être lue dans la mémoire est ramené dans le
microprocesseur où il est enregistré dans un autre registre appelé pour registre d'instructions.

 Par convention, une cellule mémoire contient un octet, donc huit bits. Cet octet est
l'octet de l'instruction, qui en un premier temps correspond au code opération, puisqu'il faut
bien commencer par le début d’une instruction.

 Il convient donc non seulement de décoder l'octet d'instruction, mais encore de traduire
la sortie du décodeur en commandes électriques destinées à animer les portions du
microprocesseur qui vont être sollicitées par l'instruction. Par exemple, une commande
d'addition met en jeu l'additionneur interne. D'où la présence d'une unité de décodage.

 Dès qu'un octet d'instruction est chargé, le compteur d'instructions s'incrémente


automatiquement, c'est-à-dire qu'il ajoute 1 à l'adresse qu'il contient. De ce fait, il est prêt
pour aller chercher l'instruction suivante. C'est une règle absolue : le compteur ordinaire,
pointe toujours l'instruction suivante.

A. FAKKAR 13
Architecture des ordinateurs

 Les résultats du décodage sont transmis à l'unité d'exécution du microprocesseur qui


lance l'exécution de l'instruction.

 Si l'instruction procure un résultat, ce qui est le cas, par exemple, d'une instruction
d'addition, ce résultat est temporairement enregistré dans un autre registre appelé
accumulateur.

Cette séquence est pilotée par des circuits de commande et de séquencement, une sorte
d'horloge qui met chacune de ces unités en service à tour de rôle.

Selon la nature de l’instruction, après le décodage, plusieurs actions peuvent être prises. Soit,
par exemple, rechercher la donnée en mémoire en respectant les modes d’adressages utilisés
pour finaliser l’opération spécifiée par le code opération ou transformer directement le contenu
de l’accumulateur.

A. FAKKAR 14
Architecture des ordinateurs

D0-
D7
Vcc
A0-
A15 Vss

16
B
PC
IR
U

S RESET
NMI

Y FIRQ
Contrôle des
X Interruptions IRQ

DMA/BREC
A R/W
D
B
HALT
DP CC Contrôle du BA
Bus
BS

XTAL
EXTAL
ALU Horloge
MRDY
E
Q

A. FAKKAR 15

Vous aimerez peut-être aussi