92
1 L’informatique : une grande cuisine

1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

Embed Size (px)

Citation preview

Page 1: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

1

L’informatique : une grande cuisine

Page 2: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

2

Les caches

Dans l’exemple de la bibliothèque, le bureau fait office de cache.

Cache est le nom qui a été choisi pour représenter le niveau de hiérarchie de mémoire situé entre l’UC et la mémoire principale.L’élément de base est le bloc.

MémoireCentraleMémoireCentraleUCUC

Page 3: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

3

Hiérarchie mémoire

mots Blocs de mots

Pages de

mots

UCUC CacheCache RAMRAM DisqueDisque

100 Ko 512 Ko 64-128 Méga 10 Téra

5 ns 10-12 ns 60 ns 8 ms

Page 4: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

4

Problématique

Page 5: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

5

Référence à un mot Xn dans le cache

MémoireCentraleMémoireCentraleUCUC

X4

X1

Xn-2

Xn-1

X5

X3

X4

X1

Xn-2

Xn-1

X5

X3

Page 6: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

6

Référence à un mot Xn dans le cache

MémoireCentraleMémoireCentraleUCUC

X4

X1

Xn-2

Xn-1

X5

X3

X4

X1

Xn-2

Xn-1

X5

X3

UC veut faire référence à Xn

1

Page 7: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

7

Référence à un mot Xn dans le cache

Recherche de Xn dans le cache

MémoireCentraleMémoireCentraleUCUC

X4

X1

Xn-2

Xn-1

X5

X3

X4

X1

Xn-2

Xn-1

X5

X3

2

Page 8: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

8

Référence à un mot Xn dans le cache

Recherche de Xn dans le cache

MémoireCentraleMémoireCentraleUCUC

X4

X1

Xn-2

Xn-1

X5

X3

X4

X1

Xn-2

Xn-1

X5

X3

Xn

Défau

t de

cach

e

2

Page 9: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

9

Référence à un mot Xn dans le cache

Extraction de Xn dans la mémoireInsertion dans le cache

MémoireCentraleMémoireCentraleUCUC

X4

X1

Xn-2

Xn-1

X5

Xn

X3

X4

X1

Xn-2

Xn-1

X5

Xn

X3

3

Page 10: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

10

Bilan : Référence à un mot Xn

X4

X1

Xn-2

Xn-1

X5

Xn

X3

Après la référence à Xn

X4

X1

Xn-2

Xn-1

X5

X3

Avant la référence à Xn

Page 11: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

11

But du cours

• Question 1 : Où placer un bloc?

• Question 2 : Comment un bloc est-il trouvé ?

• Question 3 : Quel bloc remplacé lors d’un défaut ?

• Question 4 : Comment sont traités les écritures?

Page 12: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

12

Question 1 :

• Où placer un bloc?

• Caches à correspondances directes

• Caches totalement associatifs

• Caches associatifs par ensemble

Page 13: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

13

web

• cachespentium3

Page 14: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

14

Les caches à correspondance directe

Le moyen le plus simple est d’assigner un emplacement unique dans le cache. Cet emplacement est fonction du mot en mémoire.

La correspondance est la suivante : numéro de bloc modulo le nombre de blocs dans le cache

Cette structure du cache est dite à correspondance directe.

adresse

Rappel : Modulo n = reste de la division par n

Page 15: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

15

Rappel modulo

Page 16: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

16

Rappel modulo

27

27 mod 8 =3

Page 17: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

17

Cache à correspondance directe 8 entrées

MémoireCentraleMémoireCentraleUCUC

Exemple :

Page 18: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

18

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

AdresseDonnéeAdresse Donnée

?

Page 19: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

19

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1 mod 8 = 1

Page 20: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

20

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Page 21: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

21

Simulateur

Page 22: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

22

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Aux 4 adresses 00001, 01001, 10001, 11001

correspond la même entrée d’index (adresse dans le cache)

001 du cache

Aux 4 adresses 00001, 01001, 10001, 11001

correspond la même entrée d’index (adresse dans le cache)

001 du cache

Page 23: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

23

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Page 24: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

