Vous êtes sur la page 1sur 65

Architecture des ordinateurs :

Processeur

Majdoulayne HANIFI

2021- 2022
Processeur

Introduction

 L’ordinateur a besoin de deux choses pour travailler : le processeur et la mémoire.

 La mémoire contient des informations qui y sont stockées.

 Celles-ci concernent les instructions des programmes et les données à traiter et calculer
par le processeur.

 Ces informations vont de la mémoire vers le processeur, puis retournent vers la mémoire,
transformés selon les résultats.

 Le transit des données se fait par le bus des données.


Processeur

Introduction
 La réalisation matérielle des microprocesseurs 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’interfaces


Entrées/Sorties, sous forme de 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
circuler n bits simultanément

 Les microprocesseurs peuvent être classés 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, 64 bits
Processeur

Introduction

 Un microprocesseur est un circuit intégré complexe caractérisé par une très grande
intégration et doté des outils d'interprétation et d'exécution des instructions d'un programme.

 Il est chargé d’organiser les tâches précisées par le programme et d’assurer leur exécution.

 Il doit aussi prendre en compte les informations extérieures au système et assurer leur
traitement.
Processeur

Introduction

• Certains spécialistes l’appellent aussi le « cerveau ».

• Mais c’est un cerveau vide, puisqu’il ne fait qu’obéir aux ordres qu’il reçoit.

• Il fonctionne séquentiellement au rythme d’un signal de synchronisation

• Il a pour charge d’exécuter les programmes qui sont stockés dans la mémoire principale,
instruction après instruction, au rythme de l’horloge.
Processeur

Architecture de base d’un microprocesseur

 Un microprocesseur est construit autour de deux éléments principaux :

1. Une unité de commande

2. Une unité de traitement


Processeur

Architecture de base d’un microprocesseur


 Un microprocesseur est construit autour de deux éléments principaux :

I. Une unité de commande :

• Appelé aussi unité de contrôle, qui organise l’enchaînement des étapes de la tâche à
effectuer, ainsi que le transfert des données.

 Elle va chercher les instructions situées dans la mémoire, les charge, les décode.

 C’est elle qui distribue les signaux de commande aux circuits concernés.
Processeur

Architecture de base d’un microprocesseur


 Pour cela, elle est composée par :

 le compteur de programme (PC):

 C’est un registre d’adresse.

 Contient l’adresse de la prochaine instruction à exécuter.

 Incrémenté après l’exécution de chaque instruction.

 Initialisé à zéro au début.


Processeur

Architecture de base d’un microprocesseur


 Pour cela, elle est composée par :

 le compteur de programme (PC):

 Il est directement lié au registre d’adresse qui contient l’adresse du mot


mémoire.

 Cette adresse est placée sur le bus d’adresses et devient

la valeur d’entrée du circuit de sélection qui va à partir de cette entrée

sélectionner le mot correspondant.


Processeur

Architecture de base d’un microprocesseur


 Pour cela, elle est composée par :

 le registre d'instruction :
Processeur

Architecture de base d’un microprocesseur


 le décodeur d'instruction :

 Elle décompose et analyse l’instruction se trouvant


dans le registre d’instructions, selon le code
opération,

 elle envoie la nature des opérations à effectuer au


séquenceur qui va ensuite générer les
microcommandes nécessaires aux différents
composants participant à l’exécution de l’instruction
en cours.
Processeur

Architecture de base d’un microprocesseur

 Bloc logique de commande (ou séquenceur) : Il organise


l'exécution des instructions au rythme d’une horloge.

 Il élabore tous les signaux de synchronisation internes ou externes


(bus de commande) du microprocesseur en fonction des divers
signaux de commande provenant du décodeur d’instruction ou du
registre d’état par exemple.
Processeur

Architecture de base d’un microprocesseur

 Exemple : Pour un microprocesseur ayant un format d’instructions à deux


adresses, l’instruction d’addition de deux variables en mémoire A et B est
représenté dans le registre d’instructions comme suit :
Processeur

Architecture de base d’un microprocesseur


II. Une unité de traitement :

 C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent


les traitements nécessaires à l'exécution des instructions :

 Registre de données (MDR) :

 Il permet l’échange d’informations (contenu d’un mot mémoire) entre la

mémoire centrale et le processeur (registre)


Processeur

Architecture de base d’un microprocesseur


2. Une unité de traitement :

 C’est le cœur du microprocesseur. Elle regroupe les circuits qui assurent


les traitements nécessaires à l'exécution des instructions :

 L’Unité Arithmétique et Logique (UAL) : est un circuit complexe qui


assure les fonctions logiques (ET, OU, Comparaison, Décalage , etc…)
ou arithmétique (Addition, soustraction…).

 Le registre d'état est généralement composé de 8 bits.

 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.
Processeur

Architecture de base d’un microprocesseur


2. Une unité de traitement :

 On les appelle indicateur d’état ou flag ou drapeaux.

 Dans un programme le résultat du test de leur état conditionne souvent le


