Vous êtes sur la page 1sur 10
Le microprocesseur Chapitre 3 LE MICROPROCESSEUR Introduction Un microprocesseur est un circuit intégré complexe
Le microprocesseur Chapitre 3
Le microprocesseur
Chapitre
3

LE MICROPROCESSEUR

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 et assurer leur traitement.

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.

3.1. Performance d’un microprocesseur

Intrinsèquement, les performances d’un microprocesseur se basent sur les trois critères suivants:

La longueur du mot de données : on parle de la largeur du bus de données.

Le nombre d'octets que le microprocesseur peut adresser : on parle de la largeur du bus d’adresses.

Le nombre d’instructions qu’il est capable de traiter par seconde. Pour cela, on définit:

- Cycle Par Instruction (CPI) : il représente le nombre moyen de cycles d’horloge nécessaire pour l’exécution d’une instruction pour un microprocesseur donné.

- Millions d'Instructions Par Seconde (MIPS) : il représente la puissance de traitement du microprocesseur.

MIPS

F

H

CPI

Avec F H est la fréquence de l’horloge exprimée en MHz.

Pour augmenter les performances d’un microprocesseur, on peut donc soit augmenter la fréquence d'horloge (limitation matérielle), soit diminuer le CPI (choix d'un jeu d'instruction adapté).

Le microprocesseur 3.2. Architecture de base d’un microprocesseur Un microprocesseur est construit autour des principaux

Le microprocesseur

3.2. Architecture de base d’un microprocesseur

Un microprocesseur est construit autour des principaux éléments suivants :

- L’unité de commande.

- L’unité de traitement.

- Les bus.

Ces éléments sont associés à des registres chargés de stocker les différentes informations lors du traitement (opérandes, résultat de traitement, …).

du traitement (opérandes, résultat de traitement, …). Figure 1 : Architecture de base d’un microprocesseur.
du traitement (opérandes, résultat de traitement, …). Figure 1 : Architecture de base d’un microprocesseur.
du traitement (opérandes, résultat de traitement, …). Figure 1 : Architecture de base d’un microprocesseur.
du traitement (opérandes, résultat de traitement, …). Figure 1 : Architecture de base d’un microprocesseur.
du traitement (opérandes, résultat de traitement, …). Figure 1 : Architecture de base d’un microprocesseur.

Figure 1 : Architecture de base d’un microprocesseur.

3.2.1. Unité de commande Elle est responsable de la lecture des instructions arrivant depuis la mémoire, faire le décodage et envoyer les ordres d’exécutions nécessaires à l’unité de traitement.

3.2.2. Une unité de traitement Elle est appelée aussi unité arithmétique et logique (UAL). Elle fonctionne sous une impulsion de l’unité de commande (ordre). Elle assure les traitements nécessaires à l'exécution des instructions.

3.2.3. Les bus Ils assurent la communication et l’échange entre les différentes unités du processeur et la mémoire principale. Les types des bus peuvent être classés comme suit :

- Le bus d’adresse : c’est un bus unidirectionnel. Il permet au processeur de désigner à chaque instant la case mémoire auquel il veut faire appel. Il est composé de n fils, on utilise donc un bus de n bits. La mémoire peut posséder au

maximum 2 n cases mémoires ou adresses (adressables de 0 à 2

n

1

).

- Le bus de données : c’est un bus bidirectionnel. Il permet la circulation des données. Lors d’une lecture, c’est la mémoire qui envoie un mot sur le bus (le contenu de l’emplacement demandé). Lors d’une écriture, c’est le processeur qui envoie le mot de données.

- Le bus de commande : appelé aussi bus de contrôle. Il synchronise les transferts de données entre le processeur et les périphériques (la mémoire, les entrées/sorties). On trouve en particulier le signal R/W (Read/Write), qui est utilisé pour indiquer à la mémoire principale si l’on effectue un accès en lecture ou en écriture.