24

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

PROBLEME :

Un emplacement dans le cache peut appartenir à plusieurs emplacements mémoire.Comment savoir si la donnée correspond au mot demandé ?

Page 25: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

25

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Réponse :

Une Etiquette permet de savoir si le mot demandé est dans le cache

DonnéeEtiquette

Page 26: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

26

Cache à correspondance directe 8 entrées

UCUC

000

001

010

011

100

101

110

111 11001

11101

10001

10101

01001

01101

00001

00101

Index Etiquette donnée

00

01

Page 27: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

27

Question 1 :

• Où placer un bloc?

Caches à correspondance directe

• Caches totalement associatifs

Caches associatifs par ensemble

Page 28: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

28

Les caches totalement associatifs

Si un bloc peut être placé n’importe où dans le cache, celui ci est totalement associatif.

Page 29: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

29

Les caches totalement associatifs

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

?

Page 30: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

30

Les caches totalement associatifs

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Page 31: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

31

Simulateur

Simulateurdecache

Page 32: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

32

Question 1 :

• Où placer un bloc?

Caches à correspondance directe

Caches totalement associatifs

• Caches associatifs par ensemble

Page 33: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

33

Caches associatif par ensemble

Si un bloc peut être placé dans un ensemble restreint de places dans le cache, le cache est dit associatif par ensemble de blocs. Un ensemble est un groupe de blocs dans le cache.

Un bloc est d’abord affecté à un ensemble, puis placé n’importe où dans l’ensemble.

numéro de l’ensemble =

numéro de bloc modulo le nombre d’ensembles dans le cache

Page 34: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

34

Cache associatif par ensemble de 4

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

E0

E1

E2

E3

Page 35: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

35

Cache associatif par ensemble de 4

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

17 mod 4 = 1

E0

E1

E2

E3

Page 36: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

36

Alors quel cache est à utiliser ?

• Augmenter le degré d’associativité présente généralement l’avantage de diminuer le taux de défaut. (Voir TD)

• Mais cela a tendance à augmenter le coût et le temps d’accès.

Page 37: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

37

But du cours

Question 1 : Où placer un bloc?

• Question 2 : Comment un bloc est-il trouvé ?

Question 3 : Quel bloc remplacé lors d’un défaut ?

Question 4 : Comment sont traités les écritures?

Page 38: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

38

Organisation de la mémoire principale

0 1 2 3

4 5 6 7

8 9 10 11

048

Adresse du mot Adresse de l’octet

Page 39: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

39

Organisation de la mémoire principale

4 5 6 7

048

Adresse du mot Adresse de l’octet

0 1 2 3

4 5 6 7

8 9 10 11

Mémoire

Transfert du mot de 32 bits

Pour se déplacer dans le bloc il faut 2 bits d’adresse, mais tous les octetsOnt le même index.

MémoireMémoire

CacheCache

Page 40: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

40

Comment trouver un bloc ?

Quelle est la relation de l’adresse UC avec le cache ?

Numéro de l’ensemble

Déplacement dans le bloc

Cache associatif par ensemble de bloc

Etiquette

Index

Déplacement dans le bloc

Cache direct

Etiquette

Taille =Log2(blocCache)-1

Index

Remarque : en augmentant d’un facteur de deux l’associativité on diminue de 1 bit la taille de l’index.

Page 41: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

41

Cache à correspondance directe

Validité Etiquette donnéeIndex 0

12..................10221023

Succès

Page 42: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

42

UC veux la donnée qui est à l’adresse :

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index

Validité Etiquette donnéeIndex 0

12..................10221023

Adresse d’octet

32

UCUC

Page 43: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

43

L’index sélectionne une entrée du cache :

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index

Validité Etiquette donnéeIndex 0

12..................10221023

Adresse d’octet

32

UCUC

Page 44: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

44

Compare l’étiquette

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index

Validité Etiquette donnéeIndex 0

12..................10221023

Adresse d’octet

=

UCUC

Page 45: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

45

Le mot est délivré au processeur.

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index

Validité Etiquette donnéeIndex 0

12..................10221023

Adresse d’octet

