Sunteți pe pagina 1din 12

Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Chapitre N°2 : Architecture et fonctionnement


d’un Microprocesseur

I. INTRODUCTION :
Un microprocesseur est un circuit intégré complexe caractérisé par une très grande intégration et doté des
facultés 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. C’est le cerveau du
système.

A l’heure actuelle, un microprocesseur regroupe sur quelques millimètres carrés des fonctionnalités
toujours plus complexes. Leur puissance continue de s’accroître et leur encombrement diminue
régulièrement.

II. ARCHITECTURE DE BASE D’UN MICROPROCESSEUR :


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

 Une unité de commande


 Une unité de traitement
Ces unités possèdent des registres chargés de stocker les différentes informations à traiter. Ces trois
éléments sont reliés entre eux par des bus internes permettant les échanges d’informations.

Figure 1 : Les éléments principaux d’un processeur

1
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Remarque :

Il existe deux types de registres :

 les registres d'usage général permettent à l'unité de traitement de manipuler des données à vitesse
élevée. Ils sont connectés au bus de données interne au microprocesseur.
 les registres d'adresses (pointeurs) connectés sur le bus adresses.
1. L’unité de commande :
Elle permet de séquencer le déroulement des instructions. Elle effectue la recherche et la lecture 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 :

 le compteur de programme (CP): 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. On l’appelle aussi Instruction Pointer (IP)
 le registre d'instruction (RI) et le décodeur d'instruction : chacune des instructions à exécuter est
rangée dans le registre instruction (RI) puis est décodée par le décodeur 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. Il s'agit d'un automate réalisé soit de façon câblée (obsolète), soit de façon
micro-programmée, on parle alors de micro-microprocesseur.

2. 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).
 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 :
 retenue (carry : C)
 retenue intermédiaire (Auxiliary-Carry : AC)
 signe (Sign : S)

2
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

 débordement (overflow : OV ou V)
 zéro (Z)
 parité (Parity : P)
 Les Accumulateurs (Acc) 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.
3. Schéma fonctionnel :

Figure 2 : Schéma simplifie d’un processeur. Le Processeur est relié à l’extérieur par les bus de
données et d’adresses, le signal d’horloge et les signaux de commandes.

III. Description matériel d’un microprocesseur


Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un nombre généralement
important de broches. Exemples :
Intel 8085,8086 : 40 broches, DIP (Dual In-line Package)
Motorola 68000 : 64 broches, DIP ;
Intel 80386 : 196 broches, PGA (Pin Grid Array)
Technologies de fabrication : NMOS, PMOS, CMOS
On peut représenter un microprocesseur par son schéma fonctionnel suivant :

3
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Figure 3 : Description matériel d’un microprocesseur

IV. CYCLE D’EXECUTION D’UNE INSTRUCTION :


Un microprocesseur a un rôle d’exécuter les programmes. Un programme est une suite d’instructions.
Une instruction est composée de deux champs :
- 1er champ : Le code opération, qui indique au processeur quelle opération réaliser ;
- 2ième champ : Le code opérande qui contient les données, ou les références des données en
mémoires (leurs adresses).
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émoires) 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.
Format d’une instruction :

Figure 4 : Codage des instructions

4
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Exemple :
ADDIONNER case mémoire 1, case mémoire 2
CHARGER ACC, donnée
CHARGER ACC, adresseMemoire
Le traitement d’une instruction peut être décomposé en trois phases.

1. Phase 1: Recherche et Lecture de l'instruction à traiter (Fetch):


 Le PC (Program Counter, programme de compteur en français) ou IP (Instruction Pointer,
pointeur d’instruction en français) 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.
 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.
 L'instruction est stockée dans le registre instruction RI du processeur.

2. Phase 2 : Décodage de l’instruction et recherche de l'opérande  (Decode):


Le registre d'instruction RI 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.

 L'unité de commande transforme l'instruction en une suite de commandes élémentaires


nécessaires au traitement de l'instruction.

