Introduction aux Microprocesseurs
Introduction aux Microprocesseurs
à Microprocesseur
Niveau : GMC2
2025 - 2026
2
Historique des microprocesseurs
•Premier microprocesseur
1971 – Intel 4004 commercial (4 bits, 2300
transistors).
3
Architecture interne d’un microprocesseur
1 – Définition
>>>>> 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
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
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
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.
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
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 :
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.
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
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 :
10010011 00111110
18
Organisation des informations
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.
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
21
Phase 2 : Décodage de l’instruction et recherche de l’opérande
1
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
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
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.).
Signal
original Mémoire
Entrées/sorties Signal
traité 25
Différents types de processeur
26
VI – Différents types de processeur
CPU + mémoire +
Objets connectés,
Microcontrôleur périphériques Arduino, PIC
voitures
intégrés
Automatisation
API Siemens S7 Usines, robots
industrielle
27
Architectures des microprocesseurs
• 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
29
Architectures des microprocesseurs
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.
- 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.
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.
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 :
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
14 registres de 16 bits.
62
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.
A19 - A1
Circuit 8282
67
II – Architecture externe du Microprocesseur 8086
Démultiplexage des adresses et de données
68
II – Architecture interne Microprocesseur 8086
69
II – Architecture interne Microprocesseur 8086
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.
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 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
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.
79
III – Gestion de la mémoire par le 8086
80
IV– Mode d’adressage
1 –Format d’une instruction
• 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,
• 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
• 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
82
IV– Mode d’adressage
2 –Modes d ’adressages du microprocesseur 8086
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 .
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
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