3.2.4. Schéma fonctionnel Le microprocesseur La figure ci-dessous représente l’architecture interne simplifiée d’un

3.2.4. Schéma fonctionnel

Le microprocesseur

La figure ci-dessous représente l’architecture interne simplifiée d’un microprocesseur.

l’architecture interne simplifiée d’un microprocesseur. Figure 2 : Architecture interne du microprocesseur et cycle

Figure 2 : Architecture interne du microprocesseur et cycle d’exécution d’une instruction.

Les informations circulent à l’intérieur du microprocesseur sur deux bus internes, l’un pour les données et l’autre pour les adresses. On distingue les registres suivants :

- ACC : Accumulateur

- RW : Registre de Travail (W) ou encore Registre Tampon de l’UAL, il stocke temporairement l’un des deux opérandes d’une instruction arithmétique.

- RE : Registre d’Etat, il stocke les indicateurs d’état appelé drapeaux ou flag (voir détailles en chapitre 4).

- RI : Registre d’Instruction, il contient le code de l’instruction en cours d’exécution (lu en mémoire via le bus de données).

- CO : Compteur Ordinal, il contient l’adresse de l’emplacement mémoire où se situe la prochaine instruction à exécuter.

- RA : Registre d’Adresse, il contient l’adresse en MC de l’instruction (ou de l’opérande).

- RM : Registre Mot : il contient l’instruction (ou l’opérande).

3.3. Principe de fonctionnement Le microprocesseur Le cycle d’exécution d’une instruction, illustré en détailles

3.3. Principe de fonctionnement

Le microprocesseur

Le cycle d’exécution d’une instruction, illustré en détailles dans la figure 2 et sous une version simplifiée dans la figure 3, est décrit par les 11-étapes suivantes :

1. Transfert de l’adresse de la nouvelle instruction du CO vers le RA.

2. Transfert de l’instruction cherchée dans le RM.

3. Transfert de l’instruction du RM vers le RI.

4. Décodage de l’instruction par le décodeur d’instructions ce qui permet de déterminer l’opération à exécuter et l’adresse des opérandes.

5. L’unité de commande donne l’ordre de d’exécution à l’UAL.

6. Chargement de l’adresse de l’opérande sur le RA.

7. Incrémentation du CO pour pointer sur la prochaine opération.

8. Le contenu de l’emplacement mémoire correspondant à l’adresse de l’opérande est placé dans le RM.

9. Transfert de contenu du RM dans l’accumulateur ou tout autre registre concerné par l’opération en cours.

10. Exécution de l’opération par l’UAL sous le contrôle du Séquenceur.

11. Les drapeaux du RE sont positionnés.

du Séquenceur. 11. Les drapeaux du RE sont positionnés. Figure 3 : Représentation simplifiée du cycle
du Séquenceur. 11. Les drapeaux du RE sont positionnés. Figure 3 : Représentation simplifiée du cycle
du Séquenceur. 11. Les drapeaux du RE sont positionnés. Figure 3 : Représentation simplifiée du cycle

Figure 3 : Représentation simplifiée du cycle d’exécution d’une instruction.

2011/2012

4

A.GUEDDANA, M.K.AZIZI , F.THELJANI, A.BOUBAKRI & H.WARTENI

Le microprocesseur 3.4. Structure d’une instruction Les ordinateurs sont capables de faire un certain nombre

Le microprocesseur

3.4. Structure d’une instruction

Les ordinateurs sont capables de faire un certain nombre d’opérations simples, par exemple additionner deux nombres, tester le signe d’une valeur numérique, copier le contenu d’un registre dans un autre registre, stocker en mémoire le résultat d’une opération, etc. Une instruction machine doit fournir au CPU toutes les informations pour déclencher une opération élémentaire. Elle doit contenir un code opération qui est essentiel pour spécifier le type d’action demandé. En outre elle doit contenir une ou plusieurs adresses, par exemple, l’adresse de l’opérande (ou des opérandes), l’adresse de sauvegarde du résultat, l’adresse de l’instruction suivante. Par conséquent le format d’une instruction machine comportera un champ code opération et jusqu’à quatre champs adresse. On parle d’instructions à n adresses,

