0% ont trouvé ce document utile (0 vote)
44 vues5 pages

MICROPRO

Transféré par

marierasamoela
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
44 vues5 pages

MICROPRO

Transféré par

marierasamoela
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

STRUCTURE INTERNE

I. Cas du 8080 ou cas général (8 bits) :

La structure interne standard d’un microprocesseur est composée de 3 éléments :

 l’unité de commande (CU : Command Unit)


 l’unité arithmétique logique (UAL)
 les registres

Ces 3 éléments sont reliés entre eux par un bus interne permettant de faire des échanges de
données.

i. Unités de commande :

Elle permet de séquencer le déroulement des instructions. Elle effectue la recherche en mémoire de
l’instruction en cours. Le décodage de cette instruction, son exécution et la préparation de
l’instruction suivante.

Le CU élabore tous les signaux nécessaires pour la synchronisation interne et externe d’un
microprocesseur. Concernant l’externe, le CU est en relation avec le bus de commande (CB).

ii. UAL :

C’est l’organe principal de calcul. Il effectue toutes les opérations arithmétiques et logiques (+ - OU
ET NOT OR).

Les opérations * et / ne sont pas intégrées dans l’UAL. Elles sont programmées extérieurement.

Remarques : Compromis Logiciel-Matériel

Deux registres sont généralement associés à l’UAL :

 L’accumulateur: c’est l’une des entrées de l’UAL. Il est impliqué dans presque toutes les
opérations réalisées par l’UAL. Certains constructeurs intègrent même 2 accumulateurs.
 Le registre des Flags (drapeaux) des états : à chaque opération, le micro-processeur
positionne un certain nombre de Flag. Les Flags sont des bascules d’état de 1 bit.

Ex : ZF : Zéro Flag = 1 si le résultat d’une opération est nul.

Comme Flag, on trouve principalement :

 CF : Carry Flag : (retenue) : positionné à 1 lorsque le résultat d’une opération contient une
retenue. Il sert aussi à capter le bit expulsé lors d’une opération de décalage ou de rotation : Shr,
Shl.
 SF : Sign Flag : si le résultat est négatif
 PF : Parity Flag : si le contenu de l’accumulateur a un nombre pair de 1
 OF : Overflow Flag : s’il existe un dépassement de capacité d’un registre.

iii. Les registres :

Il existe 2 types de registre :

 Registre d’usage général:


Ce sont des mémoires très rapides qui permettent à l’UAL de manipuler des données à vitesse
élevée. Il est connecté au bus interne du microprocesseur. L’@ d’un registre est généralement
associé à son nom.

AX BX CX DX AX
AH AL
AX : Accumulateur 16bit BX :
8bits 8bits
Registre de Base s CX :
Compteur High Low
DX : Registre de données

 Registre pointeur d’@ :

Ce sont des registres connectés sur le bus d’@ .En général, ce sont :

 Le compteur de programme (PC) : Il contient l’@ de l’instruction à chercher en


mémoire, l’UC incrémente le compteur de programme automatiquement pour savoir
quelle est l’instruction à exécuter prochainement.
 Le pointeur de pile : (SP : Stack Pointer). Il contient l’@ de la pile. La pile (Stack) est
une partie de la mémoire qui permet de stocker les informations relatives au
traitement de sous-programmes ou des interruptions. La pile est gérée en LIFO (Last
In First Out). La SP pointe le haut de la pile, il est décrémenté avant chaque
empilement et incrémenté après chaque dépilement (Push, Pop).
 Les registres d’@ : SI Source Index

DI Destination Index

Ces registres permettent de mémoriser une @ particulière


IR : Registre d’instruction : Il reçoit le code opératoire Op Code si la valeur (XEXA, MOT) correspond à
l’instruction

Decod Instruction : dispositif pour analyser le code bit par bit ou par groupe et envoie au séquenceur
les signaux relatifs à l’exécution.

Séquenceur : donne des ordres d’exécution, des instructions provenant de l’unité de décodage et
gère le séquencement de cette exécution.

II. Cas de 8086/ 8088 (16 bits) :