déroulement de la suite du programme

 On peut citer par exemple les indicateurs de :

 CF (« Carry Flag ») est l'indicateur de retenue. Il est positionné à 1 si et


seulement si l'opération précédemment effectuée a produit une retenue.
Processeur

Architecture de base d’un microprocesseur


2. Une unité de traitement :

 PF (« Parity Flag ») renseigne sur la parité du résultat. Il vaut 1 si ce


dernier est pair.

 ZF (« Zero Flag ») passe à 1 si le résultat d'une opération est égal à zéro.

 SF (« Sign Flag ») passe à 1 si le résultat d'une opération sur des


nombres signés est négatif.

 TF (« Trap Flag ») est utilisé pour le « débogage » d'un programme. S'il


vaut 1, une routine spéciale du débogueur est appelée après l'exécution
de chaque instruction par le processeur.
Processeur

Architecture de base d’un microprocesseur


2. Une unité de traitement :

 IF (« Interrupt Flag ») : pour masquer les interruptions venant de l'extérieur


ce  bit  est  mis  à  0,  dans  le  cas  contraire  le  microprocesseur  reconnaît
l'interruption de l'extérieur

 OF (« Overflow Flag ») indique qu'un débordement s'est produit, c'est-à-


dire que la capacité de stockage a été dépassée.
Processeur

Architecture de base d’un microprocesseur


2. Une unité de traitement :

 Les accumulateurs sont des registres de travail qui servent à stocker un opérande au début d'une
opération arithmétique et le résultat à la fin de l'opération
Processeur

Architecture de base d’un microprocesseur


3. Mémoire et les registres MAR et MDR
Processeur

Architecture de base d’un microprocesseur


3. Mémoire et les registres MAR et MDR
Processeur

Architecture de base d’un microprocesseur


3. Mémoire et les registres MAR et MDR
Processeur

Architecture de base d’un microprocesseur

 Qu’est-ce qu’une instruction ?

 C’est une opération élémentaire exécutée par le processeur

 Cette opération étant associée à des données sur lesquelles agit l’opération
(on les appelle les opérandes)

 L’instruction est un mot binaire composé de deux champs : le code de


l’opération et le code des opérandes
Processeur

Architecture de base d’un microprocesseur

 L’instruction comporte :

 des opérations arithmétiques, comme l’addition

 des opérations logiques (et, ou, non,…)

 des opérations de lecture ou écriture dans la mémoire

 des opérations de test ou de branchement.


Processeur

Architecture de base d’un microprocesseur

 Un microprocesseur est caractérisé par :

 sa fréquence d’horloge (en GHz) : nombre de cycle par seconde

 le nombre d’instructions qu’il peut exécuter par seconde (en MIPS)

 la taille des données qu’il est capable de traiter, en bits ( un processeur 32 bits
traite des mots de 32 bits, soit 4 octets
Processeur

Architecture de base d’un microprocesseur

 L’exécution d’une instruction est cadencée par l’horloge interne, pouvant demander
plusieurs tops d’horloge, et elle se fait en répétant les étapes suivantes :

1. Envoi par le processeur de l’adresse de l’instruction à traiter (adresse située dans le


registre PC) en direction de la mémoire, puis renvoi de l’instruction dans le registre
instruction (RI) du processeur.

2. Analyse et décodage de l’instruction qui vient d’être chargée, par l’unité de


contrôle.

3. Exécution de l’instruction dans l’UAL, et stockage du résultat par le biais de


l’unité de contrôle.

4. Modification du compteur ordinal (PC) pour qu’il pointe sur l’instruction suivante.
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction :

1. Phase 1: Recherche de l'instruction à traiter (fetch)

1. Le PC contient l'adresse de l'instruction suivante

du programme. Cette valeur est placée sur le bus

d'adresses par l'unité de commande qui émet un ordre

de lecture.
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction :

1. Phase 1: Recherche de l'instruction à traiter (fetch)

2. Au bout d'un certain temps (temps d'accès à la mémoire), le contenu de la case


mémoire sélectionnée est disponible sur le bus des données.

3. L'instruction est stockée dans le registre

instruction du processeur (RI)


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction :

2. Phase 2: Décodage de l’instruction et recherche de


l'opérande (decode)

1. L'unité de commande transforme l'instruction en une suite


de commandes élémentaires nécessaires au traitement de
l'instruction.

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 un registre.


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction :

3. Phase 3: : Exécution de l'instruction (execute)

1. L'instruction est exécutée par l’UAL.