32

SUCCES

UCUC

ET

Page 46: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

46

En cas de défaut

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index UCUC

Mémoire

CacheDéfaut/succès

Donnée

Donnée

Adresse

UC

Page 47: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

47

Comment tirer parti de la localité spatiale ?

• Le cache que nous avons décrit jusqu’à présent ne tire pas parti de la localité spatiale dans les requêtes. En effet, chaque mot dispose de son propre bloc.

EXEMPLE

• Supposons que les adresses d’octets suivantes soient demandées par un programme :

Page 48: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

48

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Page 49: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

49

Exemple : 16,...,19,...,17

UC16

UC16

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1610000

Etiquette Index

Page 50: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

50

Exemple : 16,...,19,...,17

UC16

UC16

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1610000

Etiquette Index

DEFAUT

Page 51: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

51

Exemple : 16,...,19,...,17

UC16

UC16

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1610000

Etiquette Index

10

Page 52: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

52

Exemple : 16,...,19,...,17

UC19

UC19

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1910011

Etiquette Index

Page 53: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

53

Exemple : 16,...,19,...,17

UC19

UC19

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Etiquette Index

DEFAUT

1910011

Page 54: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

54

Exemple : 16,...,19,...,17

UC19

UC19

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Etiquette Index

10

1910011

Page 55: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

55

Exemple : 16,...,19,...,17

UC17

UC17

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Etiquette Index

10

1710001

DEFAUT

Page 56: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

56

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

111

10

Bilan :3 défauts

Page 57: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

57

J’ai une idée !

Ce Dupont ....Dans mes bras= Augmenter la taille des blocs

Page 58: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

58

Caches à 4 mots mémoire

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

Page 59: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

59

Caches à 4 mots mémoire

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

index adresse dans le blocremarque : pas d’étiquette

2 bits3 bits

Page 60: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

60

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

index adresse dans le blocremarque : pas d’étiquette

100 00

16DEFAUT

Page 61: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

61

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1610000

index adresse dans le blocremarque : pas d’étiquette

16 16 17 18 19

On ramène les ref :16,17,18,19

Page 62: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

62

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1910011

index adresse dans le blocremarque : pas d’étiquette

19 16 17 18 19

succès

Page 63: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

63

Exemple : 16,...,19,...,17

UCUC

000

001

010

011

100

101

110

11111001

11101

10001

10101

01001

01101

00001

00101

1710001

index adresse dans le blocremarque : pas d’étiquette

17 16 17 18 19

succès

Page 64: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

64

Exemple : 16,...,19,...,17

• Bilan : 1 seul défaut survient pour trois références.

• SUPER : JE SUIS LE MEILLEUR

Page 65: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

65

Exemple : 16,...,19,...,17

• Bilan : 1 seul défaut survient pour trois références.

• SUPER : JE SUIS LE MEILLEUR

DUPONT and Co

Page 66: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

66

Si nous avons les temps d’accès suivants :

1 cycle d’horloge pour envoyer l’adresse

10 cycles d’horloge pour chaque accès mémoire

1 cycle d’horloge pour envoyer un mot de donnée.

Total = 3* (1+10+1) = 36 cycles

Page 67: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

67

Exemple : 16,...,19,...,17

• Reprenons les chiffres précédent :

• 1 cycle d’horloge pour envoyer l’adresse

• 10 cycles d’horloge pour chaque accès mémoire

• 1 cycle d’horloge pour envoyer un mot de donnée.

• Total = 1+4*10+4*1 = 45 cycles

• Le gain n’est pas ici enorme !!!!!.

• Comment diminuer ce temps ?

Page 68: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

68

Tirer parti de la localité spatiale

• Question : De quelle manière une plus grande taille de bloc influence-t-elle les performances ?

• Le taux de défauts chute lorsque nous augmentons la taille de bloc.

• Attention : il faut adapter le système mémoire en conséquence.

Page 69: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

69

Encore plus compliqué :

