49
La fonction d’exécution CPU, Mémoire

La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

La fonction d’exécution

CPU, Mémoire

Page 2: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

Couche des langages d’application

Couche du langage d’assemblage

Couche du système d’exploitation

Couche architecture du jeu d’instructions (couche ISA)

Couche microarchitecture

Couche logique numérique

Niveau 5

Niveau 4

Niveau 3

Niveau 2

Niveau 1

Niveau 0

Traduction (compilateur)

Traduction (assembleur)

Interprétation partielle (systèmed’exploitation)

Interprétation (microprogramme)ou exécution directe

Matériel

La couche « microarchitecture »

Page 3: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

3

La couche « microarchitecture »

Des fonctions logiques évoluées sontinterconnectées : Registres Contrôleur Unité Arithmétique et logique …

Couche supérieures : ISA (jeud’instructions)

Couche inférieure : Logique numérique

Page 4: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

4

CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est

encodé en binaire et la logique câblée remplace le LM

CU (Control Unit) contrôle, interprète les instructions, lit le compteurd’instructions et fait la séquence d’actions correspondantes au cycleFetch/Execute

ALU + CU = CPU (Central Processing Unit)

Page 5: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

5

Little Man Computer

Page 6: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

6

CPU & Registres

Exécute les instructions machines placées enmémoire centrale Est constitué de quatre parties

L’unité arithmétique et logique (UAL) Exécution de tous les calculs de microprocesseur

Les registres Zones de mémorisation de l’information internes au

microprocesseur

L’unité de commande (CU – control unit) Exécute les instructions machines en utilisant les registres et

l’UAL

Le bus de communication interne

Page 7: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

7

Registres LMC

Zones de mémorisation de l’informationinternes au microprocesseur Registres spécifiques: 2 registres pour la manipulation des instructions

PC (le compteur ordinal) IR (le registre d’instruction)

2 registres permettant la communication avec lesautres modules via le bus

MAR (le registre d’adresses) MDR (le registre de données)

Registres généraux Un seul registre : Acc (accumulateur)

Page 8: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

8

Compteur de programme ( PC )

C’est un registre d’adresses.

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

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

Peut être changé lors de l’exécution: instruction“jump”.

Initialiser à zéro ou « reset » au début.

Page 9: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

9

Le registre d’instruction ( IR )

C’est un registre de données. Il contient uneinstruction à exécuter.

Op Code + Adresse

Type de traitement à réaliser Localisation des données

ADD 99: 1 99

Page 10: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

10

Registre d’adresses (MAR)Contient l’adresse du mot mémoire. Cette

adresse est placée sur le bus d’adresses et devientla valeur d’entrée du circuit de sélection qui va àpartir de cette entrée sélectionner le motcorrespondant.

Registre de données (MDR)Il permet l’échange d’informations

(contenu d’un mot mémoire) entre la mémoirecentrale et le processeur (registre)

Page 11: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

11

Accumulateur

Registre (ou l’ensemble de registres) utilisé pour lamanipulation des données.

D’habitude contient les résultats des opérationsarithmétiques ou logiques.

Page 12: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

12

Opération de la mémoire

Une unité Mémoire consiste en un ensemblede cellules de stockage possédant uneadresse propre et pouvant stocker unevaleur binaire

MAR – registre contenant l’adresse de lamémoire où sera stockée la donnée

MDR – registre contenant ladonnée/Instruction a être stockée/lu

12

Page 13: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

13

Mémoire et les registres MDR &MAR

Adresse Donnée

Copyright 2010 John Wiley & Sons, Inc. 7-13

Page 14: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

14

Exemple MAR-MDR

Copyright 2010 John Wiley & Sons, Inc. 7-14

Page 15: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

15

Analogie visuelle

Copyright 2010 John Wiley & Sons, Inc. 7-15

Page 16: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

16

Cellule mémoire

Copyright 2010 John Wiley & Sons, Inc. 7-16

Page 17: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

17

Capacité Mémoire

Déterminée par deux facteurs:1. Nombre de bits dans MAR

LMC = 100 (00 to 99) Nombre d’adresses mémoires pouvant être

décodées2. Taille du champs adresse dans

l’instruction 4 bits permet 16 locations 8 bits permet 256 locations 32 bits permet 4,294,967,296 ou 4 GB

17

Page 18: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

18

L’exécution d’une instruction

L’exécution d’une instruction implique: Le microprocesseur

Registres UAL Unité de commande Bus interne

Le bus de communicationmémoire/microprocesseur

La mémoire centrale

Page 19: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

19

L’exécution d’une instruction

Exécuter une instruction équivaut àpermettre des interactions efficacesentre ces trois composants Microprocesseur Le bus de communication

mémoire/microprocesseur La mémoire centrale

Page 20: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

20

kc

Registres CPU LMC

Accumulateur ( A or Acc )

Registre d’instruction ( IR )

Registre d’adresses ( MAR )

Registre de données ( MDR )

Compteur de programme ( PC )

Mémoire

Page 21: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

21

Little Man vs CPU Cycle Fetch-Execute

LM lit le compteur de programme

…lire l’instruction: STORE

Aller au tiroir correspondant …

Lire un champ d’opérande de l’instruction

Écrire la valeur de l'unité de calcul sur un papier

Mettre le papier dansle tiroir

Incrémenter (faire +1) le compteur de programme.

PC -> MAR

MDR -> IR

IR[adr] -> MAR

A -> MDR

PC +1-> PC

Page 22: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

22

Cycle d’instruction: Fetch-Execute

06 LDA 15 A M[15]515