5
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°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.
 L’opérande est stocké dans un registre.

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


 Le micro programme réalisant l'instruction est exécuté.
 Les drapeaux sont positionnés (registre d'état).
 L'unité de commande positionne le PC (ou IP) pour l'instruction suivante.

Remarques Générales :
- Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur doit savoir
à chaque instant l’adresse de la prochaine instruction à exécuter. Le microprocesseur utilise le registre IP
ou PC ou Compteur Ordinal CO pour contenir l’adresse de la prochaine instruction à exécuter. La valeur
initiale du pointeur d’instruction est fixée par le constructeur du microprocesseur. Elle vaut une valeur
bien définie à chaque mise sous tension du microprocesseur ou bien lors d’une remise à zéro (Reset).

6
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

- Pour savoir quel type d’opération doit être exécuté (addition, soustraction,…), le microprocesseur
lit le premier octet de l’instruction (code opératoire) pointé par le pointeur d’instruction IP et le range
dans un registre appelé registre d’instruction (RI). Le code opératoire est décodé par des circuits de
décodage contenus dans le microprocesseur. Des signaux de commande pour l’UAL sont produits en
fonction de l’opération demandée qui est alors exécutée.
- Pour exécuter une instruction, l’UAL utilise des registres de travail, exemple l’accumulateur Acc,
RTUAL (Registre Tampon de l’UAL, stocke temporairement l’un des deux opérandes d’une instruction
arithmétique)
- Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon à pointer
vers l’instruction suivante :

7
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Puis le processeur de lecture et de décodage des instructions recommence.


- A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du
dernier résultat : c’est le registre d’état du microprocesseur. Chacun des bits du registre d’état est un
indicateur d’état ou Flag (drapeau).
Exemple : registre d’état du microprocesseur Z80 :

- Les indicateurs d’état sont activés lorsqu’une certaine condition est remplie, exemple : le flag Z
est mis à 1 lorsque la dernière opération a donné un résultat nul, le flag C est mis à 1 lorsque le résultat
d’une addition possède une retenue,….
Note : Les indicateurs d’état sont utilisés par les instructions de saut conditionnels : en fonction de l’état
d’un (ou plusieurs) flag, le programme se poursuit de manière différente.
- Toutes ces étapes (recherche et lecture de l’instruction, décodage, exécution) sont synchronisées
par un séquenceur qui assure le bon déroulement des opérations :

8
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Pour exécuter le programme contenu dans la mémoire centrale, le séquenceur du microprocesseur


exécute lui même un programme appelé micro-code, contenu dans une mémoire morte à l’intérieur du
microprocesseur.Le séquenceur est dirigé par une horloge qui délivre un signal de fréquence donnée
permettant d’enchainer les différentes étapes de l’exécution d’une instruction :

Chaque instruction est caractérisée par le nombre de période d’horloge (ou microcycles) qu’elle utilise
(donnée fournie par le fabricant du microprocesseur).
1
Exemple : horloge à 5 MHz, période T  f  0.2 s . Si l’instruction s’exécute en 3 microcycles, la

durée d’exécution de l’instruction est 3 * 0.2  0.6 s . L’horloge est constituée par un oscillateur à
quartz dont les circuits peuvent être internes ou externes au microprocesseur. D’où la structure
complète d’un microprocesseur simple, pour être fonctionnel, nécessite donc au minimum les éléments
suivants :

V. NOTION D’ARCHITECTURE RISC ET CISC :


9
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

Actuellement l’architecture des microprocesseurs se composent de deux grandes familles :

 L’ architecture CISC (Complex Instruction Set Computer)


 L’architecture RISC (Reduced Instruction Set Computer)

VI. AMELIORATIONS DE L’ARCHITECTURE DE BASE :


L'ensemble des améliorations des microprocesseurs visent à diminuer le temps d'exécution du
programme. La première idée qui vient à l’esprit est d’augmenter tout simplement la fréquence de
l’horloge du microprocesseur. Mais l’accélération des fréquences provoque un surcroît de consommation
ce qui entraîne une élévation de température. On est alors amené à équiper les processeurs de systèmes de
refroidissement ou à diminuer la tension d’alimentation. Une autre possibilité d’augmenter la puissance
de traitement d’un microprocesseur est de diminuer le nombre moyen de cycles d’horloge nécessaire à
l’exécution d’une instruction. Dans le cas d’une programmation en langage de haut niveau, cette
amélioration peut se faire en optimisant le compilateur. Il faut qu’il soit capable de sélectionner les
séquences d’instructions minimisant le nombre moyen de cycles par instructions. Une autre solution est
d’utiliser une architecture de microprocesseur qui réduise le nombre de cycles par instruction.

1. Architecture pipeline :
L’exécution d’une instruction est décomposée en une succession d’étapes et chaque étape correspond à
l’utilisation d’une des fonctions du microprocesseur. Lorsqu’une instruction se trouve dans l’une des
étapes, les composants associés aux autres étapes ne sont pas utilisés. Le fonctionnement d’un
microprocesseur simple n’est donc pas efficace. L’architecture pipeline permet d’améliorer l’efficacité du
microprocesseur. En effet, lorsque la première étape de l’exécution d’une instruction est achevée,
l’instruction entre dans la seconde étape de son exécution et la première phase de l’exécution de
l’instruction suivante débute. Il peut donc y avoir une instruction en cours d’exécution dans chacune des
étapes et chacun des composants du microprocesseur peut être utilisé à chaque cycle d’horloge.
L’efficacité est maximale. Le temps d’exécution d’une instruction n’est pas réduit mais le débit
d’exécution des instructions est considérablement augmenté. Une machine pipeline se caractérise par le

10
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

nombre d’étapes utilisées pour l’exécution d’une instruction, on appelle aussi ce nombre d’étapes le
nombre d’étages du pipeline.

Exemple de l’exécution en 4 phases d’une instruction :

2. Architecture super scalaire :


Une autre façon de gagner en performance est d’exécuter plusieurs instructions en même temps.
L'approche super scalaire consiste à doter le microprocesseur de plusieurs unités de traitement travaillant
en parallèle. Les instructions sont alors réparties entre les différentes unités d'exécution.

Remarque :

Ce type d'architecture est mis dans les premiers Pentium d'Intel apparus en 1993.

11
Cours Architecture des ordinateurs  : 1 er LFI chapitre N°2

3. Architecture pipeline et super scalaire :


Le principe est de d’exécuter les instructions de façon pipeline dans chacune des unités de traitement
travaillant en parallèle.

Ok vérifier
12

S-ar putea să vă placă și