Chap 2 Architecture Et Fonctionnement D'un Microprocesseur

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 12

CHAPITRE 2 

: ARCHITECTURE ET FONCTIONNEMENT D’UN


MICROPROCESSEUR
I. STRUCTURE D’UN CALCULATEUR

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 :

 d’une unitéarithmétique et logique(UAL, ALU : Arithmetic and Logic Unit) : c’est


l’organe de calcul du calculateur ;
 de registres : zones de stockage des données de travail de l’UAL (opérandes,
résultatsintermédiaires) ;
 d’une unité de contrôle (UC, CU : Control Unit) : elle envoie les ordres (ou
commandes) a tous les autres éléments du calculateur afin d’exécuter un programme.

Lamémoire centralecontient :

 le programme à exécuter : suite d’instructions élémentaires ;


 les donnéesà traiter

L’unité d’entrées/sorties (E/S) est un intermédiaire entre le calculateur et le mondeextérieur.

L’unité de transfert est le support matériel de la circulation des données.

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.

Définition: un microprocesseur consiste en une unite centrale de traitement (UAL +Registres


+ unité de contrôle) entièrement contenue dans un seul circuit intégré. Uncalculateur construit
autour d’un microprocesseur est unmicrocalculateurou unmicroordinateur.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 1/12


Remarque: un circuit intégré qui inclut une UCT, de la mémoire et des périphériquesest un
microcontrôleur.

II. ORGANISATION DE LA MEMOIRE CENTRALE

La mémoire peut être vue comme un ensemble decellulesoucasescontenant chacuneune


information : une instruction ou une donnée. Chaque case mémoire est repérée par un numéro
d’ordre unique : sonadresse.

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

III. CIRCULATION DE L’INFORMATION DANS UN CALCULATEUR

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.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 2/12


Les microprocesseurs peuvent être classes selon la longueur maximale des mots binaires
qu’ils peuvent échanger avec la mémoire et les E/S : microprocesseurs 8 bits, 16 bits,32
bits, ...

Le bus peut être décomposé en trois bus distincts :

 le bus d’adresses permet au microprocesseur de spécifier l’adresse de la casemémoire


à lire ou à écrire ;
 le bus de données permet les transferts entre le microprocesseur et la mémoire oules
E/S ;
 le bus de commandetransmet les ordres de lecture et d’écriture de la mémoire etdes
E/S.

Remarque: les bus de données et de commande sontbidirectionnels, le bus d’adresse


estunidirectionnel: seul le microprocesseur peut délivrer des adresses (il existe une dérogation
pour les circuits d’accès direct à la mémoire, DMA).

IV. DESCRIPTION MATERIELLE D’UN MICROPROCESSEUR

Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un


nombregénéralement important de broches. Exemples :

 Intel 8085, 8086, Zilog Z80 : 40 broches, DIP (Dual In-line Package) ;
 Motorola 68000 : 64 broches, DIP ;
 Intel 80386 : 196 broches, PGA (Pin GridArray).

Technologies de fabrication : NMOS, PMOS, CMOS.

On peut représenter un microprocesseur par son schéma fonctionnel:

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 3/12


V. FONCTIONNEMENT D’UN MICROPROCESSEUR

Un microprocesseur exécute unprogramme. Le programme est une suite d’instructions


stockées dans la mémoire. Une instruction peut être codée surun ou plusieurs octets.

Format d’une instruction :

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

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 4/12


utilise un registre contenant cette information. Ce registre est appelépointeurd’instructions (IP
: Instruction Pointer) ou compteurd’instructionsoucompteurordinal.

Exemple :

Remarque: la valeur initiale du pointeur d’instruction est fixée par le constructeurdu


microprocesseur. Elle vaut une valeur bien définie à chaquemise sous
tensiondumicroprocesseur ou bien lors d’une remise à zéro (reset).

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.

Remarque:pour exécuter une instruction, l’UAL utilise des registres de travail,exemple :


l’accumulateur, registre temporaire recevant des données intermédiaires.Pendant que
l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer vers
l’instruction suivante :

Puisleprocessusdelectureetde décodage des instructions recommence.A la suite de chaque


instruction, un registre du microprocesseur est actualisé en fonction du dernier résultat : c’est
le registre d’état du microprocesseur. Chacun des bits du registre d’état est un indicateur
d’étatouflag(drapeau).

Exemple : registre d’état du microprocesseur Z80 :

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 5/12


Les indicateurs d’état sont actives lorsqu’une certaine condition est remplie, exemple : le flag
Z est mis à 1lorsquela dernière opération a donné un résultat nul, le flag C est mis A
unlorsquele résultat d’une addition possède une retenue, ...

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 :

Pour exécuter le programme contenu dans la mémoire centrale, le séquenceur du


microprocesseur exécute lui-même un programme appelémicro-code, contenu dans une
mémoiremorte à l’intérieur du microprocesseur.

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 :

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 6/12


Chaque instruction est caractérisée par le nombre de périodes d’horloge (ou microcycles)
qu’elle utilise (donnée fournie par le fabricant du microprocesseur). Exemple : horloge à
5MHz, période=1/f =0,2µs. Si l’instruction s’exécute en 3 microcycles, la durée d’exécution
de l’instruction est : 3×0,2=0,6µs.

