Vous êtes sur la page 1sur 13

Le microprocesseur

M. Abdoulaye DIENG Janvier 2015


Sommaire
1. Présentation
2. Composants de base
a) Unité de mémoire cache
b) Unité de commande
c) Unité d’exécution
3. Traitement d’une instruction
a) Format basique d’une instruction
b) Les étapes
c) Exemple d’une addition
Présentation

• Le processeur est le composant qui calcule, transforme et interprète


les informations sur les ordres de l'utilisateur.
• Il est cadencé au rythme d’une horloge interne (cristal au quartz
soumis à un courant électrique) qui envoie des impulsions que l’on
appelle "tops".
• La fréquence ou nombre de tops par seconde est exprimé en Hertz
et de nos jours en GigaHertz. Pour exemple un processeur cadencé
à 1Ghz effectue 1 milliard d’opérations à la seconde.
• Il existe principalement deux fabricants de processeurs :
Intel (Pentium et Celeron ) et AMD (Athlon et Duron ).
Composants de base
schéma

D instruction1
é instruction2
c

o
d
e donnée1
u donnée2
r …
Composants de base
présentation

Les principaux éléments d'un microprocesseur sont les suivants :


• Une unité de mémoire cache qui contient les instructions et
données les plus fréquemment utilisées.
• Une unité de commande (ou unité d’instruction) qui lit les
instructions, les décode puis les envoie (sous forme de signaux) à
l'unité d'exécution ;
• Une unité d'exécution (ou unité de traitement), qui accomplit les
tâches que lui a données l'unité de commande.
Composants de base
unité de mémoire cache

Il y a plusieurs niveaux de mémoire cache :


• Level 1 Cache : directement intégrée dans le cœur du processeur, elle
contient les instructions et les données fréquemment utilisées par le
micro-processeur. Les instructions et les données sont généralement
séparées.
• Level 2 Cache : située dans la puce du processeur pour s'intercaler
entre le cache interne et la mémoire principale.
Composants de base
unité de commande

L'unité de commande (UC) est constituée des éléments suivants :


• compteur ordinal (CO) : registre qui contient l’adresse du mot
mémoire stockant la prochaine instruction à exécuter ;
• registre d'instruction (RI) qui contient le code de la dernière
instruction lue à partir de la mémoire cache ;
• décodeur qui détermine l'opération à exécuter et l’opérande (objet
de l’opération) à partir du code de l'instruction stockée dans le RI;
• séquenceur qui génère les signaux de commandes nécessaires
pour actionner et contrôler les unités participant à l’exécution d’une
instruction.
• horloge qui distribue régulièrement des impulsions pour
synchroniser les opérations élémentaires.
Composants de base
unité d’exécution

L'unité d'exécution est composée des éléments suivants :


• L'unité arithmétique et logique (notée ALU pour Arithmetical and
Logical Unit) qui assure les fonctions basiques de calcul arithmétique et
les opérations logiques (ET, OU, Ou exclusif, etc.) ;
• L'unité de virgule flottante (notée FPU, pour Floating Point Unit), qui
accomplit les calculs complexes que ne peut réaliser l‘ALU
• le registre accumulateur (ACC), stockant un opérande ou un résultat
d’une opération arithmétique ou logique ;
• le registre d'état (PSW, Processor Status Word), permettant de stocker
des indicateurs sur l'état du système (dépassement(O), retenue(C),
signe(S), zéro(Z)).
Traitement d’une instruction
format basique d’une instruction
• Un format basique d’une instruction est composé de deux champs
• Le premier est le code de l’opération à effectuer.
Exemples de mnémoniques de codes d’opérations en Assembleur :
LOAD (lire en mémoire), ADD (Additionner), STORE (écrire en mémoire)
• Le second peut stocker :
– la valeur de l’opérande (adressage immédiat)
– l’adresse du mot mémoire qui stocke l’opérande (adressage direct)
– le numéro du registre qui stocke l’opérande (adressage registre)
Opérande = donnée qui subit l’opération.
• Exemples :
L’instruction « algorithmique » c ← a + b avec a, b et c des mots
mémoires s’exécute comme suit :
LOAD a qui signifie ACC ← a
ADD b qui signifie ACC ← ACC + b
STORE c qui signifie c ← ACC
(ACC est le registre accumulateur)
Traitement d’une instruction
étapes

• Le traitement d’une instruction peut être décomposé en quatre phases :


– phase 1 : recherche de l’instruction ;
– phase 2 : décodage de l’instruction ;
– Phase 3 : recherche de l’opérande (si adressage non immediat) ;
– Phase 4 : exécution de l’instruction.
• Chaque phase comporte un certain nombre d’opérations élémentaires
exécutées dans un ordre bien précis
• Une phase 5 de stockage du résultat de certaines opérations peut être
envisagée
Traitement d’une instruction
exemple d’une addition (schéma)

Addition a + b RI: ADD ADR(b)


2
3
9
instruction1
instruction2
1 …

donnée1
13 8 donnée2
… 10 4
7
12 6
11

Rech. Inst Décodage Rech. Opérande Exécution


Traitement d’une instruction
exemple d’une addition (suite)

Addition a + b R I : ADD ADR(b)


NB : On suppose que la valeur de a est déjà stockée ds ACC càd que
l’instruction ADD b est déjà précédée de l’instruction LOAD a.

• Phase 1 : (recherche de l’instruction)


1) Mettre le contenu du CO dans le registre RAM : RAM  (CO)
2) Incrémenter le CO : CO  (CO) + taille(RI)
3) Commande de lecture à partir de la mémoire cache : R/W=1
4) Transfert de l’instruction dans le registre RIM : RIM ADD ADR(b)
5) Transfert du contenu du RIM dans le registre RI : RI  (RIM)
RAM = Registre d’Adresse Mémoire
RIM = Registre d’Information Mémoire
Traitement d’une instruction
exemple d’une addition (suite et fin)
• Phase 2 : (décodage de l’instruction)
6) Décodage du type de l’opération et de l’adresse de l’opérande b.
7) Information au séquenceur du type de l'opération à exécuter
• Phase 3 : (recherche de l’opérande)
8) Transfert du code de l’adr de b ds le RAM : RAM  (RI).ADR(b)
9) Commande de lecture à partir de la mémoire cache : R/W=1
10) Transfert de la valeur de b dans le registre RIM : RIM  (b)
• Phase 4 : (exécution de l’instruction)
11) Transfert de l’opérande b du RIM vers l’UAL : UAL1  (RIM)
12) Transfert de l’opérande a du registre ACC vers l’UAL : UAL2(ACC)
13) Le séquenceur demande à l'UAL d'exécuter l'opération :
ACC  (UAL1) + (UAL2)
app

Vous aimerez peut-être aussi