0% ont trouvé ce document utile (0 vote)
15 vues86 pages

Introduction aux Microprocesseurs

Le document présente une introduction aux microprocesseurs, incluant leur historique, leur architecture interne et les différents types de processeurs. Il décrit les unités de traitement et de commande, les registres, les bus, ainsi que les jeux d'instructions et leur codage. Enfin, il aborde les architectures des microprocesseurs, telles que Von Neumann et Harvard, ainsi que les types de processeurs comme les microcontrôleurs et les DSP.

Transféré par

ayavmn81
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues86 pages

Introduction aux Microprocesseurs

Le document présente une introduction aux microprocesseurs, incluant leur historique, leur architecture interne et les différents types de processeurs. Il décrit les unités de traitement et de commande, les registres, les bus, ainsi que les jeux d'instructions et leur codage. Enfin, il aborde les architectures des microprocesseurs, telles que Von Neumann et Harvard, ainsi que les types de processeurs comme les microcontrôleurs et les DSP.

Transféré par

ayavmn81
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 PDF, TXT ou lisez en ligne sur Scribd

Électronique Programmée

à Microprocesseur

Niveau : GMC2
2025 - 2026

Département de Génie appliquée

Pr. Hana ZEKRAOUI


Chapitre 1 : Notions de base sur les microprocesseurs

2
Historique des microprocesseurs

•Premier microprocesseur
1971 – Intel 4004 commercial (4 bits, 2300
transistors).

•Apparition des 8 bits (Intel 8080,


Années 70–80 Zilog Z80, Motorola 6800).

Fin 70 – début 80 •16 bits (Intel 8086 → début de la famille x86).

• 32 bits, plus de puissance et


Années 90
apparition des microcontrôleurs.

•Processeurs 64 bits, multi-cœurs,


Aujourd’hui utilisés dans PC, smartphones,
serveurs.

3
Architecture interne d’un microprocesseur
1 – Définition

Un microprocesseur, Processeur (CPU : Central Processing Unit ) :

 Le Cerveau d’un système informatique.

 Un circuit intégré complexe.

 L’intégration des fonctions logiques et séquentielles sur une seule puce.

 Interprétation et exécution des instructions d’un programme .

>>>>> Il s’agit d’un processeur entièrement fonctionnel, intégré sur une seule puce, et
utilisé par un système informatique pour accomplir ses tâches

4
Architecture interne d’un microprocesseur

Unité de traitement
1

Les registers

Microprocesseur

3 2

Unité de commande
5
Architecture interne d’un microprocesseur

1.1 – Unité de traitement

 L’unité arithmétique et logique l’UAL : Un circuit complexe composé de circuits


logiques tels que les additionneurs, soustracteurs, comparateurs logiques…etc.,
afin d’effectuer les calculs et les opérations logiques (ET, OU, Comparaison,
Décalage, etc…)ou arithmétiques (Addition, soustraction) des différentes
instructions à exécuter.

 L’accumulateur : C’est un registre de travail très important de l’UAL, il sert à


stocker le résultat des opérations traitées et réalisées par L’UAL.

 Registre d’état : est généralement composé de 8 bits, il sert à stocker des informations concernant le
résultat de la dernière instruction exécutée. Chacun de ces bits est un indicateur dont l'état dépend
du résultat de la dernière opération effectuée par l’UAL. On les appelle indicateur
d’état ou flag ou drapeaux.
6
7
Architecture interne d’un microprocesseur
1.2 – Unité de commande

 Le compteur de programme : appelé aussi compteur ordinal (CO). Il est constitué


par un registre dont le contenu représente l’adresse de l' instruction à executer.

 Le registre d'instruction et le décodeur d'instruction : L’instruction en cours de


traitement est transférée depuis la mémoire et rangée dans le registre
d’instruction, elle est décodée ensuite par le décodeur d’instruction.

 Bloc logique de commande (séquenceur): Il gère séquencèrent l'exécution des instructions au rythme d’une