n

= 1, 2, 3, 4.

Sur certaines machines, les instructions sont toutes de même longueur, sur d’autres cette

longueur peut varier avec le code opération ou le mode d’adressage.

Code opération

Instruction à zéro adresse

Code opération

Adresse

Instruction à une adresse

Code opération

Adresse 1

Adresse 2

 

Instruction à deux adresses

 

Code opération

Adresse 1

Adresse 2

Adresse 3

Instruction à trois adresses

On distingue six groupes d’instructions :

Instructions de transfert de données : le transfert peut être de la mémoire au registre, de registre au registre, de registre à mémoire (exemple : LOAD, MOVE, STORE).

Instructions arithmétiques : addition, soustraction, multiplication, …

Instructions logiques : ET, OU, NON, XOR, …

Instructions de contrôle de séquence : branchements conditionnels ou non, appel de procédure, etc.

Instructions d’entrée/sortie (READ, WRITE,…).

Instructions de manipulations diverses : décalage, conversion de format, permutation circulaire de bits, échange d’octets, incrémentation, etc.

3.5. Les modes d’adressage

Les adresses spécifiées par les opérandes informent le processeur sur les emplacements des données. Il existe plusieurs modes d’adressage qui spécifient la manière dont chaque instruction détermine l’emplacement des valeurs des opérandes. Pour retrouver l’adresse effective, où le mot à accéder est stocké, le processeur doit transformer l’opérande selon le mode d’adressage associé à l’instruction en cours.

2011/2012

5

A.GUEDDANA, M.K.AZIZI , F.THELJANI, A.BOUBAKRI & H.WARTENI

Les différents modes d’adressage : Le microprocesseur  Adressage implicite Le mode d'adressage implicite

Les différents modes d’adressage :

Le microprocesseur

Adressage implicite Le mode d'adressage implicite correspond à une instruction contenant uniquement le code opérande. Il porte sur des registres particuliers (adressage registre). (Exemple : incrémentation de l’accumulateur).

Adressage immédiat L’instruction supporte la donnée à utiliser. La donnée est représentée en hexadécimal (Exemple : MOV AX, 20).

Code opération

Valeur de l’opérande

Adressage direct L’instruction contient l’adresse d’un emplacement mémoire stockant la donnée. L’adresse de l’emplacement est représentée en hexadécimal et placée entre crochets. Ce mode d'adressage permet d'indiquer n'importe quel endroit dans la mémoire, le prix à payer étant que l'on doit spécifier l'adresse concernée dans son intégralité. (Exemple : MOV AX, 20).

Adressage registre Le champ adresse contient l’adresse du registre contenant l’opérande.

Code instruction

Code opération

Code opération Adresse du registre
Adresse du registre

Adresse du registre

Code opération Adresse du registre
Code opération Adresse du registre

Registre

Opérande
Opérande
Code opération Adresse du registre Registre Opérande Figure 4 : Adressage registre.  Adressage indirect Le

Figure 4 : Adressage registre.

Adressage indirect Le champ adresse contient l’adresse d’un pointeur sur la donnée (l’adresse de l’adresse peut être contenue dans un registre ou dans une case mémoire)

Adressage indirect par registre

Code instruction

Registre Mémoire Code opération Adresse du registre Adresse de l’opérande Opérande
Registre
Mémoire
Code opération
Adresse du registre
Adresse de
l’opérande
Opérande

Figure 5 : Adressage indirect par registre.

Le microprocesseur  Adressage indirect par mémoire Code instruction Code opération Adresse du registre Mémoire

Le microprocesseur

Adressage indirect par mémoire

Code instruction

Code opération