Le 8086 a initié l’avènement des microprocesseurs 80x86. Sa conception s’appuie sur celle des
microprocesseurs 8 bits comme le 8080. Toutefois, il n’est pas directement compatible avec eux.

i. Architecture générale :

Le séquenceur (Unité de commande) de 8086 est microprogrammé mais il comporte également de


nombreuses fonctions câblées de manière à optimiser la taille des instructions. Le 8086 comporte 2
unités fonctionnelles susceptibles de travailler en parallèle :

BIU (Bus Interface Unit)

EU (Execution Unit)

 EU :

L’UAL peut être chargé à partir de 3 registres temporaires : TMPA, TMPB, TMPC et effectuait des
opérations sur 8 ou 16 bits. Le résultat d’une opération peut être stocké dans l’un ou les 3 registres
ou dans n’importe quel autre registre situé sur le bus de données internes. Tous les registres ont une
largeur de 16 bits et se décomposent en quatre registres d’intérêt général (AX, BX, CX, CX)

Ces registres peuvent être décomposés chacun en registre de 8 bits

AX AH , AL

Deux pointeurs de pile nommés SP (Stack Pointer) et BP (Basic Pointer) [16 bits] et deux registres
d’index : SI (Source Index) et DI (Destination Index) [16 bits] existent aussi sur le 8086.

Ces registres sont interfacés au bus de données internes à travers un operateur permettant si
nécessaire de permuter les 8 bits de poids fort avec les 8 bits de poids faible lors d’un transfert.

Le 8086 permet aussi des registres de flags identiques au 8080

CF : indicateur de retenue

PF Parité

ZF Zéro

SF Signe

OF Dépassement de pile
 BIU :

Le BIU sert à calculer les adresses. Cette unité comporte des registres temporaires pour le calcul
d’adresse en adressage indirect. Ce sont les segments DS, CS, SS et ES .Un registre spécial appelé
compteur programme ou IP (Instruction Pointer) est une pile de 6 octets se trouve aussi sur le BIU.

ii. REGISTRES INTERNES DU 8086 (Accessible au programmeur)

a) Registre de données :

AX AH , AL Accumulateur

BX Base 16 Bits

CX Compteur

DX Data

Le registre de données est au nombre de 4 qu’on peut diviser en registre de 8 bits chacun.

 AX : utilisé surtout pour des opérations arithmétiques et manipulation des chaines


 BX : utilisé pour l’adressage des données en mémoire
 CX : compteur de boucles automatiquement incrémente ou décrémenté dans
certaines structures répétitives
 DX : utilisé pour recevoir une partie de résultat de certaines opérations
arithmétiques, utilisés aussi pour l’adressage des ports (canaux).

b) Registre de segments :

CS Code

SS Source 16bits

DS Data

ES Extra

Le registre de segments est utilisé pour l’@ logique :

CS : donne la valeur de segment contenant les instructions en cours d’exécution. C’est le


microprocesseur qui se charge de la mise à jour de ce registre.
SS : pointe sur le segment de pile correspondant au stockage temporaire.
DS : pointe sur le segment qui contient les données de programmation.
ES : registre de segment supplémentaire, particulièrement utilisé pour les transferts de
données .Dans certains programme ES et DS se coïncident.

c) Registre pointeur et index :

SI, DI, BP, SP : Source Index, Destination Index, Base Pointer, Stack Pointer

Pour accéder à une @ .Ces registres sont mis en service :

 BP et SP : associés au SS (en particulier SP) donnent l’@ du haut de la pile

SP est automatiquement mis à jour par le microprocesseur quand on effectue des


opérations sur la pile

 SI et DI : servent à repérer un élément dans un tableau dont la base est pointée par
BP.

d) Registre flags :

FX : Large de 16 bits mais 9 bits seulement sont accessibles et utilisés pour la programmation.

CF PF AF ZF TF SF IF DF OF

(Carry)(Parity)(Auxiliary)(Zero)(Trace)(Sign)(Interruption)(Direction)(Overflow)

Vous aimerez peut-être aussi