2
TD 4 – Architecture des Ordinateurs emoire cache Licence Informatique 3 ` eme Ann´ ee – UPPA Les 2 premiers exercices traitent de l’´ etude de hi´ erarchies m´ emoire incluant plusieurs niveaux de cache. Les temps d’acc` es des m´ emoires y sont exprim´ es en nombre de cycles d’horloge processeur. Le temps d’acc` es en cas d’´ echec correspond au temps qu’il faut pour rechercher la donn´ ee dans le niveau de cache. Le temps d’acc` es en cas de succ` es est le temps total pour acc´ eder `a la donn´ ee en cas de succ` es (temps de recherche de la donn´ ee plus temps de lecture/´ ecriture de la donn´ ee). Le temps d’acc` es moyen t i d’un niveau i est donn´ e par la formule suivante : t i = temps acces-succes * taux succes +(temps acces-echec + t i+1 ) * taux echec Exercice 1 : ´ etude d’une hi´ erarchie m´ emoire ` a 3 niveaux Niveau Temps acc` es Temps acc` es Taux de Taille (succ` es) echec) succ` es Cache L1 3 1 80% 128 Ko Cache L2 5 2 90% 512 Ko Cache L3 12 4 95% 2 Mo emoire 40 1 Go 1. ` A partir des performances du tableau ci-dessus, calculer le temps d’acc` es moyen global pour les 4 hi´ erarchies m´ emoires suivantes : (a) M´ emoire centrale seule (b) M´ emoire centrale avec cache L1 (c) M´ emoire centrale avec cache L1 et L2 (d) M´ emoire centrale avec cache L1, L2 et L3 2. Conclure sur l’apport de chaque niveau de cache dans cette hi´ erarchie Exercice 2 : choix d’une hi´ erarchie m´ emoire Type de Temps acc` es Temps acc` es Taux de Taux de Taille emoire succ` es ´ echec succ` es en L1 succ` es en L2 A 2 1 50% X 32 Ko B 7 5 80% 50% 64 Ko B 10 7 90% 70% si L1=32 Ko 128 Ko 50% si L1=64 Ko RAM 50 512 Mo Le tableau ci-dessus d´ ecrit le temps d’acc` es pour une m´ emoire centrale ainsi que pour deux types de emoire A et B en diff´ erentes tailles pouvant servir `a construire des m´ emoires cache `a 2 niveaux. La emoire cache fonctionne en mode inclusif. La quatri` eme colonne du tableau donne le taux d’acc` es si la 1

TD 4 – Architecture des Ordinateurs - Eric Cariouecariou.perso.univ-pau.fr/cours/archi/td-4-cache.pdf · TD 4 – Architecture des Ordinateurs M´emoire cache Licence Informatique

  • Upload
    hathuy

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TD 4 – Architecture des Ordinateurs - Eric Cariouecariou.perso.univ-pau.fr/cours/archi/td-4-cache.pdf · TD 4 – Architecture des Ordinateurs M´emoire cache Licence Informatique

TD 4 – Architecture des Ordinateurs

Memoire cache

Licence Informatique 3eme Annee – UPPA

Les 2 premiers exercices traitent de l’etude de hierarchies memoire incluant plusieurs niveaux decache. Les temps d’acces des memoires y sont exprimes en nombre de cycles d’horloge processeur. Letemps d’acces en cas d’echec correspond au temps qu’il faut pour rechercher la donnee dans le niveau decache. Le temps d’acces en cas de succes est le temps total pour acceder a la donnee en cas de succes(temps de recherche de la donnee plus temps de lecture/ecriture de la donnee). Le temps d’acces moyenti d’un niveau i est donne par la formule suivante :

ti = tempsacces−succes ∗ tauxsucces + (tempsacces−echec + ti+1) ∗ tauxechec

Exercice 1 : etude d’une hierarchie memoire a 3 niveaux

Niveau Temps acces Temps acces Taux de Taille(succes) (echec) succes

Cache L1 3 1 80% 128 KoCache L2 5 2 90% 512 KoCache L3 12 4 95% 2 MoMemoire 40 1 Go

1. A partir des performances du tableau ci-dessus, calculer le temps d’acces moyen global pour les 4hierarchies memoires suivantes :

(a) Memoire centrale seule

(b) Memoire centrale avec cache L1

(c) Memoire centrale avec cache L1 et L2

(d) Memoire centrale avec cache L1, L2 et L3

2. Conclure sur l’apport de chaque niveau de cache dans cette hierarchie

Exercice 2 : choix d’une hierarchie memoire

Type de Temps acces Temps acces Taux de Taux de Taillememoire succes echec succes en L1 succes en L2

A 2 1 50% X 32 KoB 7 5 80% 50% 64 KoB 10 7 90% 70% si L1=32 Ko 128 Ko

50% si L1=64 KoRAM 50 512 Mo

Le tableau ci-dessus decrit le temps d’acces pour une memoire centrale ainsi que pour deux types dememoire A et B en differentes tailles pouvant servir a construire des memoires cache a 2 niveaux. Lamemoire cache fonctionne en mode inclusif. La quatrieme colonne du tableau donne le taux d’acces si la

1

Page 2: TD 4 – Architecture des Ordinateurs - Eric Cariouecariou.perso.univ-pau.fr/cours/archi/td-4-cache.pdf · TD 4 – Architecture des Ordinateurs M´emoire cache Licence Informatique

memoire est utilisee au niveau L1. La cinquieme colonne du tableau donne le temps d’acces d’un type dememoire si elle est utilisee au niveau L2 en fonction de la taille du niveau L1.

Questions :1. Pourquoi le tableau ne donne pas de temps d’acces en cas d’echec ou de taux de succes d’acces pour

la memoire centrale ?2. Expliquer d’ou pourrait venir les differences de performances, a la fois en terme de temps d’acces

et de taux de succes des 2 types de memoire, et pourquoi cela peut dependre du niveau precedent.3. Determiner et justifier la meilleure combinaison (parmi tous les types et tailles proposes) possible

de ces memoires A et B pour construire une memoire cache a au plus 2 niveaux.

Exercice 3 : gestion en cache des donnees d’un programme

Nous allons dans cet exercice etudier comment les donnees d’un programme sont gerees en memoirecache. Ce programme est le suivant :

int A[1000], B[1000], C[1000];int sum, i, moy;int NB = 1000;...sum = 0;for(i = 0; i < NB; i++){C[i] = A[i] + B[i];sum += A[i];

}moy = sum / NB;

Pour simplifier cette etude, nous allons considerer une hierarchie memoire avec un seul niveau decache, dont voici les caracteristiques :

– Une memoire centrale de 64 Mo– Une memoire cache d’une taille de 8 Ko– Les lignes ont une taille de 32 octets

Les entiers ont une taille de 32 bits. Une adresse memoire reference en memoire centrale un motmemoire d’un octet. Les donnees du programme sont stockees en memoire de maniere contigue dansl’ordre de leurs declarations. La premiere donnee est donc le tableau A dont le premier element enmemoire se trouve a l’adresse 4000.

Questions :

1. Preciser ou sont placees les donnees du programme en memoire et les lignes auxquelles elles appar-tiennent.

2. La memoire cache fonctionne en mode correspondance directe. Determiner les principales evolutionsdu contenu de la memoire cache. Determiner les problemes (defaut de cache, conflit de ligne ...)avec l’utilisation de ce mode.

3. La memoire cache fonctionne maintenant en mode correspondance associative par ensemble de 2.Determiner les principales evolutions du contenu de la memoire cache.

4. Comparer l’efficacite des deux modes pour ce programme et estimer le taux de succes de chaquemode pour ces 2 methodes.

5. Pour le mode associatif par ensemble, montrer qu’un pre-fechting efficace peut augmenter conside-rablement le taux de succes.

2