horloge. Il élabore et génère tous les signaux de synchronisation: les signaux de bus de commande (RD, WR,
etc.) et les signaux internes au microprocesseur (gestion des registres, de l’UAL, etc.), en fonction de
l’instruction provenant du décodeur d’instruction ou du registre d’état par exemple. Il s'agit d'un automate

réalisé soit de façon câblée (obsolète), soit de façon micro-programmée.


8
Architecture interne d’un microprocesseur

1. 3 – Les registres

Un registre est une zone mémoire à l’intérieur du microprocesseur de faible taille, qui permet de
mémoriser des mots mémoires ou des adresses d’une façon temporaire lors de l’exécution des
instructions.

Il existe deux types de registres :

 Les registres généraux : sont des mémoires rapides, à l'intérieur du microprocesseur, qui permettent à
l'unité d'exécution de manipuler des données à vitesse élevée. Ils permettent de sauvegarder des
informations utilisées dans les programmes ou des résultats intermédiaires afin d’éviter des accès à la
mémoire et accélérer l’exécution des programmes.

 Les registres d’adresses : sont des registres connectés sur le bus adresses, leur contenu est une
adresse en mémoire centrale.
9
Architecture interne d’un microprocesseur

Registre
Unité de traitement

d’adresses

Bus
Registre de Unité de commande
Données

10
Architecture interne d’un microprocesseur
1.4 – Les Bus

Le bus : l’élément qui gère les échanges entre le microprocesseur et les autres composantes

Pour communiquer avec les autres composants, un microprocesseur a besoin en général de trois bus :

 Un bus de données

 Un bus d’adresse

 Un bus de commande

11
Architecture interne d’un microprocesseur
1.4 – Les Bus

Bus d’adresse : La mémoire est composée de nombreuses cases mémoires. Chaque case est repérée par une
adresse. Lorsque le microprocesseur veut, par exemple, lire une case, il doit indiquer à quelle adresse elle se
trouve. Il met cette adresse sur le bus d’adresses. La case mémoire reconnaît alors son adresse et met sur le bus
de données son contenu. Le bus d’adresse est unidirectionnel : du microprocesseur vers les autres composants
et il se compose de 16 à 32 fils.

12
Architecture interne d’un microprocesseur
1.4 – Les Bus

Bus de commandes : est constitué d'un ensemble de "commandes" de lecture et d’écriture, permettant la
synchronisation et bien sûr la commande des boîtiers mémoires et entrées/sorties par le microprocesseur.

13
Architecture interne d’un microprocesseur

1.4 – Les Bus

Bus de données : Il permet de véhiculer les données du microprocesseur vers un composant ou d'un
composant vers le microprocesseur. Il est donc bidirectionnel. Le nombre de fils de ce bus varie suivant les
microprocesseurs (8 / 16 / 32 / 64 bits).

14
Organisation des informations
1 – Jeux d’instructions

Un jeu d'instructions de microprocesseurs : est l'ensemble des instructions codées en binaire qui vont
permettre au microprocesseur d'exécuter un programme

Les instructions existées dans chaque microprocesseur sont classées en 4 classes principales :

 Les instructions de transferts de données

 Les instructions arithmétiques et logiques

 Les instructions de contrôle de séquence

 Les instructions flottantes

15
Organisation des informations
1.1 – Types de jeux d’instructions

 Instructions de transferts de données : ces instructions sont pour effectuer des mouvements de
données permettant des transferts « registre-registre », « registre-mémoire » , ou des instructions de
changement permet d'échanger directement deux opérandes sans copie intermédiaire.

 Ces instructions spécifient l'emplacement de la source et de la destination, la taille des données à


transférer, ainsi que la manière d'accéder à ces données.

 Instructions arithmétiques et logiques : Ces instructions réalisent des opérations arithmétiques


(addition, soustraction, division, multiplication) et logiques (ET, OU, NON, NAND, comparaison, test, etc…).

16
Organisation des informations
1.1 – Types de jeux d’instructions

 Instructions de contrôle de séquence : Ces instructions sont de deux types , les instructions de
transferts inconditionnels concernent les instructions de saut, d'appel et de retour de procédures et les
instructions de transferts conditionnels sont relatives à l'état du registre d’état.

 Les instructions flottantes : Les opérations de calcul sur les flottants peuvent être divisées en deux
