30
Chapitre 5 Hiérarchie de mémoire Département Electronique Industrielle Département Electronique Industrielle EI 2 2013/2014

Hiérarchie de mémoire

Embed Size (px)

DESCRIPTION

La mémoire est un dis ositif électroni ue ermettant de stocker des programmes (instructions) et des données.

Citation preview

Page 1: Hiérarchie   de   mémoire

Chapitre 5Hiérarchie de mémoire

Département Electronique IndustrielleDépartement Electronique Industrielle

EI 2

2013/2014

Page 2: Hiérarchie   de   mémoire

1. Introduction

La mémoire est un dispositif électronique permettant de stocker 

1. Introduction

p q pdes programmes (instructions) et des données. 

Un ordinateur utilise plusieurs types de mémoires :1. ∙ Registre2 ∙Mémoire cache2. ∙ Mémoire cache3. ∙ Mémoire centrale4. ∙ Disque durq5. ∙ CD‐ROM6. ∙ Bande

Page 3: Hiérarchie   de   mémoire

1. Introduction

Le concepteur d’un système mémoire est confronté à un dilemme :Il a besoin d’une mémoire

1. Introduction

Il a besoin d une mémoireTrès grande, très rapide et ne coûte pas cher !!!!!

La solution consiste à ne pas se limiter à un composant ou une technologique unique,mais à concevoir un système de mémoire qui emploie une hiérarchie de mémoire.mais à concevoir un système de mémoire qui emploie une hiérarchie de mémoire.

Page 4: Hiérarchie   de   mémoire

2. Mémoire cache

ProcesseurProcesseur  

Page 5: Hiérarchie   de   mémoire

2. Mémoire cacheProcesseur monocoreProcesseur monocore

Cache à deux Niveaux: L1 et L2 

Page 6: Hiérarchie   de   mémoire

2. Mémoire cacheProcesseur monocore

Caches Multi‐Niveauxl d h é

ocesseu o oco e

Plusieurs niveaux de caches mémoire

hCache L1Intégré dans CPU

è è id (1 C l )Accès très rapide (1 CPU cycle)Taille entre 16 et 128 KB

Cache L2S i RAMStatic RAMAccès rapide (5 à 16 CPU cycles)T ill 246 KB 2 MBTaille entre 246 KB et 2 MB

Page 7: Hiérarchie   de   mémoire

2. Mémoire cache

Processeur monocoreProcesseur monocore

Cache à deux Niveaux: L1 et L2 

Page 8: Hiérarchie   de   mémoire

Organisations des caches du Pentium 4 

2. Mémoire cacheg

Cache à deux Niveaux: L1 et L2 

Page 9: Hiérarchie   de   mémoire

Organisations des caches du  PowerPC

2. Mémoire cacheg

Cache à deux Niveaux: L1 et L2 

Page 10: Hiérarchie   de   mémoire

2. Mémoire cache

Processeur multi‐coresProcesseur multi‐cores

Core du processeur

Cache niveau 1 : L1

Cache niveau 2 : L2

Cache niveau 3 : L3

Cache à trois Niveaux: L1, L2, L3 

Page 11: Hiérarchie   de   mémoire

2. Mémoire cache

MultiProcesseur multi‐coresMultiProcesseur multi‐coresCache à trois Niveaux: L1, L2 , L3

Page 12: Hiérarchie   de   mémoire

2. Mémoire cache

MultiProcesseur multi‐coresMultiProcesseur multi‐cores

Page 13: Hiérarchie   de   mémoire

3. Principe de localité

Localité temporelle : Une donnée ou une instruction récemment tili é b bl t é tili é t è h i tutilisée sera probablement réutilisée très prochainement.

Localité spatiale : Une donnée ou une instruction placée présLocalité spatiale : Une donnée ou une instruction placée prés d’une donnée ou une instruction récemment utilisée sera probablement utilisée prochainement.