• Le taux de défaut peut augmenter, si la taille de bloc est prise très grande par rapport à la taille du cache, car le nombre de blocs pouvant être contenus dans le cache deviendra petit, et la compétition entre ces blocs sera rude. Par conséquent un bloc sera éjecté du cache avant qu’un grand nombre de ses mots soit accédé.

• Le coût du défaut croît. Car le temps nécessaire(si on ne modifie pas le système mémoire) pour accéder à une données augmente.

Page 70: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

70

Les caches par ensemble

Page 71: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

71

Par ensemble (256) de 4 blocs

V E DIndex

012..................253254255

V E D V E D V E D

Succès Donnée

Multiplexeur 4 par 1

4 Blocs

256 Ensembles

Page 72: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

72

Par ensemble (256) de 4 blocs

V E DIndex

012..................253254255

V E D V E D V E D

Succès Donnée

Multiplexeur 4 par 1

4 Blocs

256 Ensembles

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

UCUC

Page 73: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

73

Par ensemble (256) de 4 blocs

V E DIndex

012..................253254255

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

V E D V E D V E D

Succès Donnée

Multiplexeur 4 par 1

822

UCUC

Page 74: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

74

Par ensemble (256) de 4 blocs

V E DIndex

012..................253254255

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

V E D V E D V E D

Succès Donnée

Multiplexeur 4 par 1

822

Page 75: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

75

Par ensemble (256) de 4 blocs

V E DIndex

012..................253254255

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

V E D V E D V E D

Succès Donnée

Multiplexeur 4 par 1

822

UCUC

Page 76: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

76

Les étiquettes en fonction du type de caches

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Etiquette Index

31 30 29 28 ...............16 15 14 13 12 11 10 9 ...4 3 2 1 0

Adresse d’octet

Etiquette

Etiquette

Index

Totalement associatif

Associatif par ensemble de bloc

Correspondance directe

Pour des caches de même dimension :

Page 77: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

77

But du cours

• Question 1 : Où placer un bloc?

• Question 2 : Comment un bloc est-il trouvé ?

• Question 3 : Quel bloc remplacé lors d’un défaut ?

• Question 4 : Comment sont traités les écritures?

Page 78: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

78

Quel bloc remplacé lors d’un défaut ?

Il existe trois stratégies principales employées pour choisir le bloc à remplacer :

• FIFO (Pas bonne)

• Le hasard (facile à réaliser)

• Le plus ancien (LRU Least Rencently Used). Ceci utilise un corollaire de la localité temporelle.

Remarque = FIFOdifférent de LRU.

Page 79: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

79

Les défauts de caches

• Défauts obligatoires de chargement (défaut de démarrage à froid). Un bloc accédé pour la première fois n’est pas dans le cache.

• Défauts de capacité. Si le cache ne peut contenir tous les blocs nécessaires au cours de l’exécution d’un programme

• Défauts de conflits (défaut de collision). Si la stratégie de placement de bloc est associative par ensembles de blocs ou à correspondance directe, des défauts de conflit surviendront, car un bloc peut être rejeté puis récupéré si trop de blocs sont en correspondance avec le même ensemble.

Page 80: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

80

But du cours

• Question 1 : Où placer un bloc?

• Question 2 : Comment un bloc est-il trouvé ?

• Question 3 : Quel bloc remplacé lors d’un défaut ?

• Question 4 : Comment sont traités les écritures?

Page 81: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

81

Comment sont traités les écritures?

L’écriture simultanée (ou rangement simultané) :

L’information est écrite à la fois dans le bloc du cache et dans le bloc de la mémoire de niveau inférieur.

La réécriture (la recopie) :

L’information est écrite uniquement dans le bloc du cache. Le bloc modifié du cache est recopié en mémoire principale uniquement quand il est remplacé.

Page 82: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

82

Si nous avons les temps d’accès suivants :

1 cycle d’horloge pour envoyer l’adresse

10 cycles d’horloge pour chaque accès mémoire

1 cycle d’horloge pour envoyer un mot de donnée.

Total = 3* (1+10+1) = 36 cycles

Page 83: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

83

Exemple : 16,...,19,...,17

Reprenons les chiffres précédent :

1 cycle d’horloge pour envoyer l’adresse