Page 23: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

23

«Fetch»

C’est la phase de recherche et dechargement de l’instruction, pointée parle compteur de programme PC dans leregistre instruction IR Le contenu du PC est placé dans le

registre d’adresses MAR L’accès mémoire

Placer le contenu du registre MDR dans leregistre IR

Page 24: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

24

kc

PC: 06

IR: (précédant)

A: (précédant)

MAR: 06

MDR: (précédant)

PC -> MAR

99

15: 10

06: 5150

Page 25: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

25

kc

PC: 06

IR: (précédant)

A: (précédant)

MAR: 06

MDR: (précédant)

L’accès mémoire à l’adresse 06

99

15: 10

06: 515

0

Page 26: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

26

kc

PC: 06

IR: (précédant)

A: (précédant)

MAR: 06

MDR: 515

Le contenu M[06] dans MDR:

99

15: 10

06: 515

0

Page 27: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

27

PC: 06

IR: 515

A: (précédant)

MAR: 06

MDR: 515

MDR -> IR

99

15: 10

06: 515

0

Page 28: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

28

«Execute»

Analyse de l’instruction L’unité de commande déclenche la

séquence de micro-instructionsnécessaires à la réalisation del’instruction

Incrémenter le compteur de programme Dépend de l’instruction

On continue l’exemple : LDA 15

Page 29: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

29

PC: 06

IR: 515

A: (précédant)

MAR: 15

MDR: 515

IR [ partie adresse ] -> MAR

99

15: 10

06: 515

0

Page 30: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

30

PC: 06

IR: 515

A: (précédant)

MAR: 015

MDR: 515

LOAD =>M[15] = 10 =>MDR

99

15: 10

06: 515

0

Page 31: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

31

PC: 06

IR: 515

A: (précédant)

MAR: 015

MDR: 10

MDR = 10

99

15: 10

06: 515

0

Page 32: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

32

PC: 06

IR: 515

A: 10

MAR: 15

MDR: 10

IR [op code] s’exécute: MDR -> A

99

15: 10

06: 515

0

Page 33: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

33

PC: 07

IR: 515

A: 10

MAR: 15

MDR: 10

PC + 1 -> PC

99

15: 10

06: 515

0

Page 34: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

34

PC: 07

IR: 515

A: 10

MAR: 15

MDR: 10

Fin !

99

15: 10

06: 515

0

Page 35: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

35

Fetch-Execute Cycle de l’instruction Load

PC + 1 -> PC

MDR -> A

IR(adresse) -> MAR

MDR -> IR

PC -> MAR

Page 36: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

36

Maintenant:07 ADD 18

M[18] = 71, le reste est le même

Fetch-Execute Cycle de l’instruction ADD

Page 37: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

37

PC: 07

IR: 515

A: 10

MAR: 07

MDR: 10

PC -> MAR

99

18: 71

15: 10

07: 11806: 515

0

Page 38: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

38

PC: 7

IR: 515

A: 10

MAR: 7

MDR: 10

MAR accède l’adresse 7

99

18: 71

15: 10

07: 11806: 515

0

Page 39: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

39

PC: 7

IR: 515

A: 10

MAR: 7

MDR: 118

Contenu de M[7] -> MDR

99

18: 71

15: 10

07: 11806: 515

0

Page 40: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

40

PC: 7

IR: 118

A: 10

MAR: 7

MDR: 118

MDR -> IR

99

18: 71

15: 10

07: 11806: 515

0

Page 41: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

41

PC: 7

IR: 118

A: 10

MAR: 18

MDR: 118

IR [adresse] -> MAR

99

18: 71

15: 10

07: 11806: 515

0

Page 42: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

42

PC: 7

IR: 118

A: 10

MAR: 18

MDR: 118

M[MAR] accédé

99

18: 71

15: 10

07: 11806: 515

0

Page 43: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

43

PC: 7

IR: 118

A: 10

MAR: 18

MDR: 71

M [18] -> MDR

99

18: 71

15: 10

07: 11806: 515

0

Page 44: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

44

PC: 7

IR: 118

A: 81

MAR: 18

MDR: 71

IR [opcode] exécuté: A = A + MDR

99

18: 71

15: 10

07: 11806: 515

0

Page 45: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

45

PC: 8

IR: 118

A: 81

MAR: 18

MDR: 71

PC = PC + 1

99

18: 71

15: 10

07: 11806: 515

0

Page 46: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

46

PC + 1 -> PC

A + MDR -> A

IR(address) -> MAR

MDR -> IR

PC -> MAR

Fetch-Execute Cycle de l’instruction ADD

Page 47: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

47

Fetch-Execute Cycle de l’instruction STORE

PC + 1 -> PC

A -> MDR

IR(address) -> MAR

MDR -> IR

PC -> MAR

Page 48: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

48

LMC Fetch/ExecuteSUB

PC MAR

MDR IR

IR[adr] MAR

A – MDR A

PC + 1 PC

IN

PC MAR

MDR IR

IOR A

PC + 1 PC

OUT

PC MAR

MDR IR

A IOR

PC + 1 PC

HLT

PC MAR

MDR IR

BR

PC MAR

MDR IR

IR[adr] PC

Branchement conditionnel

PC MAR

MDR IR

Si la condition est faux: PC + 1 PC

Si la condition est vrai: IR[adr] PC

Page 49: La fonction d’exécutionmonnier/1215/notes-cpumem.pdf4 CPU: Structure Dans les ordinateurs réels, le jeu d’instructions est encodé en binaire et la logique câblée remplace

49

LMC, la couche microarchitecture