L’horloge est constituée par un oscillateur à quartz dont les circuits peuvent être internes ou
externes au microprocesseur.

Structure complète d’un microprocesseur simple : pour fonctionner, un microprocesseur


nécessite donc au minimum les éléments suivants :

VI. CAS PRATIQUE(LE 8086)


A. Organisation externe du 8086

CLK: entrée du signal d’horloge qui cadence le fonctionnement du microprocesseur. Ce


signal provient d’un générateur d’horloge: le 8284.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 7/12


RESET: entrée de remise à zéro du microprocesseur. Lorsque cette entrée est mise à l’etat
haut pendant au moins 4 périodes d’horloge, le microprocesseur est réinitialisé: il va exécuter
l’instruction se trouvant à l’adresse FFFF0H (adresse de bootstrap). Le signal de RESET est
fourni par le générateur d’horloge.

READY: entrée de synchronisation avec la mémoire. Ce signal provient également du


générateur d’horloge.

TEST: entrée de mise en attente du microprocesseur d’un événement extérieur.

MN/MX: entrée de choix du mode de fonctionnement du microprocesseur :

 mode minimum (MN/MX = 1) : le 8086 fonctionne de manière autonome, il génère


lui-même le bus de commande (RD, WR, ...) ;
 mode maximum (MN/MX = 0) : ces signaux de commande sont produits par un
contrôleur de bus, le 8288. Ce mode permet de réaliser des systèmes multiprocesseurs.

NMI et INTR: entrées de demande d’interruption. INTR : interruption normale, NMI (Non
MaskableInterrupt) : interruption prioritaire.

INTA: InterruptAcknowledge, indique que le microprocesseur accepte l’interruption.

HOLD et HLDA: signaux de demande d’accord d’accès direct a la mémoire (DMA).

S0 à S7: signaux d’état indiquant le type d’opération en cours sur le bus.

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 :

 16 bits de données (microprocesseur 16 bits) ;


 20 bits d’adresses, d’où 220= 1 Mo d’espace mémoire adressable par le 8086.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 8/12


Chronogramme du bus A/D :

Le démultiplexage des signaux AD0 à AD15 (ou A16/S3 à A19/S6) se fait en


mémorisantl’adresse lorsque celle-ci est présente sur le bus A/D, à l’aide d’unverrou(latch),
ensemble de bascules D. La commande de mémorisation de l’adresse est générée par
lemicroprocesseur : c’est le signalALE, AddressLatchEnable.

Circuit de démultiplexage A/D :

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

Exemples de bascules D : circuits 8282, 74373, 74573.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 9/12


RD: Read, signal de lecture d’une donnée.

WR: Write, signal d’écriture d’une donnée.

M/IO: Memory/Input-Output, indique si le 8086 adresse la mémoire (M/IO=1) ou les


entrées/sorties (M/IO=0).

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

DT/R: Data Transmit/Receive, indique le sens de transfert des données :

 DT/R = 1 : données émises par le microprocesseur (écriture) ;


 DT/R = 0 : données reçues par le microprocesseur (lecture).

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.

B. Organisation interne du 8086

Le 8086 est constitué de deux unîtes fonctionnant en parallèle :

 l’unité d’exécution (EU : Exécution Unit) ;


 l’unité d’interface de bus (BIU : Bus Interface Unit)

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 10/12


Rôle des deux unités :

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

Le microprocesseur 8086 contient 14 registres repartis en 4 groupes :

 Registres généraux: 4 registres sur 16 bits.


AX=(AH,AL);
BX=(BH,BL);
CX=(CH,CL);
DX=(DH,DL).

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.

 Registres de pointeurs et d’index: 4 registres sur 16 bits.

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.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 11/12


Les pointeurs et les index contiennent des adresses de cases mémoire.

 Pointeur d’instruction et indicateurs (flags): 2 registres sur 16 bits.

Pointeur d’instruction :IP, contient l’adresse de la prochaine instruction à exécuter.

Flags :

CF: indicateur de retenue (carry) ;

PF: indicateur de parité;

AF: indicateur de retenue auxiliaire ;

ZF: indicateur de zéro ;

SF: indicateur de signe ;

TF: indicateur d’exécution pas à pas (trap) ;

IF: indicateur d’autorisation d’interruption ;

DF: indicateur de décrémentation ;

OF: indicateur de dépassement (overflow).

 Registres de segments: 4 registres sur 16 bits.

CS: Code Segment, registre de segment de code ;

DS: Data Segment, registre de segment de données ;

SS: Stack Segment, registre de segment de pile ;

ES: Extra Segment, registre de segment supplémentaire pour les données ;

Les registres de segments, associes aux pointeurs et aux index, permettent au microprocesseur
8086 d’adresser l’ensemble de la mémoire.

CHAP 3 : ARCHITECTURE ET FONCTIONNEMENT D’UN MICROPROCESSEUR Page 12/12

Vous aimerez peut-être aussi