2. Les drapeaux sont positionnés (registre d'état)

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

l'instruction suivante.
Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Définition :

• La première étape de la conception d’un microprocesseur est la définition de son jeu


d’instructions.

• Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le microprocesseur


pourra exécuter.

• Il va donc en partie déterminer l’architecture du microprocesseur à réaliser et notamment


celle du séquenceur.
Processeur

Architecture de base d’un microprocesseur

Le jeu d’instruction:

• Les instructions sont caractérisées par ce qui suit:

• Les types d’instructions

• Les types de codage

• Les modes d’adressage

• Le temps d’exécution
Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

Les instructions que l’on retrouve dans chaque microprocesseur peuvent être classées en 4 groupes :

• Transfert de données :Un registre reçoit la valeur d’un autre ou échange des valeurs de deux registres

• Opérations arithmétiques : addition, soustraction, division, multiplication

• Elles sont exécutées par l’UAL.


Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

• Elles peuvent être entre deux registres ou un registre et une constante. Le résultat est rangé dans un registre.

• Exemples: L’addition (La Somme), la soustraction (La différence), la multiplication (Le produit), la division,
l’incrémentation (ajout d’un 1), la décrémentation (soustraction d’un 1), décalage à gauche et à droite, le AND
(Le produit logique), le OR (La somme logique), le NOT (La négation), …
Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

• Affectation :

Les instructions d'affectation permettent de faire des transferts de données entre les registres et la
mémoire, c'est-à-dire :

1. soit une écriture (du registre vers la mémoire)

2. soit une lecture (de la mémoire vers un registre)


Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

• branchement :

• Ce type d'instruction permet de sauter à une instruction non consécutive à l'instruction en cours.

• En l'absence de ce type d'instruction le processeur passe automatiquement à l'instruction suivante (c'est-à-dire


l'instruction contiguë (en mémoire) à l'instruction en cours).

• Les instructions de branchement permettent donc de modifier la valeur du registre PC et ainsi de choisir la
prochaine instruction à exécuter..
Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

• branchement :

• On distingue deux sortes de branchement:

• Inconditionnel : Faire le saut sans condition, donc CO ← L’adresse d'une instruction vers laquelle on fait le
saut.
Processeur

Architecture de base d’un microprocesseur


Le jeu d’instruction:

Type d’instructions :

• Inconditionnel :

• Généralement ce type de branchement exécute un grand saut (loin) et nécessite de conserver l’adresse de
retour.
• Exemple: Les appels de procédures.
• Conditionnel : Si une condition est satisfaite alors branchement (CO ← L’@ de l’instruction vers laquelle on
fait le saut)

• sinon passage simple à l'instruction suivante (CO ← CO + 1).

• Généralement ce type de branchement utilise un petit saut (adresse proche).


Processeur

Architecture de base d’un microprocesseur

Le jeu d’instruction:

• Les types de codage :

• Les instructions et leurs opérandes (paramètres) sont stockés en mémoire centrale (MC).

• Elles sont codées sur un nombre entier d'octets.

• Une instruction est composée de deux champs :

• Le code opération : Indique au Processeur quelle instruction réaliser

• Le champ opérande : Contient la donnée ou son adresse en MC selon le mode d’adressage utilisé.
Processeur

Architecture de base d’un microprocesseur

Le jeu d’instruction:

• Mode d’adressage:

 Adressage implicite: L'instruction contient seulement le code opération. Elle spécifie une opération sans
opérande.
Exemple: Incrémenter ou décrémenter un registre (INC AX et DEC AX en 80x86).

 Adressage immédiat : Le champ opérande contient une donnée à valeur constante: Registre ← valeur
immédiate.
Exemple: Opérations arithmétiques entre Registre et Constante (ADD AX, 5 en 80x86)
Processeur

Architecture de base d’un microprocesseur

Le jeu d’instruction:

• Mode d’adressage:

 Adressage direct: Le champ opérande contient l'adresse de la donnée en MC.


Exemple: Lecture ou Ecriture en mémoire (MOV [adresse], Y et MOV X, [adresse] en 80x86).

 Adressage indirect: On utilise un registre X pour stocker l'adresse d'une donnée en MC.

Exemple: Lecture ou Ecriture en MC (MOV [Registre], Y et MOV X, [Registre] en 80x86).


Processeur

Architecture de base d’un microprocesseur

Le jeu d’instruction:

• Temps d’exécution :

• Chaque instruction nécessite un certain nombre de cycles d’horloges pour s’effectuer.

• Le nombre de cycles dépend de la complexité de l’instruction et aussi du mode d’adressage.

• Il est plus long d’accéder à la mémoire principale qu’à un registre du processeur.

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


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]

1. Fetch : C’est la phase de recherche et de chargement de l’instruction, pointée par le compteur de


programme PC dans le registre instruction IR

• Le contenu du PC est placé dans le registre d’adresses MAR : accès mémoire

• Placer le contenu du registre MDR dans le registre IR


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]

2. Decode and Execute :

• Analyse de l’instruction

• L’unité de commande déclenche la séquence de micro-instructions nécessaires à la réalisation de


l’instruction

• Incrémenter le compteur de programme


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]


Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple

• 06 Load A [15] A M[15]

PC -> MAR

MDR -> IR

IR(adresse) -> MAR

MDR -> A

PC + 1 -> PC
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71
Processeur

Architecture de base d’un microprocesseur


Cycle d’exécution d’une instruction : exemple 2 d’addition

• 07 ADD 18 M[18] = 71

PC -> MAR

MDR -> IR

IR(adresse) -> MAR

A + MDR -> A

PC + 1 -> PC

Vous aimerez peut-être aussi