Chap 2 Architecture Et Fonctionnement D'un Microprocesseur
Chap 2 Architecture Et Fonctionnement D'un Microprocesseur
Chap 2 Architecture Et Fonctionnement D'un Microprocesseur
L’élément de base d’un calculateur est constituepar l’unité centrale de traitement (UCT,
CPU : Central Processing Unit). L’UCT est constituée :
Lamémoire centralecontient :
Les échanges d’ordres et de données dans le calculateur sont synchronises par unehorloge qui
délivre des impulsions (signal d’horloge) à des intervalles de temps fixes.
Représentation :
Unecase mémoire peut être lue ou écrite par le microprocesseur (cas des mémoiresvives) ou
bien seulement lue (cas des mémoires mortes).
La réalisation matérielle des ordinateurs est généralement basée sur l’architecture de Von
Neumann:
Le microprocesseur échange des informations avec la mémoire et l’unité d’E/S, sous formede
mots binaires, au moyen d’un ensemble de connexions appelébus. Un bus permet de transférer
des données sous forme parallèle, c’est-à-dire en faisant circulernbits simultanément.
Intel 8085, 8086, Zilog Z80 : 40 broches, DIP (Dual In-line Package) ;
Motorola 68000 : 64 broches, DIP ;
Intel 80386 : 196 broches, PGA (Pin GridArray).
Exemple :
Rangement en mémoire :
Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseurdoit
savoir à chaque instant l’adresse de la prochaine instruction à exécuter. Le microprocesseur
Exemple :
Pour savoir quel type d’opération doit être exécuté (addition, soustraction, ...), le
microprocesseur lit le premier octet de l’instruction pointée par le pointeur d’instruction(code
opératoire) et le range dans un registre appeléregistre d’instruction.Lecode opératoire est
décodé par des circuits de décodage contenus dans le microprocesseur. Dessignaux de
commande pour l’UAL sont produits en fonction de l’opération demandée qui est alors
exécutée.
Les indicateurs d’état sont utilises par les instructions desaut conditionnels: en fonctionde
l’´etat d’un (ou plusieurs) flags, le programme se poursuit de manière différente. Toutes ces
étapes (lecture de l’instruction, décodage, exécution) sont synchronisées par un séquenceur
qui assure le bon déroulement des opérations :
Le séquenceur est dirigé par une horloge qui délivre un signal de fréquence donnée
permettant d’enchainer les différentes étapes de l’exécution d’une instruction :
L’horloge est constituée par un oscillateur à quartz dont les circuits peuvent être internes ou
externes au microprocesseur.
NMI et INTR: entrées de demande d’interruption. INTR : interruption normale, NMI (Non
MaskableInterrupt) : interruption prioritaire.
A16/S3 à A19/S6: 4 bits de poids fort du bus d’adresses, multiplexés avec 4 bits d’état.
AD0 à AD15: 16 bits de poids faible du bus d’adresses, multiplexésavec 16 bits de données.
Le bus A/D est multiplexé (multiplexage temporel) d’où la nécessité d’un démultiplexage
pour obtenir séparément les bus d’adresses et de données :
Fonctionnement :
si ALE = 1, le verrou est transparent (Q = D) ;
si ALE = 0, mémorisation de la dernière valeur de D sur les sorties Q ;
les signaux de lecture (RD) ou d’´ecriture (WR) ne sont générés par le
microprocesseur que lorsque les données sont présentes sur le bus A/D
DEN: Data Enable, indique que des données sont en train de circuler sur le bus A/D
(équivalent de ALE pour les données).
Les signaux DEN et DT/R sont utilises pour la commande de tampons de bus (buffers)
permettant d’amplifier le courant fourni par le microprocesseur sur le bus de données.
l’unité d’interface de bus (BIU) recherche les instructions en mémoire et les range
dans une file d’attente;
l’unité d’exécution (EU) exécute les instructions contenues dans la file d’attente.
Les deux unités fonctionnent simultanément, d’ou une accélération du processus d’exécution
d’un programme (fonctionnement selon le principe du pipe-line).
Ils peuvent être également considères comme 8 registres sur 8 bits. Ils servent à contenir
temporairement des données. Ce sont des registres généraux mais ils peuvent être utilises pour
des opérations particulières. Exemple : AX = accumulateur, CX=compteur.
Pointeurs : SP: Stack Pointer, pointeur de pile (la pile est une zone de sauvegarde de données
en cours d’exécution d’un programme) ;BP: Base Pointer, pointeur de base, utilise pour
adresser des données surla pile.
Index:SI: Source Index ;DI: Destination Index. Ils sont utilises pour les transferts de chaînes
d’octets entre deux zones mémoire.
Flags :
Les registres de segments, associes aux pointeurs et aux index, permettent au microprocesseur
8086 d’adresser l’ensemble de la mémoire.