Code opération Adresse du registre
Adresse du registre

Adresse du registre

Code opération Adresse du registre
Code opération Adresse du registre

Mémoire

Opérande

Opérande

Adresse de

 

l’opérande

Mémoire Opérande Adresse de   l’opérande Figure 6 : Adressage indirect par mémoire.  Adressage

Figure 6 : Adressage indirect par mémoire.

Adressage relatif Dans le mode d’adressage relative (relative addressing), le spécificateur d’opérande comprend l’adresse d’un registre ainsi que la valeur de déplacement. Code instruction

Code opération

Valeur de déplacement

+
+
K
K

Registre de base

Figure 7 : Adressage relatif.

Adressage indexé

Mémoire Opérande
Mémoire
Opérande

Ce mode d’adressage est très bien utile lorsqu’on travaille, par exemple, sur des tableaux. Considérons un bloc de n mots consécutifs débutant à l’adresse A, le j ième mot se trouve à l’adresse A+ (j-1). Pour référencer ce mot, il est possible d’utiliser un registre d’index. L’adresse effective est calculée en additionnant le contenu de ce registre d’index à l’adresse qui se trouve dans le champ adresse de l’instruction. Sur certaines machines, tous les registres généraux peuvent être utilisés comme registres d’index. La présence d’un registre d’index s’accompagne généralement de la possibilité d’incrémentation et décrémentation automatiques.

Le microprocesseur Code instruction Code opération Valeur de déplacement + K Registre d’index Mémoire Opérande

Le microprocesseur

Code instruction

Code opération

Valeur de déplacement

+
+
K
K

Registre d’index

Mémoire Opérande
Mémoire
Opérande

Figure 8 : Adressage indexé.

Adressage combiné Dans le cas d’adressage combiné, l’indirection et l’indexation peuvent se combiner. Exemple1 : adressage Indexé/Indirect AE = (D+ (RI)) Exemple2 : Adressage (basé) Relatif/Indexé/Indirect AE = (D+RB+ (RI))

3.6. Cycle d’exécution d’une instruction

Un cycle normal d’exécution d’une instruction est composé des étapes suivantes :

Recherche instruction Décodage instruction Recherche opérande Exécution Calculer le résultat instruction
Recherche
instruction
Décodage
instruction
Recherche
opérande
Exécution
Calculer le résultat
instruction
Stockage
résultat
Prochaine
instruction

Obtenir les valeurs des opérandes impliqués

Obtenir l’instruction de la zone mémoire dans laquelle le programme est stocké

Déterminer les actions à réaliser et les opérandes nécessaires

Ranger le résultat

Déterminer la prochaine instruction

Figure 9 : Cycle d’exécution d’une instruction.

2011/2012

8

A.GUEDDANA, M.K.AZIZI , F.THELJANI, A.BOUBAKRI & H.WARTENI

Le microprocesseur Le microprocesseur ne comprend qu’un certain nombre d’instructions qui sont codées en binaire.

Le microprocesseur

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 CO 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.

est stockée dans le registre instruction du processeur. Figure 10 : Recherche de l'instruction à traiter.

Figure 10 : Recherche de l'instruction à traiter.

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, soustraction,

)

et le nombre de mots de l'instruction.

1. Le décodeur d’instruction sous contrôle de 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.

Le microprocesseur Figure 11 : Décodage de l’instruction et recherche de l'opérande  Phase 3

Le microprocesseur

Le microprocesseur Figure 11 : Décodage de l’instruction et recherche de l'opérande  Phase 3 :

Figure 11 : Décodage de l’instruction et recherche de l'opérande

Phase 3 : Exécution de l'instruction

1. Le micro-programme réalisant l'instruction est exécuté.

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

3. L'unité de commande positionne le CO pour l'instruction suivante.

commande positionne le CO pour l'instruction suivante. Figure 12 : Exécution de l'instruction 2011/2012 10

Figure 12 : Exécution de l'instruction