joi, 26 mai 2011

Memoria cache

Memoria cache este o zona de memorie rapida care echipeaza un dispozitiv electronic in scopul de a mari viteza de lucru a acestuia. In lipsa memoriei cache viteza de procesare ar avea de suferit doarece transferul de date dintre o componentea mai rapida si una mai lenta s-ar efectua la viteza de lucru a componentei mai lente.
Memoria cache vine sa dreaga lucrurile si furnizeaza componentei rapide datele de care are nevoie imediata la o viteza de lucru sporita sau chiar egala.

Ideal ar fi ca memoria RAM sa fie inlocuita cu memorie cache, dar costurile de achizitie ale unui calculator ar creste foarte mult.  in aceste conditii, se foloseste doar o mica cantitate de memorie cache dar care este exploatata la maxim datorita unor algoritmi bine pusi la punct.


De exemplu, microprocesorul poate anticipa ce date vom utiliza si le va incarca in memoria cache chiar daca noi inca nu le folosim pe moment. Sa ne imaginam ca citim o carte in format electronic suntem la pagina 30 si probabil vom citi si pagina 31 daca nu ne-am plictisit. Un sistem modern nu va astepta pina cand noi apasam butonul “next page” pentru a incarca pagina urmatoare, continutul acesteia se afla deja in memoria RAM si cel mai probabil in memoria cache deja, astfel ca tranzitia dintre pagini se va face instant pentru cititor.

Memoria cache si microprocesorul

Memoria cache care se aduce cel mai adesea in discutie este cea care se gaseste localizata direct in microprocesor aceasta fiind si cea mai rapida memorie dintr-un calculator avand  aceiasi viteza de lucru cu a  microprocesorului.

In cazul mircroprocesoarelor memoria cache este dispusa in majoritatea cazurilor pe doua nivele:

Cache Level 1 - sau L1 : se gaseste montat direct in microprocesor si poate retine doar o mica cantitate de date (la procesoarele fabricate dupa anul 1997 - intre 16 si 128 de kilobaiti). Microprocesorul este cea mai rapida componenta hardware din intreg calculatorul, iar aceasta memorie functioneaza la aceiasi viteza ca si microprocesorul.

Cache Level 2 - sau L2 : se gaseste fie tot in componenta microprocesorului fie undeva pe placa in care este montat microprocesorul in cazul calculatoarelor mai vechi. Cache-ul L2 poate functiona la aceaiasi viteza ca si microprocesorul sau la o viteza inferioara, dar in toate cazurile la o viteza superioara fata de memoria RAM. (altfel nu s-ar justifica prezenta acestuia)

Cache Level 3 sau L3: este posibil sa avem de a face si cu al treilea nivel de cache, denumit L3. Acesta indeplineste aceleasi functii ca si cache-ul L2.

Mai mult cache, mai multa performanta…

Cache-ul L2 este adus in discutie deseori atunci cand trebuie achizitionat un microprocesor.  Microprocesoarele performante (si scumpe) sunt dotate intotdeauna cu mai multa memorie cache decat microprocesoarele cu o performanta mai redusa dar mult mai ieftine.

Totusi pretul platit pentru mai mult cache nu este direct proportional cu performanta pe care o poate dezvolta microprocesorul.  Daca la un microprocesor din aceiasi gama ii vom dubla cache-ul L2 de la 2MB la 8MB extra cache-ul va profita doar anumitor aplicatii iar performanetele nicidecum nu se vor dubla ci vor creste procentual cu 10-20% luand in consideratie arhitecturile actuale.

Astazi cache-ul L2 in cazul unui microprocesor din gama medie de preturi atinge o capacitate de cativa megabaiti. ( 512KB - 8MB)

Alte dispozitive echipate cu memorie cache

Nu numai microprocesorul este echipat cu memorie cache. Pentru a atenua din viteza scazuta de care dau dovada dispozitivele electronico-mecanice precum hard disk-ul sau unitatile optice, acestea sunt dotate cu o anumita cantitate de memorie cache proprie. Viteza de prelucrare a datelor va creste cu cat acestea se vor gasi intr-un anumita zona de memorie rapida (cache sau RAM) si nu direct pe suprafata de stocare a unui dispozitiv de stocare.

Browserele web si cache-ul

Este posibil ca atunci cand intampinam probleme cu anumite pagini web sa auzim sa primim un mesaj in legatura ce contine cuvantul “cache”. Uneori aceasta memorie cache trebuie stearsa pentru a rezolva probleme de afisare a paginilor web.

Trebuie sa stim de la bun inceput ca aceasta memorie cache nu are legatura cu dispozitivele electronice mentionate de mai sus, ci este un spatiu stocare (pe hard disk in cazul unui PC) unde browserele stocheaza temporar o parte din continutul paginilor web pe care le accesam. Aceasta zona tampon are rolul de a imbunatati viteza de incarcare a paginilor prin accesarea loacala a unor elemente (imagini de exemplu) si nu prin descarcarea acestora de pe serverul web de fiecare data.

Niciun comentariu:

Trimiteți un comentariu