Vous êtes sur la page 1sur 34

Le Microprocesseur

1
Architecture de VON NEUMANN
Pour traiter une information, un microprocesseur seul ne suffit pas, il faut
l’insérer au sein d’un système minimum de traitement programmé de
l’information.

John Von Neumann est à l'origine d'un modèle de machine universelle de


traitement programmé de l’information (1946).

Cette architecture sert de base la plupart des système à


microprocesseur actuel.
Elle est composé des éléments suivants :
1. Une mémoire principale
2. Un processeur
3. Des périphériques d’entrées/sorties

Les différents organes du système sont reliés par des voies de


communication appelées bus.
2
Modèle VON NEUMANN
Mémoire Mémoire principale

Unité
Unité de
Arithmétique
Contrôle Processeur
et logique
Accumulateur

Entrée Sortie Périphériques E/S

-La mémoire principale qui contient à la fois les données et le


programme en cours de fonctionnement.
- Le processeur qui exécute pas à pas les instructions du programme.
-Des périphériques d’entrées/sorties, qui permettent de
communiquer avec le monde extérieur. 3
Historique
⚫ Jusqu’audébut des années 1970, les différents composants électroniques
formant un processeur ne pouvaient pas tenir sur un seul circuit intégré.

⚫ Nécessité d'interconnecter de nombreux composant dont plusieurs circuits


intégrés.

⚫ En1971, la société américaine Intel réussit, pour la première fois, à placer


tous les composants qui constituent un processeur sur un seul circuit intégré
donnant ainsi naissance au microprocesseur.

4
Microprocesseur
Le Microprocesseur (CPU, pour Central Processing Unit, soit Unité
Centrale de Traitement) est le cerveau de l’ordinateur. Il permet de
manipuler des informations numériques, c’est-à-dire des informations
codées sous forme binaire, et d’exécuter les instructions stockées en
mémoire.

5
Caractéristiques Microprocesseur

• Le jeu d'instructions: qu’il peut exécuter.

• La complexité de son architecture: Cette complexité se mesure

par le nombre de transistors contenus dans le microprocesseur.

• Le format de données: Le nombre de bits que le processeur

peut traiter en une instruction.

• La fréquence d’horloge: de l’horloge qu’il peut supporter.

6
Principe de fonctionnement du CPU

Le CPU est cadencé au rythme d’une horloge interne, qui envoie des
impulsions, appelées « Top »
⚫ La fréquence d’horloge (appelée également cycle mémoire),
correspondant au nombre d’impulsions par seconde, s’exprime en
Hertz (Hz).
⚫Ainsi, un ordinateur à 200 MHz possède une horloge envoyant 200
000 000 de battements par seconde.
⚫ La fréquence d’horloge est généralement un multiple de la fréquence
du système (FSB, Front-Side Bus).

7
Principe de fonctionnement du CPU

A chaque top d’horloge le processeur exécute une instruction ou une


partie d’instruction.
⚫ L’indicateurappelé CPI (Cycle Par Instruction) permet de représenter
le nombre moyen de cycles d’horloge nécessaire à l’exécution d’une
instruction sur un processeur.
CPI = Nombre de cycles requis pour son exécution / Nombre
d’instructions

⚫ Lapuissance du processeur peut ainsi être caractérisée par le nombre


d’instructions qu’il est capable de traiter par seconde. L’unité utilisée
est le MIPS (Million d’Instructions Par Seconde) correspondant à la
fréquence du processeur que divise le CPI.

MIPS = Fréquence / CPI

Temps d’un cycle processeur = 1/Fréquence 8


L’architecture d’un microprocesseur
Un microprocesseur est constitué essentiellement de trois parties:

 Une unité de commande


 Une unité de traitement
 Des registres chargées de stocker les différentes informations à traiter.

Ces éléments sont reliés par des bus internes permettant les échanges
d’informations.

9
L’unité de commande
Elle permet de séquencer le déroulement des
instructions. Elle effectue la recherche en mémoire de
l'instruction.
Comme chaque instruction est codée sous forme
binaire, elle en assure le décodage pour enfin réaliser son
exécution puis effectue la préparation de l'instruction
suivante.
Pour cela, elle est composée par :
L’unité de commande

 le compteur de programme constitué par un registre dont le contenu est