catégories. La première comporte toutes les instructions dites « simples » qui correspondent aux
instructions flottantes arithmétiques d'un microprocesseur (addition, multiplication, division, racine
carrée...). La deuxième catégorie d'instructions arithmétiques est composée d'instructions dites «
transcendantales » qui réalisent les fonctions trigonométriques, logarithmiques ou hyperboliques.

17
Organisation des informations

1.2 – Codage, mode d’adressage et temps d’exécution d’une instruction

 Codage d’instruction : Une instruction est composée de deux champs : le code instruction qui indique
au processeur quelle instruction réaliser et le champ opérande qui contient la donnée, ou la référence
à une donnée en mémoire (son adresse). La taille des instructions et leurs opérandes (paramètres)
stockés en mémoire principale dépend du type d’instruction et aussi du type d’opérande.

Exemple :

Code instruction/ opératoire Code opérande

10010011 00111110

18
Organisation des informations

1.2 – Codage, mode d’adressage et temps d’exécution d’une instruction

 Mode d’adressage : définit la manière dont le microprocesseur va accéder à l’opérande. Les


différents modes d'adressage dépendent des microprocesseurs mais on retrouve en général :

 l'adressage de registre où l’on traite les données contenues dans un registre

 l'adressage immédiat où l’on définit immédiatement la valeur de la donnée

 l'adressage direct où l’on traite une donnée en mémoire

 Temps d’exécution : Chaque instruction nécessite un certain nombre de cycles d’horloges pour
s’exécuter. Le nombre de cycles dépend de : la complexité de l’instruction et du mode d’adressage.

 La durée d’un cycle dépend de la fréquence d’horloge.


19
Organisation des informations
2 – Cycle d’exécution d’une instruction

Recherche de l’instruction à
traiter
1
Exécution de
l'instruction
Décodage de l’instruction
Cycle et recherche de l'opérande
3 d’exécution
instruction
2

20
Phase 1 : recherche de l’instruction à traiter
1

l'adresse de l'instruction
du programme est placée
sur le bus d'adresses.

le contenu de la case
mémoire sélectionnée est
disponible sur le bus des
données

L'instruction est stockée


dans le registre instruction
du processeur

21
Phase 2 : Décodage de l’instruction et recherche de l’opérande
1

L'unité de commande transforme


l'instruction en une suite de
commandes élémentaires
nécessaires au traitement de
l'instruction ( UAL)

2
.
Si l'instruction nécessite une
donnée en provenance de la
mémoire, l'unité de commande
récupère sa valeur sur le bus de
données

3
L’opérande est stocké dans le
registre de données .

22
Phase 3 :Exécution de l’instruction

l'instruction est exécutée.

Les drapeaux sont positionnés


