You are on page 1of 3

Architecture des ordinateurs IUT Villetaneuse

Technologie mmoire, mmoire cache


M. Dubacq
S1 2012
1

Les types de mmoire


Objectif : Connatre les qualificatifs des mmoires, connatre les technologies existantes

1. Pour tous les types de mmoire suivants, donnez les qualificatifs applicables ainsi que les ordres de grandeur des
paramtres numriques pour la capacit (usuelle), la taille physique, la latence : DRAM, ROM, SRAM, disque
dur, disquette HD, DVD, cdrom, bande magntique. DRAM : semi-conducteur, volatile, effaable, 1 Go, 5
cm, 50 ns
ROM : semi-conducteur, non-volatile, non-effaable, 100 ko, 1 cm, 100 ns
... finir

Mmoire cache

On se place dans le cas dun processeur qui utilise un adressage de 4 Gio de mmoire, avec 8 kio de mmoire cache.
Cette taille de mmoire cache ne changera pas dans tout lexercice. On utilisera des mots-mmoires de 32 bits.
1. Quelle est la taille dune adresse (en bits) ?
32 bits
2. On utilise les donnes suivantes :
temps daccs la mmoire cache : 5 ns,
latence daccs la mmoire principale : 40 ns ; mmoire,
temps de cycle en mode page : 10 ns par mot mmoire ; supplmentaire ;
Quel est le temps ncessaire pour consulter un mot mmoire en cas de succs de cache ? Et pour seulement un
octet ?
5 ns, pour un mot mmoire ou un octet.
3. Si la taille dun bloc de mmoire est fixe 512 bits, en cas de dfaut de cache, quel est le temps de pnalit ?
512 bits=16 mots mmoires, donc 16*10+40=200 ns.
4. Mme question si la taille dun bloc de mmoire est fixe 256 bits.
256 bits=8 mots mmoires, donc 8*10+40=120 ns.
5. On a le choix entre trois modes de construction de cette mmoire : par cache direct de 256 bits par bloc (temps
daccs 3 ns), par cache associatif par ensemble quatre voies de 256 bits par bloc (temps daccs 4 ns), par
cache associatif mais avec 512 bits par bloc (temps daccs 5 ns).
Des expriences montrent que pour le genre dapplications que lon va utiliser sur cette machine, dans la premire
solution, on a un taux de succs cache de 75%, dans la deuxime un taux de succs de 80% et dans la troisime
un taux de succs de 87%.
Quel est la solution la plus intressante ? Justifiez en exhibant le temps moyen daccs la mmoire dans les
trois cas.
Premier cas : 5+0, 25120 = 35 ns. Deuxime cas : 5+0, 2120 = 29 ns. Troisime cas : 5+0, 13200 = 31 ns.
Il est donc meilleur de prendre la deuxime solution.

Architecture des ordinateurs IUT Villetaneuse

6. Dans le cas de la premire solution, dcrivez comment on dcompose une adresse (nombre de bits en particulier).
Dites aussi combien de blocs diffrentes peuvent rsider en mmoire cache.
La slection octets stale sur 256 bits soit 32 octets, soit 5 bits pour slectionner un octet. Il peut y avoir
jusqu 8192/32=256 blocs diffrents en mmoire, qui forment 8 bits dindex cache. Les 32 8 5 = 19 bits
restants servent identifier le bloc.

7. Dans le cas de la deuxime solution, dcrivez comment on dcompose une adresse (nombre de bits en particulier).
Dites aussi combien de blocs diffrents peuvent rsider en mmoire cache, ainsi que le nombre de blocs par voie.
La slection octet stale toujours sur 5 bits, mais il ny a plus que 64 index caches diffrents, car ils sont
rpartis en quatre voies (soit bien 256 blocs au total). Donc, il y a 6 bits dindex cache et 32-6-5=21 bits
didentifiant de bloc.

8. Dans le cas de la troisime solution, dites comment se dcompose une adresse.


6 bits dindex cache, et donc 32-6=26 bits didentifiant de bloc.
9. On se place dans le cadre de la troisime solution (cache associatif). On veut accder aux mots-mmoires qui
vont de ladresse 0x40000000 ladresse 0x400003FC (inclus). Dans lhypothse la plus pessimiste possible, dites
combien il y a de dfauts de cache en expliquant pourquoi.
Lecture de 4*16*4 mots=256 mots=32 blocs conscutifs, qui commencent un dbut de bloc. Donc, il y a au
pire 32 dfauts de cache.
10. Quelles sont les politiques possibles dcriture en cache en cas de succs ?
On peut faire de lcriture immdiate ou de lcriture diffre, cest--dire au moment du remplacement dans
la mmoire cache du bloc.

Gestion mmoire de matrices

Une matrice est reprsente en C par un tableau de taille N2 de float (cest--dire des nombres cods selon le
standard IEEE 754).
Dans lordinateur que nous examinons, les blocs de mmoire cache de donnes (cache associatif) sont de 256 mots
de 4 octets, avec une taille totale de mmoire cache de 2 Mo. On veut faire une multiplication de matrices.
Rappel : le coefficient cij dune matrice C = A B est
X
cij =
aik bkj .
1kN

Le temps de calcul dun produit de matrice est donc le temps de N3 multiplications et N3 additions, ainsi que
quelques oprations qui prennent assez peu de temps par rapport au reste (tests de fin de boucle).
1. Quelle est la quantit de mmoire ncessaire pour stocker une matrice de taille 4 4 ? Et une matrice de taille
N N en gnral ? 16 float stocker, soit 64 octets. Et 4N2 octets en gnral.
2. On veut calculer C = A2 . chaque tape de calcul, on raffiche compltement les deux matrices (A et C, mme
si C nest pas encore calcule compltement) . Jusqu une certaine taille de matrice, on constate que le temps
de calcul ressemble t = k N3 , avec un certain k qui dpend de la vitesse du processeur. Mais partir dune
certaine taille, on constate un trs fort ralentissement. Comment peut-on lexpliquer ? Quelle est cette taille ?
On doit mettre en mmoire la matrice dorigine complte et la matrice rsultat. Quand il ny a plus de place
en mmoire cache, les calculs ncessitent daccder des donnes qui sont en mmoire principale, vacuant des
donnes qui vont resservir un peu aprs, et donc revenir dans la mmoire cache. Cet effet de ping-pong peut faire
perdre beaucoup de temps. La taille partir de laquelle se dclenche cet effet est quand la mmoire est pleine.
M = 2 4 N2 = 22 1, donc N2 = 21 8 octets. Donc N = 29 .

Architecture des ordinateurs IUT Villetaneuse

3. On constate que laffichage dune matrice entre la taille 8 et la taille 9 est assez important. Quelle peut-tre
lexplication ? La taille 8 correspond la taille dun bloc de la mmoire cache. Lorsquon dpasse cette taille,
mme sil ny a pas beaucoup de cases mmoires en plus, il faut charger un autre bloc en mmoire.

You might also like