initialisé avec l'adresse de la première instruction du programme. Il contient
toujours l’adresse de l’instruction à exécuter.

 le registre d'instruction et le décodeur d'instruction : chacune des


instructions à exécuter est rangée dans le registre instruction puis décodée
par le décodeur d’instruction.
L’unité de commande

 Le registre tampon d’adresse (RTA) : contient les adresses des opérandes


extraites de l’instruction stockée dans le registre d’instruction.

 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.
L’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).

 Les registres de travail (l’accumulateur (ACC), le registre tampon de l’UAL


(RTUAL) et le registre tampon de résultat (RTR)) qui servent à stocker une
opérande au début d'une opération arithmétique et le résultat à la fin de
l'opération.
L’unité de traitement
 Le registre d'état est généralement composé de 8 bits à considérer
individuellement. 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. 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 :
o retenue (carry : C)
o retenue intermédiaire (Auxiliary-Carry : AC)
o signe (Sign : S)
o débordement (overflow : OV ou V)
o zéro (Z)
o parité (Parity : P)
Schéma fonctionnel
Cycle d’exécution d’une instruction
Le microprocesseur ne comprend qu’un certain nombre d’instructions qui sont
codées en binaire. Le traitement d’une instruction peut être décomposé en
trois phases.

Phase 1: Recherche de l'instruction à traiter


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.
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.
Cycle d’exécution d’une instruction
Cycle d’exécution d’une instruction

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