Page 14: Hiérarchie   de   mémoire

4. Principales caractéristiques des systèmes de mémoire

Capacité :

Page 15: Hiérarchie   de   mémoire

4. Principales caractéristiques des systèmes de mémoire

Méthode d’accès :

Accès séquentiel : bande.

Accès direct : disque.

Accès aléatoire : mémoire principale et quelques systèmes de cache.p p q q y

Accès associatif : mémoire cache.

Unité de transfert :

Mot : registre < > cacheMot : registre  <‐> cache.

Bloc : cache <‐>mémoire principale.

P t é i i i l é i i t llPage ou segment: mémoire principale  <‐> mémoire virtuelle.

Page 16: Hiérarchie   de   mémoire

Performance :

4. Principales caractéristiques des systèmes de mémoire

Temps d’accès (latence) :Accès aléatoire : c’est le temps nécessaire pour effectuer une opération de lecture ou d’écriture.Accès non aléatoire : c’est le temps nécessaire au positionnement du mécanisme de lecture et écriture à l’emplacement approprié.

Temps de cycle mémoire : c’est le temps d’accès auquel on ajoute le temps nécessaire avant qu’un second accès puisse commencer.

Page 17: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

Un cache est une petite mémoire rapide proche de l’UC, qui contient les données et les instructions les plus récemment 

accédées.

Quand l’UC trouve un élément demandé dans le cache, on parle d’un succès cache, dans le cas contraire on parle d’un échec cache (ou défaut de cache)dans le cas contraire, on parle d un échec cache (ou défaut de cache).

Le temps nécessaire pour traiter un échec cache dépend de :p p p

1. La latence de la mémoire.

2. La bande passante.2. La bande passante.

Page 18: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

Identification d’un bloc dans le cacheLe cache est divisé en plusieurs ensembles. Un ensemble comporte plusieurs blocs.La structure de l’adresse utilisée comporte :La structure de l adresse utilisée comporte :1. Étiquette : est le numéro du bloc utilisée pour la comparaison.2. Index : est le numéro de l’ensemble .3. Déplacement : est l’adresse de la donnée considérée dans le bloc.p

Si la taille totale du cache reste la même, l’augmentation de l’associativité augmente lenombre de blocs par ensemble, diminuant ainsi la taille de l’index et augmentant la taillede l’étiquette. Cela veut dire que la frontière étiquette/index se déplace vers la droitelorsque l’associativité augmente.Un bloc peut contenir une information non valide ; donc pour éliminer l’accès à ce genrede bloc, on ajoute un bit pour indiquer si le bloc est valide ou non.

Page 19: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

Page 20: Hiérarchie   de   mémoire

Performance des caches

5. Principales caractéristiques de Mémoire cachee o a ce des cac es

Un échec cache provoque la suspension de l’UC, jusqu’à que la donnée soit disponible.Une première manière (indirecte) de mesurer la performance de la mémoireUne première manière (indirecte) de mesurer la performance de la mémoire cache est de compter le temps d’accès mémoire moyen (TAMM)

Page 21: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

Le taux d’échec et la pénalité d’échec sont souvent différents pour les lectures et les écritures NCSM devient alors :lectures et les écritures. NCSM devient alors :

Page 22: Hiérarchie   de   mémoire

Placement des blocs dans le cache

5. Principales caractéristiques de Mémoire cacheace e t des b ocs da s e cac e

Il existe trois méthodes pour placer un bloc dans le cache :

1. Correspondance directe :pChaque bloc à uniquement une seule place possible dans le cache calculée de lamanière suivante : 

(Numéro du bloc) mod (nombre de blocs dans le cache)

Page 23: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

2. Totalement associatif :Le bloc peut être placé n’importe où dans le cache. 

Avec les caches Fully Associative, toute donnée chargée depuis la mémoire peut être placée dans n'importe quelle ligne de cache, sans aucune restriction.

Page 24: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

3. Associatif par ensemble :