(registre d'état).

3
L'unité de commande
positionne le PC pour
l'instruction suivante.

23
Différents types de processeur

1 – Microcontrôleur

Un microcontrôleur : est un circuit intégré rassemblant dans un même boitier un microprocesseur, plusieurs
types de mémoires ( RAM, ROM…) et des périphériques de communication (Entrées-Sorties), le tout intégré
sur une seule puce.

Microprocesseur Microcontrôleur
Le cœur d’un système informatique Cœur d’un système embarqué
Les composants de mémoire et d’E/S doivent être Dispose un µprocesseur ainsi que des composants de
connectés en externe mémoire et d’E/S internes
Le cout de l’ensemble de système augmente Le cout de l’ensemble de système est faible
Le microprocesseur a moins de registre, les opérations Les microcontrôleurs ont un grand nombre de registres,
sont basées sur la mémoire ce qui facilite l’écriture des programmes

24
Différents types de processeur

2 – Processeur de signal numérique

Un processeur de signal numérique ( Digital Signal Processor :DSP ) : est un microprocesseur optimisé pour
les calculs. Son application principale est le traitement du signal numérique en temps réel (filtrage, extraction
de signaux, etc.).

Schéma générale d’utilisation d’un DSP pour traitement de signal

Signal
original Mémoire

Conversion Analogique Conversion Numérique


Filtre Numérique DSP Analogique Filtre
(CAN) (CNA)

Entrées/sorties Signal
traité 25
Différents types de processeur

2 – L’API (Automate Programmable Industriel)

• L’API (Automate Programmable Industriel) :


est un processeur utilisé pour piloter et automatiser
des machines industrielles.
 Caractéristiques : Robuste, fiable, conçu pour
fonctionner 24h/24 en milieu industriel. Facile à
programmer (ladder, Grafcet).

26
VI – Différents types de processeur

Type de processeur Caractéristiques Exemple Applications

Microprocesseur CPU seul, besoin


Intel i7, AMD Ryzen PC, serveurs
standard mémoire externe

CPU + mémoire +
Objets connectés,
Microcontrôleur périphériques Arduino, PIC
voitures
intégrés

Optimisé pour Audio, vidéo,


DSP TI TMS320
signaux numériques télécoms

Automatisation
API Siemens S7 Usines, robots
industrielle

27
Architectures des microprocesseurs

• Architecture Von Neumann


- Instructions et données dans la même
mémoire
- Plus simple mais accès limité par un seul bus
- Utilisé dans les PC classiques

• Architecture Harvard
- Instructions et données dans des mémoires
séparées
- Plus rapide, accès parallèle
- Utilisé dans les microcontrôleurs modernes

28
Architectures des microprocesseurs

• CISC (Complex Instruction Set Computer)

-Processeurs avec un jeu d’instructions très riche et


complexe. Chaque instruction peut réaliser une
opération assez compliquée.
-Code machine plus compact, facile pour les
programmeurs.
-Processeur plus lent car les instructions sont longues
à exécuter.
-Intel x86, AMD.

29
Architectures des microprocesseurs

• RISC (Reduced Instruction Set Computer)


-Processeurs avec un jeu d’instructions réduit et
[Link] instructions sont très rapides, souvent
exécutées en 1 cycle d’horloge.
-Plus grande rapidité et efficacité.
-Il faut plus d’instructions pour réaliser une tâche
complexe.
-ARM (smartphones, tablettes), MIPS, PowerPC.

30
Principe de Caractéristiques Exemples de
Type d’architecture Avantages Inconvénients
fonctionnement principales processeurs
- Bus unique pour
données et
Mémoire unique pour - Moins rapide pour Intel 8086, AMD K6,
instructions.- - Conception simple.
Von Neumann les données et les les applications processeurs x86
Exécution - Coût réduit.
instructions. intensives. anciens.
séquentielle.- Accès
mémoire partagé.
- Deux bus distincts :
un pour les -Plus rapide - Conception plus
Séparation de la PIC, AVR, ARM Cortex-
instructions et un pour - Meilleures complexe.
Harvard mémoire des données M, DSP (Digital Signal
les données.- Accès performances pour les - Plus coûteuse en
et des instructions. Processor).
simultané aux deux systèmes embarqués. matériel.
mémoires.

- Instructions de - Exécution rapide.


RISC (Reduced - Programme plus long
Jeu d’instructions taille fixe. - Facile à optimiser ARM, MIPS, SPARC,
Instruction Set (plus d’instructions
réduit et simple. - Une instruction par pour le PowerPC.
Computer) nécessaires).
cycle d’horloge. compilateur.

- Moins d’instructions
- Une seule
CISC (Complex par programme.- - Exécution plus lente.-
Jeu d’instructions instruction peut Intel x86, AMD64,
Instruction Set Simplifie la Architecture plus
complexe et varié. réaliser plusieurs VAX.
Computer) programmation en complexe.
opérations.
assembleur.
31
Chapitre 2 : Les registres
 Définition
Un registre est un système séquentiel, permettant la mémorisation d’un ensemble d’informations (de bits). Il est
donc constitué de n bascules, mémorisant chacune un bit, connectées à la même horloge. La figure 1.1 donne un
exemple de registre n bits.

Entrées Parallèles Lecture

Lecture n bits
Ecriture
Entrée 1 bit
Série
1 bit
Sortie
REGISTRE Série

Horloge

n bits
Sens de décalage
Chargement Ecriture

Sélection Sorties
Parallèles

33
 Classement des registres
Il existe plusieurs types de registres dont chacun est bien adapté à un certain type d’application. Donc, la
fonction du registre dépend de l’interconnexion entre les entrées et les sorties.

Table 1 : Types des registres.

Type Structure Description Mode de fonctionnement

Ecriture Lecture fonction

PIPO Parallèle - Parallel Input - Parallel Parallèle Parallèle Mémorisation


Parallèle Output
SISO Série - Série Serial Input - Serial Output Série Série Décalage

SIPO Série - Parallèle Serial Input - Parallel Série Parallèle Décalage


Output
PISO Parallèle - Série Parallel Input - Serial Parallèle Série Décalage
Output

 Un autre type de registres dits registres universels (registres à entrées série ou parallèles et sorties
série ou parallèles).

34
 Exemple d’un registre à 04 bits :

35
 Applications des registres
Par le biais des registres, on peut réaliser un certains nombres d’applications particulière en électronique
numérique, à savoir :
• Stockage (mémorisation) des informations sous forme binaire.
• Transfert (transmission) des données.
• Conversion des données (parallèle-série, Série- parallèle).
• Opérations arithmétiques et logiques (test, comptage, comparaison, division, …).
• Synchronisation des signaux avec une horloge.

Suite à ces applications offertes par les registres, on peut classer les registres en quatre grandes famille :
• Registres à décalage.
• Registres de mémorisation.
• Registres de synchronisation.
• Registres de comptage (Compteurs).

36
 Registres à décalage
L’opération de décalage consiste à transférer des données entre deux cellules binaires consécutives, selon un
sens (de transfert) :
• Bidirectionnel.
• Unidirectionnel (de droite vers la gauche, de gauche vers la droite).
Exemple : Dans la multiplication binaire, il est nécessaire de décaler des bits à gauche ou à droite.

37
 Structure d’un registre universel
La structure d’un registre dépend de sa fonction, c-à-d, le type de chargement : série (introduction des bits
d’information l’un après l’autre) ou parallèle (introduction simultanée des bits d’informations).
Variable Rôle
X
Entrée de chargement parallèle sur
n bits
Entrée série (décalage série à droite)
XR
Entrée série (décalage série
XL à
gauche)
CTRL 2 lignes de contrôle (chargement
parallèle ou décalage série)
CLR Entrée d’initialisation (a)synchrone
Z Sortie sur n bits

38
 Exemple : Soit un mot de 08 bits (taille de registre = 8), on peut lui faire subir plusieurs types de
décalage, à savoir :
 Décalage à droite (SR : Shift Right).
 Décalage à gauche (SL : Shift Left)
 Décalage circulaire (avec rotation)
-Rotation à gauche.
-Rotation à droite.

39
40
41
 Registre de transfert Parallèle- Parallèle à 04 bits à base des bascules D.

42
Exercices
Exercice 1 :

En vous basant sur le signal d’entrée et l’horloge présentés dans la figure,


Tracez les formes d’onde des sorties Q. On suppose que le registre est
initialement chargé avec des 1.
43
Exercices

Exercice 2 :
Le registre à décalage de la Figure (a) dispose des entrées SHIFT/LOAD et CLK,
comme illustré dans la Figure (b).L’entrée de données série (SER) est égale à 0.
Les entrées de données parallèles sont les suivantes : D0 = 1, D1 = 0, D2 = 1 et
D3 = 0, comme indiqué.
- Déterminez et tracez la forme d’onde de sortie des données en fonction des
entrées.

a b
44
 Registre universel, le 74LS194A

45
 Les compteurs :

46
47
 Compteurs asynchrones à cycle complet :

48
49
50
 Compteurs asynchrones à états (cycle) incomplets :

51
52
53
54
 Compteurs synchrones

55
56
57
58
59
Chapitre 3 : Etude d’un microprocesseur 8086
I – Caractéristiques du Microprocesseur 8086

 Disponible depuis 1987

 Le microprocesseur Intel 8086 est un microprocesseur 16


bits.

 Il se présente sous forme d'un boîtier de 40 broches .

 Il possède un bus multiplexé adresse/donnée de 20 bits.

 Un bus de donnée de 16 bits.

 Un bus d'adresse de 20 bits.

 14 registres de 16 bits.

 Espace mémoires des E/S est séparé du reste de la


mémoire.
61
II – Architecture externe du Microprocesseur 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 (4,77 MHz).

 RESET : entrée de remise à zéro du microprocesseur. Lorsque


cette entrée est mise à l’état haut pendant au moins 4 périodes
d’horloge, le microprocesseur est réinitialisé. Le signal de RESET
est fourni par le générateur d’horloge.

 READY : entrée de synchronisation avec la mémoire ou bien les


interfaces d’E/S. Ce signal provient également du générateur
d’horloge.

62
II – Architecture externe du Microprocesseur 8086

 TEST : entrée de mise en attente du microprocesseur d’un


événement extérieur. (Si TEST = 0 → le 8086 attend (il reste
bloqué). Si TEST = 1 → le 8086 reprend l’exécution.

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


microprocesseur :

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

o 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 Maskable Interrupt) :
interruption prioritaire.
 INTA : Interrupt Acknowledge, indique que le microprocesseur
accepte l’interruption.
63
II – Architecture externe du Microprocesseur 8086

 HOLD : est utilisée pour indiquer au microprocesseur qu'un


autre périphérique souhaite utiliser le bus.

 HLDA : pour confirmer que le 8086 a reçu la demande et qu'il


est prêt à libérer le bus.

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


sur le bus.

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

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

 M/IO : Memory/Input-Output, la mémoire (M/IO = 1), les


entrées/sorties (M/IO = 0). Pour indiquer au matériel externe si
c’est un accès mémoire ou I/O.
 ALE : indique que des adresses sont en train de circuler sur le bus
A/D .
64
II – Architecture externe du Microprocesseur 8086

 DEN : Data Enable, indique que des données sont en train de


circuler sur le bus A/D (équivalent de ALE pour les adresses).

 DT/R : Data Transmit/Receive, indique le sens de transfert des


données :

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

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

 AD0 à AD15 : 16 bits du bus d’adresses, multiplexés avec 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ù 1 Mo d’espace mémoire adressable par le 8086. 65
II – Architecture externe du Microprocesseur 8086

 BHE : utilisé pour activer les données sur la moitié la plus significative du bus de données, broches D15–D8.

8 bits D7-D0 8 bits D15-D8


D15-D0 D7-D0 D7-D0
16 bits

Banque paire Banque impaire


8086

A19 - A1

A0 𝐁𝐇𝐄 Octet transféré


0 0 Les deux octets
0 1 Octet du poids faible (banque paire)
1 0 Octet du poids fort (banque impaire)
1 1 Aucun transfert 66
II – Architecture externe du Microprocesseur 8086
Démultiplexage des adresses et de données

Circuit 8282

67
II – Architecture externe du Microprocesseur 8086
Démultiplexage des adresses et de données

68
II – Architecture interne Microprocesseur 8086

Elle regroupe les fonctions de


traitement (unité arithmétique
et logique), les registres
généraux, le décodeur
d'instruction).
Elle exécute les instructions
contenues dans la file d’attente.
La file d'attente est alimentée
par le BIU (Bus Interface Unit,
unité d'interface de bus).

69
II – Architecture interne Microprocesseur 8086

Elle recherche les instructions en


mémoire et les range dans une
file d’attente ;
Elle recherche les opérandes.
Elle stocke les résultats après
l’exécution .
Elle dispose d’une file d’attente
de 6 octet qui sont transmis 1 à 1
à l’EU.

70
71
II – Architecture interne Microprocesseur 8086

Registres généraux

Registres d’adressage

Registres du µP 8086

Registres de segment

Registres de commande

72
II – Architecture interne Microprocesseur 8086

Registres généraux

Registre Accumulateur AX : Toutes les opérations de transferts de données avec les entrées-sorties ainsi
que le traitement des chaînes de caractères se font dans ce registre, de même les opérations
arithmétiques et logiques.

Registre de Base BX : Il est utilisé pour l'adressage de données : en général il contient une adresse de
base. (Par exemple, l'adresse de début d'un tableau). De plus il peut être utilisé dans toutes les opérations
arithmétiques et logiques.

Registre Compteur CX : Lors de l'exécution d'une boucle on a souvent recours à un compteur de boucles,
le registre CX a été fait pour servir comme compteur lors des instructions de boucle.

Registre de Donnée DX : On utilise le registre DX pour les opérations de multiplication et de division

73
II – Architecture interne Microprocesseur 8086

Registres généraux

Registres d’adressage

Registres du µP 8086

Registres de segment

Registres de commande

74
II – Architecture interne Microprocesseur 8086

Registres d’adressage

Registres de pointeurs SP et BP : Ils pointent sur la zone pile (une zone mémoire qui stocke l'information
avec le principe LIFO) . Ils s'appellent pointeur de pile et pointeur de base respectivement . Pour le
registre BP il a un rôle proche de celui de BX, mais il est utilisé avec le segment de pile.

 Registre SP pointe sur le sommet de la pile .


 Registre BP permet de manipuler les données existantes dans la pile (paramètres de fonction,
variables locales, ...), ainsi, adresser des données sur la pile.

Registre d’index SI et DI : SI index de source et DI index de destination. Ils permettent de pointer et gérer
les tableaux et les chaines de caractères dans la mémoire réservée aux données.

75
II – Architecture interne Microprocesseur 8086

Registres généraux

Registres d’adressage

Registres du µP 8086

Registres de segment

Registres de commande

76
II – Architecture interne Microprocesseur 8086

Registres de segment

• Registre de Segment de Données DS : Il pointe sur le segment qui contient les données.

• Registre de Segment de Code CS : Il pointe sur le segment qui contient les codes des instructions du
programme en cours.
• Registre de Segment de la Pile SS : pointe sur le segment des variables globales du programme.
• Registre de Segment de données supplémentaires ES : Le registre de données supplémentaires ES est
utilisé par le microprocesseur lorsque l'accès aux autres registres est devenu difficile ou impossible
pour modifier des données, de même ce segment est utilisé pour le stockage des chaînes de
caractères.

77
II – Architecture interne Microprocesseur 8086

Registres de commande

Registre de Pointeur d’Instruction IP : Pointeur d'instruction IP contient l'adresse de l'instruction


suivante qui doit être exécutée. Il est constamment modifié après l'exécution de chaque instruction afin
qu'il pointe sur l'instruction suivante à exécuter.

Flags : Il indique l'état de µprocesseur après l'exécution d'une instruction.

OF DF IF TF SF ZF AF PF CF

Indicateurs de contrôle :
- Bit Trace (TF ) : mode de fonctionnement du microprocesseur (0: mode normal, 1 : mode pas à pas)
- Bit Direction ( DF ) : ce bit est mis à 0 si le sens de traitement de chaine de caractères est direct (=1 : sens inverse).
- Bit Interruption (IF ): le bit est mis à 1 si une interruption est autorisée .
78
III – Gestion de la mémoire par le 8086

L’espace mémoire adressable par le 8086 est de 220 octets = 1 Mo (20 bits d’adresses). Cet espace mémoire est
trop grand pour être utilisé directement avec des registres 16 bits. le 8086 utilise la segmentation.
Un segment est une zone mémoire de 64 Ko (65 536 octets) définie par son adresse de départ qui doit être un
multiple de 16 (216). Les segments permettent de découper la mémoire et de faciliter la gestion des programmes.

Une case mémoire est repérée par le


8086 au moyen de deux quantités sur 16
bits :

 l’adresse d’un segment ;


 un déplacement ou offset (appelé
aussi adresse effective) dans ce
segment.

Cette méthode de gestion de la mémoire


est appelée Segmentation de la mémoire.

79
III – Gestion de la mémoire par le 8086

Une adresse logique : notée sous la forme segment : offset, définit


par la donnée d’un couple (segment, offset).

Une adresse physique : adresse d’une case mémoire correspond à


la valeur envoyée réellement sur le bus d’adresses A0 - A19, elle est
donnée sous la forme d’une quantité sur 20 bits .

adresse physique = 16 × segment + offset

80
IV– Mode d’adressage
1 –Format d’une instruction

Etiquette: Opération Opérande ;


Commentaires

• Le champ étiquette sert à donner un nom à • Le champ opération est celui qui indique l'opération à réaliser; il
l'instruction . peut contenir une instruction ou une directive .

• Chaque étiquette d'un programme doit être • Dans ce champ on doit utiliser les symboles instructions prédéfinis,

unique. comme par exemple: ADD , SUB, MOV, ROT, etc.

• Les étiquettes symboliques pour désigner • On peut également y utiliser des directives : Byte pour réserver 1
octet dans la mémoire, Word pour définir des constantes ou des
certaines adresses. L'étiquette est associée à
variables possédant une valeur initiale sur 2 octets, END pour
une adresse et peut alors être utilisée dans
indiquer la fin physique du programme
d'autres instructions.

81
IV– Mode d’adressage
1 –Format d’une instruction

Etiquette: Opération Opérande ; Commentaires

• Le champ opérande se compose d'un ou de deux sous-champs séparés par Le champ commentaire est
des virgules. Le nombre et la nature des sous-champs dépend du champ facultatif et permet d'inclure des
opération. commentaires explicatifs dans
• Par exemple, l'instruction assembleur : MOV DESTINATION,SOURCE chaque instruction

va copier la donnée qui se trouve à l'adresse SOURCE dans le contenu de


l'adresse DESTINATION.

Les opérandes peuvent être : une adresse mémoire, une constante ou un


registre

82
IV– Mode d’adressage
2 –Modes d ’adressages du microprocesseur 8086

 Adressage immédiat: La donnée est fournie immédiatement avec l’instruction

Exemple MOV AX,21

 Adressage d’un registre : le transfert se fait de registre à registre.

Exemple MOV AX,BX

 Adressage direct : L’instruction comporte l’adresse effective de la case mémoire où se trouve la


donnée

Exemple MOV BX,[0200h]

83
IV– Mode d’adressage
2 –Modes d ’adressages du microprocesseur 8086

Remarque : dans le cas de l’adressage immédiat de la mémoire, il faut indiquer le format de la donnée :
octet ou mot (2 octets) car le microprocesseur 8086 peut manipuler des données sur 8 bits ou 16 bits.
Pour cela, on doit utiliser un spécificateur de format.

MOV byte ptr [1100h],65H : transfère la MOV word ptr [1100h],65H : transfère la valeur
valeur 65H (sur 1 octet) dans la case mémoire 0065H (sur 2 octets) dans les cases mémoire
d’offset 1100H d’offset 1100H et 1101H.

84
IV– Mode d’adressage
2 –Modes d ’adressages du microprocesseur 8086

 Adressage indirect par registre / indirect basé : l’instruction spécifie un registre qui contient
l’adresse de la donnée .

Exemple : MOV AL,[BX]

 Adressage indirect indexé :

Exemple MOV AL ,[BX+SI]

 Adressage indirect par registre/ basé avec déplacement : l’adresse effective est obtenu en faisant la
somme d’un registre de base, et d’une valeur constante

Exemple MOV [BX+100h],AL

85
Exercices
Exercice 1:
Soit un microprocesseur (µP) disposant d’un bus d’adresses de 16 bits et d’un bus de données de 8 bits.
1-Quelle est la capacité mémoire maximale de ce µP (en octets) ?

Exercice 2 :
Un registre d’adresses d’une mémoire comporte 32 bits.
1-Calculer la capacité mémoire adressable lorsque 1 mot = 1 octet.
2-Calculer la capacité mémoire adressable lorsque 1 mot = 32 bits.

Exercice 3:
Une mémoire de 64 Mo est organisée en cases de 16 bits.
1-Déterminer le nombre de lignes d’adresses nécessaires pour adresser toute la mémoire.

86

Vous aimerez peut-être aussi