• Aucun résultat trouvé

mémoire cache

N/A
N/A
Protected

Academic year: 2022

Partager "mémoire cache"

Copied!
2
0
0

Texte intégral

(1)

TD 4 – Architecture des Ordinateurs

M´emoire cache

Licence Informatique 3eme` 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 ti d’un niveauiest donn´e par la formule suivante :

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

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

M´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 m´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 m´emoire A et B en diff´erentes tailles pouvant servir `a construire des m´emoires cache `a 2 niveaux. La m´emoire cache fonctionne en mode inclusif. La quatri`eme colonne du tableau donne le taux d’acc`es si la

1

(2)

m´emoire est utilis´ee au niveau L1. La cinqui`eme colonne du tableau donne le temps d’acc`es d’un type de m´emoire si elle est utilis´ee au niveau L2 en fonction de la taille du niveau L1.

Questions :

1. Pourquoi le tableau ne donne pas de temps d’acc`es en cas d’´echec ou de taux de succ`es d’acc`es pour la m´emoire centrale ?

2. Expliquer d’o`u pourrait venir les diff´erences de performances, `a la fois en terme de temps d’acc`es et de taux de succ`es des 2 types de m´emoire, et pourquoi cela peut d´ependre du niveau pr´ec´edent.

3. D´eterminer et justifier la meilleure combinaison (parmi tous les types et tailles propos´es) possible de ces m´emoires A et B pour construire une m´emoire cache `a au plus 2 niveaux.

Exercice 3 : gestion en cache des donn´ ees d’un programme

Nous allons dans cet exercice ´etudier comment les donn´ees d’un programme sont g´er´ees en m´emoire cache. 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 consid´erer une hi´erarchie m´emoire avec un seul niveau de cache, dont voici les caract´eristiques :

– Une m´emoire centrale de 64 Mo

– Une m´emoire 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 m´emoire r´ef´erence en m´emoire centrale un mot m´emoire d’un octet. Les donn´ees du programme sont stock´ees en m´emoire de mani`ere contig¨ue dans l’ordre de leurs d´eclarations. La premi`ere donn´ee est donc le tableau A dont le premier ´el´ement en m´emoire se trouve `a l’adresse 4000.

Questions :

1. Pr´eciser o`u sont plac´ees les donn´ees du programme en m´emoire et les lignes auxquelles elles appar- tiennent.

2. La m´emoire cache fonctionne en mode correspondance directe. D´eterminer les principales ´evolutions du contenu de la m´emoire cache. D´eterminer les probl`emes (d´efaut de cache, conflit de ligne ...) avec l’utilisation de ce mode.

3. La m´emoire cache fonctionne maintenant en mode correspondance associative par ensemble de 2.

D´eterminer les principales ´evolutions du contenu de la m´emoire cache.

4. Comparer l’efficacit´e des deux modes pour ce programme et estimer le taux de succ`es de chaque mode pour ces 2 m´ethodes.

5. Pour le mode associatif par ensemble, montrer qu’un pre-fechting efficace peut augmenter consid´e- rablement le taux de succ´es.

2

Références

Documents relatifs

Dans l'entretien avec le ministre juge aussi pour des pères uniques certes encore avec scepticisme le journal, une garde générale.. Cela n'est pas une bonne solution lorsque déjà

Transforaminal epidural steroid injection in the treatment of lumbosacral radicular pain caused by epidural lipomatosis: a case series and review. Epidural Steroid Injections in

 Clinique: hépatomégalie avec douleurs, troubles digestifs, hémorragie intra- kystique, infection, rupture ou fistulisation du kyste (rare), compression des structures

— Le mode simple, ou mode octet, est celui o` u, lorsque DREQ est rendu actif, il y a transfert d’un octet de donn´ees, le microprocesseur pouvant alors reprendre ´eventuelle- ment

Syntaxe.- Pour placer le contenu de l’emplacement m´emoire d’adresse adresse dans un registre d’un octet, on utilise l’instruction :.. mov

Adresse de p´eriph´erique.- Comme pour le microprocesseur, la partie essentielle d’un contrˆ oleur de p´eriph´erique est un circuit int´egr´e, que l’on peut consid´erer comme

Une astuce classique consiste ` a d´eclarer une variable tableau (entiers de seize bits) d’un dimension pouvant recevoir le code machine, d’y placer ce code machine, de se placer

Dans chacun des espaces relatifs aux individus (E X et E Y ), il est encore possible de faire une représentation graphique de ces individus en dimension d, ces deux