Sunteți pe pagina 1din 4

Arhitectura Sistemelor de Calcul

Studiul memoriei cache


Mihai Stancu 26 August 2009 grupa 432 A
1. Care sunt caracteristicile memoriei cache?
Memoria cache se implementeaza folosind celule SRAM sincrone, datorita vitezei
acestui tip de memorii.
Deoarece viteza procesoarelor implica si un flux foarte mare de date pentru
procesare, memoriile principale ale sistemelor de calcul sunt insuficient de
rapide comparativ cu viteza procesoarelor, ceea ce creeaza stari de asteptare
ale procesorului pentru recuperarea datelor din memorie.
Memoria cache are rol de memorie de tampon fata de memoria principala, costul
ridicat al implementarii memoriilor rapide (care pot tine pasul cu procesorul)
implica necesitatea de a dimensiona memoriile cache astfel incat efectul sa fie
sesizabil iar costul sa fie rezonabil.
Memoria cache este de asemenea caracterizata de faptul ca este mapata (exista
corespondente) fata de memoria principala intr-una din trei metode: directa,
asociativa, asociativa pe seturi.
2. Explicati principiul de functionare al memoriei cache.
Memoria cache are rol de memorie de tampon fata de memoria principala, costul
ridicat al implementarii memoriilor rapide (care pot tine pasul cu procesorul)
implica necesitatea de a dimensiona memoriile cache astfel incat efectul sa fie
sesizabil iar costul sa fie rezonabil.
Memoria cache are ca scop mentinerea datelor de care procesorul ar avea
nevoie 60-70% din timp astfel incat comunicarea cu memoria principala sa aibe
loc cat mai rar.
Prin mecanismele de mapare, memoria cache poate retine blocuri de date din
memoria principala, operatiunile de alterare a datelor facute asupra memoriei
cache putand fi propagate automat catre memoria principala.
3. Cum se alege dimensiunea memoriei cache? Cum variaza performantele unui
sistem odata cu cresterea dimensiunii memoriei cache?
Memoria cache trebuie sa fie destul de mica astfel incat costul mediu pe bit al
intregului sistem de memorie sa fie apropiat de cel al memoriei principale, si
suficient de mare astfel incat timpul mediu de acces al intregului sistem sa fie
apropiat de cel al memoriei cache.
4. Cum se realizeaza operatia de citire a memoriei cache?
Se solicita memoriei cache o adresa pe 16 biti;
Numarul liniei de 7 biti este utilizat ca index in memoria cache pentru accesul la
o anumita linie. Daca tagul pe 6 biti este egal cu marcajul liniei respective atunci
nr de 3 biti al cuvantului este utilizat pentru a selecta unul din cei 8 octeti ai
liniei respective, daca nu marcajul si numarul liniei (13 biti) se utilizeaza pentru a
incarca un bloc din memoria principala.
5. Definiti bitii tag, index si offset, care ajuta la formarea adresei de memorie in
cazul maparii directe.

Arhitectura Sistemelor de Calcul


