Université Saad Dahleb de Blida

Faculté des Sciences
Département d’Informatique

Licence Génie des Systèmes Informatique ...
PLAN DU CHAPITRE II
 Introduction
 Unité

Arithmétique et Logique (UAL)

 Unité

de Commande (U.C)

 Jeu

d’instructio...
INTRODUCTION


Un programme est un ensemble d’instructions exécutées
dans un ordre bien déterminé.



Un programme est e...
INTRODUCTION
ARCHITECTURE DE VON NEUMANN (1946)

Unité Centrale

4
INTRODUCTION
VU DÉTAILLÉ DE L’ARCHITECTURE D’UN PROCESSEUR
BUS d’Adresse
BUS d’Adresse interne

Unité de
Traitement

Bus d...
INTRODUCTION
REGISTRES


Pour assurer leur fonctionnement l’unité de traitement (Partie

opérative) et l’unité de command...
INTRODUCTION
REGISTRES DU TRAVAIL


Le microprocesseur peut contenir d’autres registres autre que

RI, ACC, RAM, PC et RE...
INTRODUCTION
EXEMPLE DE MICRO ARCHITECTURE

8
INTRODUCTION

Registres de
travail

LA MACHINE PÉDAGOGIQUE MIASM

Unité de
traitement

Unité de
commande

9
UNITÉ DE TRAITEMENT
Est dédié à contenir le résultat d’une
opération réalisée par l’UAL
ACCUMULATEUR

Registre d’état
UAL
...
UNITÉ DE TRAITEMENT
U.A.L


L’unité Arithmétique et Logique (UAL) est un circuit
complexe assurant:


les fonctions logi...
UNITÉ DE TRAITEMENT
U.A.L