Le registre d'instruction contient maintenant le premier mot de l'instruction qui
peut être codée sur plusieurs mots. Ce premier mot contient le code opératoire
qui définit la nature de l'opération à effectuer (addition, rotation,...) et le
nombre de mots de l'instruction.
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ée dans un registre.
Cycle d’exécution d’une instruction
Cycle d’exécution d’une instruction
Phase 3 : Exécution de l'instruction
1. Le micro-programme réalisant l'instruction est exécuté.
2. Les drapeaux sont positionnés (registre d'état).
3. L'unité de commande positionne le PC pour l'instruction suivante.
Jeu d’instructions
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. A un
même jeu d’instructions peut correspondre un grand nombre
d’implémentations différentes du microprocesseur.
Jeu d’instructions
Type d’instructions
Les instructions que l’on retrouve dans chaque microprocesseur peuvent être
classées en 4
groupes :
Transfert de données pour charger ou sauver en mémoire, effectuer des
transferts de registre à registre, etc...
Opérations arithmétiques : addition, soustraction, division, multiplication
Opérations logiques : ET, OU, NON, NAND, comparaison, test, etc...
Contrôle de séquence : branchement, test, etc...
Jeu d’instructions
Codage
Les instructions et leurs opérandes (paramètres) sont stockés en mémoire
principale. La taille totale d’une instruction (nombre de bits nécessaires pour la
représenter en mémoire) dépend du type d’instruction et aussi du type
d’opérande. Chaque instruction est toujours codée sur un nombre entier
d’octets afin de faciliter son décodage par le processeur. Une instruction est
composée de deux
champs :
le code instruction, qui indique au processeur quelle instruction réaliser
le champ opérande qui contient la donnée, ou la référence à une donnée en
mémoire (son adresse).
Instruction

Une instruction est l'opération élémentaire que le processeur peut


accomplir. Les instructions sont stockées dans la mémoire principale, en
vue d’être traitée par le processeur. Une instruction est composée de
deux champs :

⚫ Le code opération « instruction », représentant l'action que le


processeur doit exécuter.
⚫ Le code opérande, définissant les paramètres de l'action. Le code
opérande dépend de l’opération. Il peut être une donnée ou bien une
adresse mémoire.

Code opération Code opérande

24
Mémoire cache

La mémoire cache (également appelée antémémoire ou mémoire


tampon) est une mémoire rapide permettant de réduire les délais
d'attente des informations stockées en mémoire vive.
⚫ La mémoire cache de premier niveau (Level 1 Cache) est
directement intégrée dans le processeur. Elle se subdivise en 2
parties :
 La première est le cache d'instructions, qui contient les
instructions issues de la mémoire vive et déjà décodées.
 La seconde est le cache de données, qui contient des données
issues de la mémoire vive et les données récemment utilisées
lors des opérations du processeur.
Les caches du premier niveau sont très rapides d‘accès. Leur délai
d'accès tend à s'approcher de celui des registres internes aux
processeurs.
25
Mémoire cache
⚫ La mémoire cache de second niveau (L2 Cache) est située au
niveau du boîtier contenant le processeur (dans la puce). Le cache
de second niveau vient s’intercaler entre le processeur avec son
cache interne et la mémoire vive. Il est plus rapide d’accès que cette
dernière mais moins rapide que le cache de premier.

⚫ La mémoire cache de troisième niveau (L3 Cache) autrefois


située au niveau de la carte mère, elle est aujourd'hui intégrée
directement dans le CPU.

26
Améliorations technologiques

Pour augmenter les performances du CPU, on peut donc :

⚫ Augmenter la fréquence de l’horloge (problème limitation matérielle).

⚫ Soit diminuer le CPI (choix d’un jeu d’instruction adapté).

⚫ Amélioration de l’architecture de base (améliorations


technologiques).

27
Améliorations technologiques

Pour augmenter les performances du CPU, on peut donc :

⚫ Toutes les tâches qui constituent une instruction s’exécutent les unes
à la suite des autres.

⚫ L’exécution d’une instruction dure donc plusieurs cycles. Comme il


n’est pas possible d’augmenter la fréquence, la seule manière
d’accroitre le nombre d’instructions traitées en un temps donné est de
chercher à en exécuter plusieurs simultanément.

⚫ Ony arrive en fractionnant les ressources du processeur, les données


et/ou les processus. C’est ce qu’on appelle la parallélisation.

28
Améliorations technologiques
Le fonctionnement du processeur est rythmé par une horloge défini par sa
fréquence (MHz ou GHz).

⚫ A chaque impulsion d’horloge (exemple classique d’un processeur à 5


étages) :
1. Lecture de l’instruction (IF, Instruction Fetch).
2. Décodage de l’instruction (ID, Instruction Decode).
3. Exécution de l’instruction (EX, Excecute).
4. Écriture ou chargement depuis de la mémoire en fonction du type de
l’instruction (MEM, Memory).
5. Stockage du résultat dans un registre (WB, Write Back).

⚫ Plus la fréquence est élevée et plus le processeur peut traiter les


instructions rapidement.
⚫ 5 cycles sont nécessaire pour accomplir une instruction.

29
Architecture Pipeline
Pipeline (ou pipelining) : technologie visant à permettre une plus
grande vitesse d’exécution des instructions en parallélisant des étapes.

• L’ordre des étapes est invariable.


• Chaque étape est réalisée par un circuit différent.

30
Architecture multi-scalaire
Exécution de plusieurs instructions simultanément, chacune dans un
pipeline différent. Le processeur dispose alors de plusieurs unités de
calcul.

31
Multi- Cœur

⚫ Un processeur multi-coeur est tout simplement un processeur


composé non pas de 1 mais de 2 (ou 4 ou 8) unités de calcul.

⚫ Pour un processeur bi-coeur (ou DualCore) le processeur dispose à


fréquence d'horloge égale d'une puissance de calcul deux fois plus
importante. Pour autant, le gain n'est pas systématiquement
visible.

⚫ En effet, il faut que les logiciels et les systèmes d'exploitation


sachent gérer correctement ces processeurs afin qu'un gain
significatif soit perceptible.

32
Hyperthreading
Le multi-threading est une forme de parallélisation
ou de division du travail pour un traitement
simultané. Au lieu de donner une charge de travail
importante à un seul cœur, les programmes
threaded divisent le travail en plusieurs tâches
(threads) logicielles. Ces tâches sont traitées en
parallèle par différents cœurs de processeurs pour
gagner du temps.
33
Hyperthreading

⚫ Principe:créer deux processeurs logique sur une


seule puce, chacun doté de ses propres registres.
Ces deux unités partagent les élément du cœur
physique comme le cache et le bus système.
⚫ Dégradationdes performances individuelles des
threads mais amélioration des performances de
l’ensemble.

34

Vous aimerez peut-être aussi