Studiul memoriei cache
Mihai Stancu 26 August 2009 grupa 432 A
Offset ultimii trei biti din adresa pe 16 biti; identifica un cuvant unic din cadrul
unui bloc al memoriei principale;
Index ultimii 7 biti inainte de offset; indica numarul blocului, modulo 128.
Tag primii 6 biti; indica in mod unic blocul din linie;
6. Cum se interpreteaza parametrii I, J, K si L in cazul memoriei cache cu mapare
asociativa pe seturi?
7. Care sunt cazurile particulare in care maparea asociativa pe seturi se reduce la
maparea directa, respectiv, la maparea asociativa?
Maparea asociativa pe seturi se reduce la maparea directa pentru:
I=L, J=1;
Maparea asociativa pe seturi se reduce la maparea asociativa pentru:
I=1, J=L;
8. Care dintre metodele de mapare (directa, asociativa, asociativa pe seturi) este
mai eficienta? Argumentati.
Maparea asociativa pe seturi este cea mai eficienta, deoarece imbunatateste
semnificativ rata de succes fata de maparea directa si cea asociativa.
9. Cum se calculeaza numarul de seturi aflat in memoria cache?
I=L/J;
10.Care sunt componentele principiului localizarii si in ce situatii se aplica?
Localizarea spatiala: daca este nevoie de unele date este probabil ca in curand
va fi nevoie si de date din vecinatatea acestora.
Localizarea temporala: daca este nevoie de unele date este probabil ca va fi
nevoie de ele si mai tarziu.
11.De ce este important sa existe o rata mare de succese?
In caz de page fault, actiunile subsecvente sunt identificarea datelor in RAM si
incarcarea lor. Pentru a limita cat mai mult necesitatea de a incarca date din
RAM, este necesara ca rata de succese sa fie cat mai mare.
12.Cum se defineste notiunea de dirty data si in ce context se foloseste?
Dirty data se defineste ca si informatie alterata fata de original, corupta,
modificata.
Contextul in care se foloseste este acela in care un bloc de date se marcheaza
schimband in cache valoarea unui bit, cu scopul de a identifica daca in memoria
principala s-a produs vreo schimbare in acel bloc.
13.Care dintre metodele de inlocuire a blocurilor in memoria cache e mai eficienta?
Argumentati.

Arhitectura Sistemelor de Calcul


Studiul memoriei cache
Mihai Stancu 26 August 2009 grupa 432 A
Metoda cea mai eficianta de inlocuire a blocurilor in memoria cache este LFU
deoarece implica un algoritm statistic de identificare a celor mai putin folosite
date din cache.
Pe de alta parte cea mai folosita metoda este LRU.
14.Care metoda de scriere (depunere in memorie a rezultatelor) modifica
informatiile din ambele memorii (cache si RAM)?
Write Through
15.Prezentati avantajele si dezavantajele fiecarei metode de depunere in memorie a
rezultatelor.
Write Through:
scrie datele in ambele memorii in mod secvential;
secventa scrierilor dureaza;
nu exista prevenirea erorilor, dar consecventa scrierilor asigura ca datele
din RAM nu vor ramane in urma fata de cele din cache;
Write Back:
scrie datele doar in memoria cache daca mai exista pagina in cache, daca
nu scrie direct in RAM;
scrie intr-o singura memorie nu exista o secventa de scrieri care sa dureze
de fiecare data;
prevenirea erorilor este verificata folosind dirty data in pagina din cache
pentru a compara cu pagina din RAM si a constata daca au mai existat
schimbari;
Posted Write
memoria cache rezerva o portiune pentru a fi folosit ca buffer pana cand
magistrala RAM este libera, moment in cate continutul bufferului este scris
in ram.
Ca si Write Through consecventa scrierilor asigura ca datele din RAM nu
vor ramane in urma fata de cele din cache;
Spre deosebire de Write Through se optimizeaza utilizarea magistralei,
aceasta nefiind blocata dupa fiecare scriere in cache (cu scopul de a se
clona si in RAM noile date), schimbarile petrecute in cache se updateaza la
un moment oportun si in RAM;
16.Cum se foloseste tabela asociativa, TA in cazul metodei Write Through?
La fie care acces la memorie se va cauta in TA adresa ceruta si daca exista o
eticheta cu valoarea adresei blocului din memoria principala, se va furniza
adresa blocului die memorie cache care rezulta din pozitia etichetei respective in
TA.
Daca nu exista atunci se va inlocui un bloc din memoria cache conform unui
algoritm de inlocuire.

Arhitectura Sistemelor de Calcul


Studiul memoriei cache
Mihai Stancu 26 August 2009 grupa 432 A
17.Care este semnificatia unei ratari impuse? Dar a unei ratari de limitare?
Ratarile impuse se petrec atunci cand memoria cache este umpluta prima oara,
in starea sa initiala fiind goala.
Ratarile de limitare reprezinta ratarile pentrecuta din cauza depasirii capacitatii
memoriei cache.
18.Cum se calculeaza timpul mediu de acces la memoria cache?
T=THH+TMM;
Unde:
H - hit rate;
M - miss rate;
TH - hit time;
TM - miss time;

S-ar putea să vă placă și