Reçoit deux opérandes A (An . . . A1 A0) et B (Bn . . . B1 B0)
et produit le résultat S (Sm ....
UNITÉ DE TRAITEMENT
REGISTRE D’ÉTAT


Le registre d’état est composé de quelque bits (8 bits en
général):


Les bit sont...
UNITÉ DE TRAITEMENT
EXEMPLE D’INDICATEURS DU REGISTRE D’ÉTAT
C

S

O

Z

P

Bit

Indication

C (Carry)

Bit de la retenue
...
UNITÉ DE COMMANDE
Bus d’adresse
Compteur Programme (PC)

UAL

Séquenceur
Décodeur

Registre d’Instruction (RI)

Horloge

B...
UNITÉ DE COMMANDE
COMPTEUR DE PROGRAMME


Le compteur de programme, appelé aussi Compteur
Ordinal (CO), est un registre c...
UNITÉ DE COMMANDE
REGISTRE D’INSTRUCTION


Le registre d’instruction contient l’instruction en cours
d’exécution

Séquenc...
UNITÉ DE COMMANDE
SÉQUENCEUR



Le Séquenceur (contrôleur) Organise l'exécution des
instructions au rythme de l’horloge

...
Cours n°3: 30 Octobre 2013
JEU D’INSTRUCTIONS


Chaque processeur possède un certain nombre limité d’instructions
qu’il peut exécuter. Ces instructi...
JEU D’INSTRUCTIONS

FORMAT D’INSTRUCTION


L’instruction est composée de deux champs :


Code

d’opération

représentant...
JEU D’INSTRUCTIONS

EXEMPLE DU FORMAT D’INSTRUCTION


Instruction à trois opérandes: Il faut préciser le premier

opérand...
JEU D’INSTRUCTIONS

EXEMPLE DU FORMAT D’INSTRUCTION


Instruction à deux opérandes: Il faut préciser le premier

opérande...
JEU D’INSTRUCTIONS

EXEMPLE DU FORMAT D’INSTRUCTION


Instruction à un opérande: il faut préciser uniquement le

deuxième...
JEU D’INSTRUCTIONS

MODE D’ADRESSAGE
Code opération

N bits


Opérandes

K bits

Le mode d’adressage définit la manière d...
JEU D’INSTRUCTIONS

ADRESSAGE IMMÉDIAT


La valeur de l’opérande existe dans le champ opérande de
l’instruction
Code opér...
JEU D’INSTRUCTIONS

ADRESSAGE DIRECT


Le champs opérande contient l’adresse de l’opérande (emplacement

en mémoire )


...
JEU D’INSTRUCTIONS

ADRESSAGE INDIRECT


Le champs opérande contient l’adresse de l’adresse de l’opérande.
Code opération...
JEU D’INSTRUCTIONS

ADRESSAGE INDEXÉ


Le champs opérande contient l’adresse absolue de l’opérande.

L’adresse effectif d...
JEU D’INSTRUCTIONS

ADRESSAGE RELATIF


Le champs opérande contient l’adresse absolue de l’opérande.

L’adresse effectif ...
Cours n°4: 6 Novembre 2013
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION
Phase 1

Phase 2

Phase 3

Phase 4

Phase 5

•Rechercher (ou charger) l’instruction à...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION

PHASE 1 : CHARGER L’INSTRUCTION À TRAITER
1.

Mettre le contenu du CO dans le regist...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION

PHASE 2 : DÉCODER L’INSTRUCTION


Le code d’opération la nature de l'opération à ef...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION

PHASE 3 : CHARGER L’OPÉRANDE


Si l'instruction nécessite une donnée qui se trouve ...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION

PHASE 4 : EXÉCUTER L’INSTRUCTION
Les bits d’état sont positionnés
S = 0, Z = 0, .......
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION

PHASE 5 : PASSER À L’INSTRUCTION SUIVANTE


Le Compteur Ordinal (CO) est mis à jour...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION
DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE DIRECT

ADD ADR

Phase 1 : Charger l’...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION
DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE IMMÉDIAT

ADD VALEUR

Phase 1 : Charg...
ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION
DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE INDIRECT

ADD ADR

Phase 1 : Charger ...
SOURCES DE CE COURS


Djamal BENNOUAR, Cours Architecture des Ordinateurs 1,
Département Informatique, Faculté des Scienc...
Prochain SlideShare
Chargement dans…5
×

Chapitre ii architecture interne des processeurs

2 883 vues

Publié le

Publié dans : Formation
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 883
Sur SlideShare
0
Issues des intégrations
0
Intégrations
9
Actions
Partages
0
Téléchargements
206
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chapitre ii architecture interne des processeurs

  1. 1. Université Saad Dahleb de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatique (GSI) Semestre 3 (2ème année) CHAPITRE II ARCHITECTURE INTERNE DES PROCESSEURS Cours n°2: 23 Octobre 2013 AROUSSI Sana Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  2. 2. PLAN DU CHAPITRE II  Introduction  Unité Arithmétique et Logique (UAL)  Unité de Commande (U.C)  Jeu d’instruction  Étapes d’exécution d’un instruction 2
  3. 3. INTRODUCTION  Un programme est un ensemble d’instructions exécutées dans un ordre bien déterminé.  Un programme est exécuté par un processeur (machine).  Pour comprendre le mécanisme d’exécution d’un programme  il faut comprendre le mécanisme de l’exécution d’une instruction  il faut connaître l’architecture du processeur sur lequel va s’exécuter cette instruction. 3
  4. 4. INTRODUCTION ARCHITECTURE DE VON NEUMANN (1946) Unité Centrale 4
  5. 5. INTRODUCTION VU DÉTAILLÉ DE L’ARCHITECTURE D’UN PROCESSEUR BUS d’Adresse BUS d’Adresse interne Unité de Traitement Bus de commande Unité de Commande Bus de commande BUS de données interne BUS de Données 5
  6. 6. INTRODUCTION REGISTRES  Pour assurer leur fonctionnement l’unité de traitement (Partie opérative) et l’unité de commande (Partie contrôle), on utilise des mémoires très rapides appelés registre  En règle général, dans le contexte d’un processeur particulier, les registres sont associés à des noms court (ou mnémonique) indiquant leur rôle dans une architecture de processeur Nom Désignation RI Registre Instruction ACC Registre Accumulateur RAM Registre Adresse Mémoire PC Compteur Programme RE Registre d’Etat 6
  7. 7. INTRODUCTION REGISTRES DU TRAVAIL  Le microprocesseur peut contenir d’autres registres autre que RI, ACC, RAM, PC et RE.  Ces registres, appelés registres de travail, sont considérés comme une mémoire interne du microprocesseur.  Les registres de travail sont plus rapide que la mémoire centrale , mais leur nombre est limité.  Généralement, ces registres sont utilisés pour sauvegarder les données avant d’exécuter une opération.  Généralement, la taille d’un registre de travail est égale à la taille d’un mot mémoire 7
  8. 8. INTRODUCTION EXEMPLE DE MICRO ARCHITECTURE 8
  9. 9. INTRODUCTION Registres de travail LA MACHINE PÉDAGOGIQUE MIASM Unité de traitement Unité de commande 9
  10. 10. UNITÉ DE TRAITEMENT Est dédié à contenir le résultat d’une opération réalisée par l’UAL ACCUMULATEUR Registre d’état UAL Bus de contrôle Registres de travail Bus de Données 10
  11. 11. UNITÉ DE TRAITEMENT U.A.L  L’unité Arithmétique et Logique (UAL) est un circuit complexe assurant:  les fonctions logiques (ET, OU, XOR, Comparaison, Décalage).  les fonctions arithmétique (Addition, soustraction)  Les opérandes sont dans les registres de travail  Les résultats sont mis dans l’accumulateur 11
  12. 12. UNITÉ DE TRAITEMENT U.A.L  Reçoit deux opérandes A (An . . . A1 A0) et B (Bn . . . B1 B0) et produit le résultat S (Sm . . . S1 S0) selon l'indication appliquée sur l'entrée C (Ck . . . C1 C0). 12
  13. 13. UNITÉ DE TRAITEMENT REGISTRE D’ÉTAT  Le registre d’état est composé de quelque bits (8 bits en général):  Les bit sont considérés individuellement.  Chaque bit est un indicateur de l'état du résultat de la dernière opération effectuée par l’UAL.   Les bits sont appelés: indicateur d’état, flag, drapeaux. Le résultat du test de leur état conditionne le déroulement de la 13 suite d’un programme
  14. 14. UNITÉ DE TRAITEMENT EXEMPLE D’INDICATEURS DU REGISTRE D’ÉTAT C S O Z P Bit Indication C (Carry) Bit de la retenue S (Sign) Bit du signe O (Overflow) Bit de débordement Z (Zero) Résultat nul P ( Parity) Bit de Parité 14
  15. 15. UNITÉ DE COMMANDE Bus d’adresse Compteur Programme (PC) UAL Séquenceur Décodeur Registre d’Instruction (RI) Horloge Bus de Données 15
  16. 16. UNITÉ DE COMMANDE COMPTEUR DE PROGRAMME  Le compteur de programme, appelé aussi Compteur Ordinal (CO), est un registre contenant toujours l’adresse de la prochaine instruction à exécuter:  Initialisé avec l'adresse de la première instruction à exécuter du programme.  Mis à jour avec incrémentation d’une valeur ou chargement d’une valeur 16
  17. 17. UNITÉ DE COMMANDE REGISTRE D’INSTRUCTION  Le registre d’instruction contient l’instruction en cours d’exécution Séquenceur Décodeur Code Instruction Informations pour l’instruction Registre d’Instruction (RI) 17
  18. 18. UNITÉ DE COMMANDE SÉQUENCEUR  Le Séquenceur (contrôleur) Organise l'exécution des instructions au rythme de l’horloge  Il élabore tous les signaux de commande des diverses parties du processeur en fonction du code de l’instruction 18
  19. 19. Cours n°3: 30 Octobre 2013
  20. 20. JEU D’INSTRUCTIONS  Chaque processeur possède un certain nombre limité d’instructions qu’il peut exécuter. Ces instructions s’appelles jeu d’instructions.  Le jeu d’instructions décrit l’ensemble des opérations élémentaires que le processeur peut exécuter.  Les instructions peuvent être classifiées en 4 catégories :  Instruction d’affectation  Instructions arithmétiques et logiques ( ET , OU , ADD,….)  Instructions de branchement ( conditionnelle et inconditionnelle ) 20  Instructions d’entrées sorties.
  21. 21. JEU D’INSTRUCTIONS FORMAT D’INSTRUCTION  L’instruction est composée de deux champs :  Code d’opération représentant l'action que le processeur doit accomplir.  Champ des opérandes définissant les paramètres de l'action. Un opérande peut s'agir d'une donnée ou bien d'une adresse mémoire. Code opération N bits  Opérandes K bits La taille d’une instruction dépend du type de l’instruction et du type de l’opérande.  Les instructions et leurs opérandes sont stockés dans la mémoire. 21
  22. 22. JEU D’INSTRUCTIONS EXEMPLE DU FORMAT D’INSTRUCTION  Instruction à trois opérandes: Il faut préciser le premier opérande, le deuxième opérande et l’emplacement du résultat Code opération Exemple: ADD A,B, C Opérande1 ADD Opérande2 A B Résultat C CA +B La taille de l’instruction est grand  Pratiquement il 22 n’existent pas d’instruction de ce type.
  23. 23. JEU D’INSTRUCTIONS EXEMPLE DU FORMAT D’INSTRUCTION  Instruction à deux opérandes: Il faut préciser le premier opérande et le deuxième opérande. Le résultat est implicitement mis dans le deuxième opérande . Code opération Exemple: ADD A,B ADD Opérande1 A Opérande2 B BA +B 23
  24. 24. JEU D’INSTRUCTIONS EXEMPLE DU FORMAT D’INSTRUCTION  Instruction à un opérande: il faut préciser uniquement le deuxième opérande. Le premier opérande existe dans le registre accumulateur. Le résultat est mis dans le registre accumulateur. Code opération Exemple ADD B ADD Opérande B ACC ACC +B 24 Ce type d’instruction est le plus utilisé.
  25. 25. JEU D’INSTRUCTIONS MODE D’ADRESSAGE Code opération N bits  Opérandes K bits Le mode d’adressage définit la manière dont le processeur va accéder à l’opérande.  Le code opération comporte un ensemble de bits pour indiquer le mode d’adressage.  Les modes d’adressage les plus utilisés sont : immédiat, direct, indirect, indexé et relatif. 25
  26. 26. JEU D’INSTRUCTIONS ADRESSAGE IMMÉDIAT  La valeur de l’opérande existe dans le champ opérande de l’instruction Code opération Exemple : ADD valeur 150 ADD 150 Cette commande va avoir l’effet suivant : ACCACC+ 150 Si le registre accumulateur contient la valeur 200 alors après l’exécution son contenu sera égale à 350 26
  27. 27. JEU D’INSTRUCTIONS ADRESSAGE DIRECT  Le champs opérande contient l’adresse de l’opérande (emplacement en mémoire )  Code opération adresse de l’opérande Pour réaliser l’opération, il faut récupérer (lire) l’opérande à partir de la mémoire. Exemple : ADD 150 ADD 150 Cette commande va avoir l’effet suivant : ACCACC+ (150) ACCACC+ 30 Si le registre accumulateur contient la valeur 200 alors après l’exécution son contenu sera égale à 230 30 150 27
  28. 28. JEU D’INSTRUCTIONS ADRESSAGE INDIRECT  Le champs opérande contient l’adresse de l’adresse de l’opérande. Code opération  adresse d’adresse de l’opérande Pour réaliser l’opération, il faut d’abord récupérer l’adresse de l’opérande à partir de la mémoire, ensuite, chercher l’opérande à partir de la mémoire. Exemple : ADD ADD 150 150 Cette commande va avoir l’effet suivant : ACCACC+ ((150)) ACCACC+ (255) 150 255 255 40 ACCACC+ 40 Si le registre accumulateur contient la valeur 200 alors après l’exécution son contenu sera égale à 240 28
  29. 29. JEU D’INSTRUCTIONS ADRESSAGE INDEXÉ  Le champs opérande contient l’adresse absolue de l’opérande. L’adresse effectif de l’opérande est relatif à une zone mémoire. L’adresse de cette zone se trouve dans un registre spécial appelé registre index.  Adresse opérande = ADR + R_Index Code opération adresse absolue de l’opérande Registre d’index 50 ADD 150 Adresse absolue + 200 Adresse effectif 30 29
  30. 30. JEU D’INSTRUCTIONS ADRESSAGE RELATIF  Le champs opérande contient l’adresse absolue de l’opérande. L’adresse effectif de l’opérande est relatif à une zone mémoire. L’adresse de cette zone se trouve dans un registre spécial appelé registre de base.  Code opération adresse absolue de l’opérande Ce mode d’adressage est utilisée pour les instructions de branchement. Adresse opérande = ADR + R_Base Registre de base 100 BR 130 Adresse absolue + 230 Adresse effectif ADD 200 30
  31. 31. Cours n°4: 6 Novembre 2013
  32. 32. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 •Rechercher (ou charger) l’instruction à traiter •Décoder l’instruction chargée •Rechercher (ou charger) l’opérande •Exécuter l’instruction •Passer à l’instruction suivante 32
  33. 33. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION PHASE 1 : CHARGER L’INSTRUCTION À TRAITER 1. Mettre le contenu du CO dans le registre RAM : RAM CO 2. Commande de lecture à partir de mémoire 3. Transfert du contenu du RIM dans le registre RI: RI RIM 1 CO 2001 Bus d’adresse 2 Lecture Bus de commandes RAM 100 150 ...... 2001 Instruction 1 2002 Instruction 2 2003 Instruction 3 RIM 33 RI 3 Instruction 1 Bus de données
  34. 34. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION PHASE 2 : DÉCODER L’INSTRUCTION  Le code d’opération la nature de l'opération à effectuer (addition, soustraction,...) et le nombre de mots de l'instruction  A la base du code de l’instruction le séquenceur élabore une suite de commandes élémentaires Les commandes élaborées à chaque cycle d’horloge Séquenceur horloge Résultat du décodage Décodeur Code Opération Registre d’Instruction 34
  35. 35. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION PHASE 3 : CHARGER L’OPÉRANDE  Si l'instruction nécessite une donnée qui se trouve en mémoire, le séquenceur émet les commandes pour récupérer cette donnée. RAM  RI. ADR ACC ADD Séquenceur Lecture Addition en mode direct Registre de 150 données (RD) Décodeur RI 100 RAM UAL 100 150 ...... 2001 Instruction 1 2002 Instruction 2 2003 Instruction 3 RIM ADD 100 ACC  ACC + (100) 35 UAL  RIM
  36. 36. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION PHASE 4 : EXÉCUTER L’INSTRUCTION Les bits d’état sont positionnés S = 0, Z = 0, ..... Etat Aprés l’exécution: ACC =200 ACC  ACC + RD ACC = 50 UAL RD = 150 ADD 36
  37. 37. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION PHASE 5 : PASSER À L’INSTRUCTION SUIVANTE  Le Compteur Ordinal (CO) est mis à jour avec l’adresse de l'instruction suivante. CO  CO + 1 CO 2002 2001 UAL 100 RAM ACC 150 ...... Registre de données (RD) Décodeur RI ADD (2002) Instruction 1 2002 Instruction 2 2003 Séquenceur 2001 Instruction 3 RIM 37
  38. 38. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE DIRECT ADD ADR Phase 1 : Charger l’instruction • RAM CO • Lecture • RI RIM Phase 2: Décoder l’instruction Phase 3: Charger l’opérande • RAMADR • Lecture • RDRIM Phase 4: Exécuter l’instruction • ACC ACC + RD Phase 5: Passer à l’instruction suivante • COCO + 1 38
  39. 39. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE IMMÉDIAT ADD VALEUR Phase 1 : Charger l’instruction • RAM CO • Lecture • RI RIM Phase 2: Décoder l’instruction Phase 4: Exécuter l’instruction • RDvaleur • ACC ACC + RD Phase 5: Passer à l’instruction suivante • COCO + 1 39
  40. 40. ÉTAPES D’EXÉCUTION D’UNE INSTRUCTION DÉROULEMENT DE L’INSTRUCTION D’ADDITION EN MODE INDIRECT ADD ADR Phase 1 : Charger l’instruction • RAM CO • Lecture • RI RIM Phase 2: Décoder l’instruction Phase 3: Charger l’opérande • RAMADR • Lecture • RAMRIM • Lecture • RDRIM Phase 4: Exécuter l’instruction • ACC ACC + RD Phase 5: Passer à l’instruction suivante • COCO + 1 40
  41. 41. SOURCES DE CE COURS  Djamal BENNOUAR, Cours Architecture des Ordinateurs 1, Département Informatique, Faculté des Sciences, USDB, 2012.  Amrouche Hakim, Cours d’Architecture des ordinateurs, École nationale Supérieure d’Informatique (ESI), Alger, Année universitaire 2011/2012. Disponible sur http://amrouche.esi.dz/ 41

×