P. 1
referat_MS

referat_MS

|Views: 67|Likes:
Published by Anca Mihalache

More info:

Published by: Anca Mihalache on Jun 20, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

02/11/2013

pdf

text

original

Universitatea “Politehnica” Timisoara Facultatea de Automatica si Calculatoare

MEMORII SEMICONDUCTOARE Memorii Set Associative Cache ~Referat~

Titular curs: Prof. Mircea Stratulat

Student: Mihalache Anca Sectie, an si grupa: CTI, III, 2.1

24 Mai 2011

9 Memorii cache set-associative Scurta comparatie intre maparea asociativa si maparea set-asociativa. Bibliografie .Cuprins Pag.3 Scurta introducere: Memorii Cache Principii de functionare Modul de adresare Pag.6 Pag.4 Pag.

iar memoria este plasata afara. Cache se gaseste de exemplu intre internet si HDD al calculatorului. Un bloc din RAM se poate plasa oriunde in cache. orice bloc i din memoria principala se va regasi in blocul j din cache. Cautarea se face pe baza de index. 3. in paralel pe toate caile. astfel incat j= i mod k. Modalitati de adresare: 1. Suportul fizic al memoriei cache este alcatuit din memoria RAM statica si controlerul de cache. Principii de functionare 1. aflat in acelasi chip cu CPU si L2. Cache cu adresare directa: Un bloc de octeti din memoria principala se va regasi intotdeauna in aceeasi locatie din cache in functie de adresa sa. Cache cu adresare complet asociativa: Nu mai exista notiunea de index. Daca in cache exista k blocuri. Stiva. 4. Eticheta este adresa de RAM in intregime. intre CPU si RAM. RAM – informatia se localizeaza pe baza unei adrese unice. Si localizarea si confirmarea se fac in aceeasi faza. 2. este foarte probabil sa fie accesate si celulele adiacente. Exista 2 nivele de cache: L1. cache la care controlerul este integrat in CPU. situata intre o unitate de prelucrare si o memorie mai lenta. Eticheta asociata blocului va fi i/k. Dezavantaj: Multe blocuri din RAM concureaza pentru aceeasi intrare din cache si se pot elimina reciproc. CD-ROM). Dezavantaj: Structura de control este deosebit de complexa. Dispozitiv de memorare secvential (banda magnetica. Dispozitive de memorare aleator secventiale (HDD). (principiu mai eficient) Modul de adresare Prin adresare se intelege modul in care se localizeaza o informatie. Principii de functionare 2. adresata prin continut). Toate intrarile din cache sunt liber alocabile si sunt vazute in paralel. Localizari spatiale: Daca o celula de memorie a fost accesata. La memoriile cache accesul este asociativ (mem. .Memorii Cache 1. iar restul este privit ca informatie utila. cache intern. Mai concret: o parte a continutului serveste ca eticheta. in procesor. Pentru fiecare cale exista un comparator. Cache cu adresare set-asociativa: Cache-ul se imparte intr-un numar de cai paralele. este foarte probabil sa fie accesata din nou. Modul de adresare  Adresare directa  Adresare complet asociativa  Adresare set-asociativa Un cache este o memorie intermediara. Localizarii temporale: Daca o celula de memorie a fost accesata. 2.

Inainte de toate sa vedem din ce este alcatuit un slot. Vom trata aceste slot-uri ca pe un vector. aceasta devine validă. . ca la un cache asociativ. Vom avea prin urmare 16 seturi (128/8). Daca nu. Atunci cand D=1 inseamna ca data este modificată din momentul in care a fost introdusa în cache. iar daca V=0 atunci data este invalidă. Inițial aceasta este invalidă. Daca D=0. -> Cache Line – Linia de date respectiva.reprezintă biții cei mai semnificativi ai adresei. iar N este numărul biților din partea de date a slot-ului. -> Tag-ul – sau eticheta . Este considerata drept un compromis rezonabil intre hardware-ul complex necesar cache-urilor full-associative (necesitand cautari paralele de sloturi) si hardware-ul simplistic al schemei cache-ului adresat direct ceea ce ar putea sa produca coliziuni intre adrese catre acelasi slot(similar coliziunilor de pe o tabla de sah). In particular. Totusi. În momentul în care a fost plasata o dată în slot. Acesta contine: -> V – bitul de validitate. grupam slot-urile in seturi iar ideea principala este de a tine evidenta seturilor si nu a slot-urilor. Numele este de “partial asociativ”. Mai mult. pentru ca plasamentul in cele K blocuri posibile este oricare. Vom utiliza cei 4 biti pentru set si nu pentru slot. putem sa grupam aceste slot-uri in seturi.Memorii cache set-associative Putem sa ne imaginam un cache set-associative(in romana-> partial-asociativ) ca o colectie de mai multe cache-uri directe care lucreaza in paralel. Este necesar sa specificam numarul de seturi in locul numarului de slot-uri si asta ne ocupa (lg 16) adica 4 biti. Sa presupunem ca avem 128 de slot-uri a cate 32 de octeti. Acesta se mai numește și bloc de date. Lungimea Tag-ului este 32 – lgN. com presupune de asemenea si ca intr-un set incap exact 8 slot-uri. Fie K numarul de astfel de cache-uri directe. Daca V=1 atunci data este validă. data este la fel cum a fost scrisă prima dată în cache. unde N este o putere a lui 2. Acesta indică validitatea datei păstrată in slot. Daca blocul se gaseste intr-unul am rezolvat problema. numarandu-le de la 0000000 la 1111111(adica 128 de slot-uri). Are N bytes. Asadar vom avea: O schema set-associative reprezinta un hibrid intre o memorie cache adresata in mod direct si una adresata full-associative. Cache-ul se mai numeste si “associative on K ways” adica: asociativ pe K directii. Iata cum vom imparti pe biti adresele. Importanta acestui bit releva abia când bitul de validitate este 1 (V=1). aleg unul dintre ele pentru inlocuire. Acesta indică faptul ca data din slot a fost modificată sau nu. -> D – dirty bit. Ideea este simpla: atunci cand caut o adresa folosesc adresare directa in toate cele K cache-uri directe simultan.

iar N reprezinta o putere a lui 2. Sa presupunem ca dispunem de adresa B31-0. Fiecare slot ar avea urmatorul index: B8-5: 000 B8-5: 001 B8-5: 010 B8-5: 011 B8-5: 100 B8-5: 101 B8-5: 110 B8-5: 111 In esenta. Vom utiliza bitii B8-5 pentru a gasi setul din care face parte slot-ul pe care il cautam. a bitului dirty si a tag-ului dupa cum este nevoie. Se cauta in toate cele 8 slot-uri pentru a se vedea daca tag-ul A31-9 se potriveste cu tag-ul din slot. . o asemenea comparatie de hardware este mai mult decat liniara daca ne referim la numarul de slot-uri prin urmare. cu atat mai simplu este si circuitul hardware de care ai nevoie. A8-5 -> Numarul de seturi. Tot ceea ce trebuie sa faci este sa aplici o comparatie complexa de hardware(pentru gasirea slot-ului corect) pe un set mic de slot-uri in locul intregului numar de slot-uri. Acest numar ar trebui sa specifice un grup de 8 slot-uri(am mentionat deja ca fiecare set contine 8 slot-uri). slot-ul schimband valoarea bitului de validare. Daca nu. se trece byte-ul la offset-ul B4-0. Compromisuri Aceasta schema reprezinta un asa-zis compromis. Fara indoiala. cu cat mai putine sunt sloturile intre care trebuie sa efectuezi cautarea. A31-9 -> Tag. Pot exista memorii cache asociative pe N-directii unde fiecare set contine cate N slot-uri. Gasirea unui slot reprezinta un proces mult mai complex. se decide care dintre slot-uri ar trebui folosit. numarul de set specifica index-ul prin intermediul celui mai semnificativ bit si valori secventiale ale slot-urilor reprezentate prin intermediul ultimilor 3 biti. Totusi. Daca da. Gasirea slot-ului. este mult mai flexibila posibilitatea de a asocia unui slot pana la N linii de cache pentru o schema a unei memorii cache asociativa pe N directii. se aduc cei 32 bytes din memorie. Aceasta se numeste memorie cache asociativa pe 8 directii din moment ce fiecare set contine cate 8 slot-uri.A4-0 -> Offset.

.rilor din memoria cache. Principalul dezavantaj al acestei metode îl reprezintă circuitele complexe necesare pentru a examina marcajele tuturor liniilor din memoria cache. sunt necesare circuite pentru a compara simultan marcajul său cu marcajele fiecărei linii.. care îmbunătăţeşte semnificativ rata de succes faţă de maparea directă. Algoritmii de înlocuire a blocu. există o flexibilitate în privinţa înlocuirii unui bloc atunci când un nou bloc este încărcat în memoria cache. au rolul de a creşte eficienţa. iar marcajul său de 13 biţi se memorează împreună cu blocul. Si totusi. Pentru a de. Maparea asociativa: În acest caz..Ex: Memorie cache asociativa pe 2 directii: Utilizarea a două linii pe set este cea mai utilizată organizare asociativă pe seturi. În cazul mapării asociative. nu putem obtine o imagine extrem de clara in ceea ce priveste maparea set-asociativa daca nu stim cu exactitate ce inseamna maparea asociativa.termina dacă un bloc se află în memoria cache.. Un bloc din memoria principală se poate încărca în oricare linie. Prin urmare propun mai jos o schema explicita asupra acestor doua tipuri de mapare. adresa memoriei principale constă dintr-un marcaj de 13 biţi şi un număr al cuvântului de 3 biţi. prezentaţi în continuare.

se obţine maparea asociativă. . Va prezentam o mapare asociativă pe seturi cu două linii pe set.Memorie cache cu mapare asociativă. De observat că în cazul extrem în care I = L. J = L. Avem: L = I*J K = A mod I unde K = numărul setului. iar atunci când I = 1. blocul conţinând adresa A poate fi mapat în oricare din liniile setului I. memoria cache este împărţită în I seturi. maparea asociativă pe seturi se reduce la maparea directă. şi fiecare din acestea conţine J linii. J = 1. Maparea set-asociativa În acest caz. Cu această metodă.

.Observatii: ->dimensiunea blocului in memoria cache este aleasa in raport cu proprietatea de localizare a programelor. ->memoria cache este adresata cu adrese fizice si nu cu adrese virtuale (se elimina procesul de translatare a adresei virtuale in adresa fizica). ->algoritmii de reamplasare a blocurilor din memoria cache determina performanta memoriei cache. exprimata ca rata de pierderi (numar de incercari esuate de a gasi informatia dorita in cache).

umd.cs.Bibliografie http://www.ro/ ->diverse lucrari de laborator si de curs ale cadrelor didactice de profil de la Universitatea “Politehnica”. Cluj. .org/ http://www.edu/ http://www.scribd. Timisoara si Universitatea “Babes-Bolyai”.wikipedia.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->