10 cycles d’horloge pour chaque accès mémoire

1 cycle d’horloge pour envoyer un mot de donnée.

Total = 1+4*10+4*1 = 45 cycles

Le gain n’est pas ici énorme !!!!!.

Comment diminuer ce temps ?

Page 84: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

84

Tirer parti de la localité spatiale

Question : De quelle manière une plus grande taille de bloc influence-t-elle les performances ?

Le taux de défauts chute lorsque nous augmentons la taille de bloc.

Attention : il faut adapter le système mémoire en conséquence.

Page 85: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

85

Organisation des mémoires

UC

Cache

Bus

Mémoire

UC

Cache

Bus

Mémoire

UC

Cache

Bus

BM

BM

BM

BM

Page 86: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

86

Organisation d’une mémoire entrelacée

Adresse externe a=4b

b b b b

Mot 1 Mot 2 Mot 3 Mot 4

0 1 2 34 5 6 78 9 . ..

Mém

oire entrelacée

Page 87: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

87

Encore plus compliqué :

ATTENTION (voir TD)

Le taux de défaut peut augmenter, si la taille de bloc est prise très grande par rapport à la taille du cache, car le nombre de blocs pouvant être contenus dans le cache deviendra petit, et la compétition entre ces blocs sera rude. Par conséquent un bloc sera éjecté du cache avant qu’un grand nombre de ses mots soit accédé.

Le coût du défaut croît. Car le temps nécessaire(si on ne modifie pas le système mémoire).

Page 88: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

88

Les performances des caches

• Le temps UC est divisé entre les cycles d’horloge passés par l’UC à exécuter le programme et les cycles d’horloge que l’UC passe à attendre le système mémoire.

Tps UC = (Cycles d’exécution UC + Cycles d’attente mémoire) * Tps C

Page 89: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

89

Les cycles d’attente mémoire

• Les cycles d’horloge d’attente mémoire proviennent principalement des défauts de cache.

(Une prédiction précise des performances implique généralement des simulations très détaillées du processeur et du système mémoire).

Cycles d’attente = (Nb. d’inst/programmes)mémoire *(Nb. de défauts/instruction)

*Coût défaut

Cycles d’attente = (Nb. d'accès par programme)mémoire *(taux de défaut)

*Coût défaut

Page 90: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

90

Résumé

• Où peut être placer un bloc ?

Un corresp. direct, plusieurs (associatif par ensembles), ou tout (totalement associatif) endroit.

• Comment un bloc est il trouvé ?

Indexation (correspondance direct)

Recherche limitée (associatif par ensembles)

Recherche totale (totalement associatif)• Quel bloc est remplacé lors d’un défaut ?

Généralement, soit le moins récemment utilisé, soit un bloc au hasard, de manière aléatoire.

• Comment sont traitées les écritures ?

Chaque niveau de la hiérarchie peut utiliser soit l’écriture simultanée soit la réécriture.

Page 91: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

91

Résumé

• Le défi lancé par la conception des hiérarchies de mémoires est que tout changement qui peut améliorer le taux de défauts peut aussi affecter de façon négative les performances globales.

• C’est une combinaison d'effets positifs et négatifs pour chaque paramètre de conception qui rend délicate la conception d’une hiérarchie de mémoires

Changement deConception

Augmenter la taille

Augmenter l’associativité

Augmenter la taille de bloc

Effet sur letaux de défauts

Réduit les défauts de capacité

Réduit le taux de défaut dû aux défauts de conflit

Réduit le taux de défaut pour un large éventail de tailles de bloc

Effet négatif possiblesur les performances

Peut augmenter le Tpsd’accès

Peut augmenter le temps d’accès

Peut augmenter le coût de défaut

Page 92: 1 Linformatique : une grande cuisine. 2 Les caches Dans lexemple de la bibliothèque, le bureau fait office de cache. Cache est le nom qui a été choisi

92

Caches : taille des blocs

Coût de l’échec

Tps transfert

Tps d’accès

Taille du bloc Taille du bloc

Taille du bloc

Taux d’échec

T ps d’accès

Augmenter la taille du cache indéfiniment