Le bloc est placé dans un ensemble restreint du cache. Le calcul du numéro de

l’ensemble est effectué de la manière suivante :

(Numéro du bloc) mod (nombre d’ensembles dans le cache)

Un ensemble est un groupe de blocs dans le cache. Si il y a n blocs dans un 

bl l d’ d i ti bl d blensemble, on parle d’une correspondance associative par ensemble de n blocs.

La grande majorité des caches d’aujourd’hui sont soit à correspondance directe, 

soit associatif par ensemble de 2 ou de 4 blocs.

Page 25: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

4. Opération d’écriture dans un bloc

Lorsque on veut écrire une information dans la cache :

On a deux stratégies :

1. L’écriture simultanée (write through): L’information est écrite à la fois dans 

le bloc du cache et dans le bloc de la mémoire principale.le bloc du cache et dans le bloc de la mémoire principale.

2 La réécriture (write back): L’information est écrite uniquement dans le bloc2. La réécriture (write back): L information est écrite uniquement dans le bloc 

du cache. Le bloc modifié est recopié en mémoire centrale uniquement s’ il est 

supprimé du cachesupprimé du cache.

Page 26: Hiérarchie   de   mémoire

Avantages et inconvénients :

5. Principales caractéristiques de Mémoire cache

1. L’écriture simultanée :

F il à i l t∙ Facile à implanter.∙ La mémoire centrale contient toujours des informations cohérentes avec le cache.∙ L’écriture double est lente.

2. La réécriture :

∙ Plusieurs écritures dans un bloc du cache nécessitent qu’une seule écriture dans la Plusieurs écritures dans un bloc du cache nécessitent qu une seule écriture dans la mémoire centrale.∙ Moins de trafic entre le cache et la mémoire centrale.∙ Gestion du cache plus complexe. Gestion du cache plus complexe.∙ Nécessite un bit supplémentaire : Pour diminuer la fréquence de réécritures de bloc lors des remplacements, une technique appelée le bit modifié est couramment utilisée. Ce bit d’état indique si le bloc a été modifié ou non pendant qu’il était dans le cache.q p q

Page 27: Hiérarchie   de   mémoire

L t tt à j i f ti i ’ t l é t d l h

5. Principales caractéristiques de Mémoire cache

Lorsque on veut mettre à jour une information qui n’est plus présente dans le cache :On a deux stratégies :1. Écriture allouée : L’information est d’abord chargée dans le cache puis modifiée.2 Écriture non allouée L’information est directement modifiée dans la mémoire2. Écriture non allouée : L’information est directement modifiée dans la mémoirecentrale et n’est pas chargée dans le cache.

Lecture / écriture dans la mémoire cache

Page 28: Hiérarchie   de   mémoire

5. Principales caractéristiques de Mémoire cache

Lecture :

1 : L’UC fournit l’adresse de la donnée1 : L UC fournit l adresse de la donnée.

2 : Le contrôleur du cache pointe vers le bloc de la donnée.

3 : Comparaison de l’étiquette du bloc avec celle fournit par l’UC.3 : Comparaison de l étiquette du bloc avec celle fournit par l UC.

4 : Chargement du mot.

Écriture :

1 : L’UC fournit l’adresse de la donnée.

2 : Le contrôleur du cache pointe vers le bloc de la donnée.

3 : Comparaison de l’étiquette du bloc avec celle fournit par l’UC.

4 : Si le mot se trouve dans le cache, l’UC met à jour la donnée.

Page 29: Hiérarchie   de   mémoire

Hiérarchie de mémoireConclusion

Hiérarchie de mémoire

Cache à trois Niveaux: Cache à trois Niveaux:L1, L2, L3 

Page 30: Hiérarchie   de   mémoire

Hiérarchie de mémoire2. Mémoire cache Conclusion

Hiérarchie de mémoire

Chaque core possède sa propre cacheChaque core possède sa propre cache