CATEGORII DOCUMENTE |
Memoria cache SRAM
Exista un alt tip distinct de memorie, care este mult mai repida decat cele mai multe tipuri de DRAM. SRAM reprezinta acronimul pentru Static RAM, aceasta memorie fiind denumita astfel deoarece nu necesita reimprospatarea periodica precum memoria DRAM ( Dynamic RAM). Datorita conceptiei SRAM, nu numai ca dispare necesitatea reimprospatarii, dar memoria SRAM este mult mai rapida decat memoria DRAM si este pe deplin in masura sa tina pasul cu procesoarele moderne.
Memoria SRAM este disponibila cu timpi de access de 2 ns sau mai putin, ceea ce inseamna ca aceasta memorie poate tine pasul cu procesoarele care functioneaza la fregventa de 500 MHz sau mai mult! Aceasta se datoreaza modului de proiectare a memoriei SRAM, care foloseste un grup de 6 tranzistoare pentru fiecare bit de stocat. Folosirea tranzistarelor si nu a condensatoarelor insemna ca nu sunt necesare ciclurile de reimprospatare, deoarece nu exista condensatoare care isi pierd sarcina in timp. Atata timp cat exista alimentare electrica, memoria SRAM va retine ceea ce a memorat. Cu aceste caracteristici, de ce nu folosim memorie SRAM pentru intreaga memorie a sistemului? Raspunsul este simplu.
In comparatie cu memoria DRAM, memoria SRAM este mult mai rapida dar are densitate mult mai redusa si este mult mai costisitoare(tabelul de mai jos). Densitatea redusa inseamna ca cipurile SRAM sunt mai mari din punct de vedere fizic si stocheaza mai putin biti in total. Numar mare de tranzistoare si solutia grupata inseamna ca cipurile SRAM sunt mai mari si mai scumpe decat sipurile DRAM. De exemplu, un modul DRAM poate contine 64 MB RAM sau mai mult, in timp ce modulele SRAM de aceeasi marime fizica ar contine numai circa 2 MB de date si ar costa tot atat cat modulul DRAM de 64 MB. In principiu, memoria SRAM este mai mare de pana la 30 de ori si mai scumpa, tot de 30 de ori, decat memoria DRAM. Costul ridicat si limitarile fizice au impiedicat utilizarea cipurilor SRAM cu memorie principala pentru sistemu PC.
Cap 2.4 Comparatie intre memoriile DRAM si SRAM
Tipul |
Viteza |
Densitatea |
Costul |
DRAM |
Redusa |
Inalta |
Redus |
SRAM |
Mare |
Redusa |
Ridicat |
Desi cipurile SRAM sunt prea costisitoare pentru a fi utilizate ca memorie principala pentru sistemele PC, proiectantii de calculatoare au gasit o metoda de utilizare a cipurilor SRAM pentru a imbunatati substantial performantele calculatorului. In loc de a cheltui bani pentru ca intreaga memorie RAM sa fie formata din cipuri SRAM, care sa functioneze suficient de rapid pentru a tine pasul cu procesorul, care este mult mai eficient sa se introduca o cantitate mica de memorie SRAM de mare viteza, numita memorie imediata sau memorie cache. Memoria cache functioneaza la viteze apropiate sau chiar egale cu cea a procesorului reprezinta memoria din care procesorul citeste si in care scrie in mod normal. In timpul operatiunii de citire, datele sunt reintroduse in avans in memoria cache de mare viteza din memoria principala DRAM, mai lenta. Pana nu demult, memoria DRAM a fost limitata ca viteza la aproximativ 60 ns (16 MHz). Pentru transformarea timpului de acces din nanosecunde in MHz, folositi urmatoarea formula:
1/ nanosecunde x 1000 = MHz
La fel, pentru conversia de la MHz la nanosecunde, folositi formula inversa:
1/MHz x 1000 = nanosecunde
Pe vremea cand sistemele PC functionau la 16 MHz sau mai incet, memoria DRAM putea sa tina pasul cu placa de baza si cu procesorul sistemului si nu era nevoie de memoria cache. Cand insa procesoarele au depasit bariera celor 16 MHz, memoria DRAM nu a mai putut tine pasul si acesta este tocmai momentul in care memoria SRAM a inceput sa apara in modelele de calculatoare PC. Acest lucru s-a intamplat in anii 1986-1987, o data cu aparitia sistemelor bazate pe procesorul 386, care functiona la 16 si la 20 MHz. Acestea au fost printre primele sisteme PC care utilizau ceea ce se numeste memoria cache, o memorie tampon de mare viteza compusa din cipuri SRAM, care alimenteaza procesorul in mod direct. Deoarece memoria cache poate functiona la viteza procesorului sistemul este proiectat astfel incat controllerul de memorie cache anticipeaza cererile de acces le memorie ale procesorului si preincarca memoria cache de mare viteza cu acele date. Apoi cand procesorul apeleaza o adresa de memorie datele pot fi recuperate din memoria cache de mare viteza, in locul memoriei principale care este mult mai lenta.
Eficienta memoriei cache este exprimata sub forma 'procentului de priviri'.Acesta este raportul dintre ' potrivirile cache' si numarul total de accesari ale memoriei. O 'potrivire cache'(cache hit) are loc atunci cand anumite date, de care procesorul a avut nevoie, au fost gasite in memoria imediata. Nemaifiind necesare stari de asteptare pentru accesul la acestea. O 'nepotrivire cache' (cache miss) are loc atunci cand controlerul de memorie imediata nu a anticipat solicitarea unei adrese specifice; datele necesare nu au fost incarcate in prealabil in memoria cache; ca urmare, procesorul trebuie sa preia datele din memoria principala, mai lenta, in locul memoriei cache, mai rapida. Ori de cate ori citeste datele din memoria principala, procesorul va trebui sa astepte, deoarece fregventa memoriei principale este mult mai redusa decat cea a procesorului. Daca un procesor cu cache integrat pecip functioneaza la o fregventa de 2000 MHz (2GHz), atat procesorul cat si memoria cache executa un ciclu aproape la fiecare 0,5 ns, in timp ce memoria principala va functiona, probabil, de 6 ori mai lent, la 3 ns (sau 6ns DDR=rata dubla de date). Astfel, ori ce cate ori procesorul citeste din memoria principala, el isi micsoreaza viteza de 6ori, la numai 333MHz! Incetinirea apare deoarece procesorul executa asa-numitele 'stari de asteptare' (wait states); acestea sunt cicluri in care nu se face nimic; procesorul asteapta ca memoria principala, mai lenta, sa-I returneze datele necesare. Evident, nu doriti ca procesorul sa fie incetinit; astfel, functionarea si proiectarea memoriei cache devin tot mai importante pe masura ce viteza sistemelor creste.
Pentru a reduce la minim fregventa situatiilor in care procesorul este nevoit sa citasca date din memoria principala, in sistemele moderne exista, de obicei, doua trepte de memorie cacge, numite de nivel 1 (L1) si de nivel 2 (L2). Memoria cache de nivelul 1 se mai numeste cache integral sau intern deoarece este integrata in procesor si se afla practic pe cipul acestuia (cip brut). De aceea, memoria cache L1 functioneaza intotdeauna la viteza integrala a procesorului si este, astfel, cea mai rapida memorie din orice sistem. Toate procesoarele 486 si cele maii recente incorporeaza o memorie cache de nivelul 1, de nivel 1, ceea ce face sa fie mult mai rapida decat procesoarele lor. Memoria cache de nivel 2 este denumita si memorie cache externa, deoarece se afla in exteriorul cipului procesorului. Initial, aceasta memorie era instalata pe placa de baza, asa cum era cazul la toate sistemele 386,486 si Pentium. In aceste sisteme, memoria cache functioneaza la viteza placii de baza, deoarece este instalata pe aceasta. In mod normal, la sistemele Pentium si mai vechi memoria cache de nivel 2 se gaseste instalata in imediata apropiere a soclului procesorului.
Pentru imbunatatirea performantelor, modelele ulterioare de procesoare ale firmelor Intel si AMD au inclus memoria cache de nivel 2 ca o parte a procesorului. In toate procesoarele produse incepand cu sfarsitul anului 1999 (si in unele modele anterioare), memoria cache de nivel 2 a fost integrata direct pe cipul procesorului, la fel ca si memoria cache de nivel 1. In procesoarele cu cache L2 pe cip, memoria cache functioneaza la viteza integrala a procesorului si este mult mai eficienta. Prin contrast, cele mai multe procesoare prodise in 1999 si mai devreme aveau memoria cache de nivel 2 sub forma unor cipuri separate, externe fata de nucleul procesorului. In cazul multora dintre aceste procesoare cache-ul L2 functioneaza la jumatate sau o treime din viteza nucleului. Viteza memoriei cache este foarte importanta, asa ca sistemele cu cache L2 pe placa de baza sunt cele mai lente. Includerea memoriei cache L2 in procesor a crescut cu viteza sistemelor, iar integrarea acesteia pe cip (in locul unor cipuri separate) a reprezentat un nou pas in cresterea vitezei. Toate procesoarele cu cache pe cip la viteza integrala a nucleului au un avantaj semnificativ din punct de vedere a performantelor, fata de procesoarele fata aceasta memorie.
Procesorul cu cache integrat, indiferent daca acesta este pe cip sau nu, rileaza memoria cache la o viteza mai mare decat memoria cache de pe placa de baza. Ca urmare, cele mai multe placi de baza proiectate pentru procesoarele cu cache integrat nu au nici un fel de memorie cache pe placa; toata memoria cache este inclusa in modulul procesorului.
Pentru a creste si mai mult performantele, noul procesor Intel Intanium are 3 niveluri de cache in modulul procesorului. Mai multa memorie cache si mai multe niveluri contribuie la contracararea diferentelor de viteza dintre nucleul procesorului, foarte rapid, si placa de baza si memoria principala, relativ lente.
La inceput, memoria cache era asincrona, ceea ce inseaman ca functiona la o fregventa de ceas care nu era indentica sau sincronizata cu magistrala procesorului.
Incepand cu setul de cipuri 430FX, lansat al inceputul anului 1995, a fost admis un nou tip de memorie cache sincrona. Aceasta inseamna ca, acum, cipurile functioneaza sincronizat sau la aceeasi fregventa de ceas cu magistrala procesorului, imbunatatind astfel mai mult viteza si performantele. Tot atunci, a fost adaugate o caracteristica nuita modul de lucru cu canal si transmitere in rafale (pipeline burst mode), care a redus latenta totala (starile de asteptare) a memoriei cache, permitand accesul intr-un singur ciclu pentru mai multe transferuri dupa primul transfer. Deoarece atat functionarea sincrona, cat si modul de lucru cu canal si transmitere in rafale au fost introduse simultan in noile module, de obicei, specificarea uneia din aceste caracteristici o implica si pe cea de-a doua.
Tipul unitatii CPU |
Viteza unitatii CPU |
Viteza memoriei cache L1 |
Dimensiunea memoriei cache L1 |
Tipul memoriei cache L2 |
Viteza memoriei cache L2 |
Dimensiunea memoriei cache L2 |
Viteza magistralei CPU |
Viteza magistralei de memorie |
Pentium |
MHz |
4.3ns |
KB |
pe placa |
15ns |
Variaza |
66MHz |
60ns |
Pentium Pro |
MHz |
5.0ns |
KB |
In modul |
5ns |
256KB |
66MHz |
60ns |
Pentium II |
MHz |
2.2ns |
KB |
In modul |
4.4ns |
512KB |
100MHz |
10ns |
AMD K6-2 |
MHz |
1.8ns |
KB |
pe placa |
10ns |
Variaza |
100MHz |
10ns |
AMD K6-3 |
MHz |
2.2ns |
KB |
pe cip |
2.2ns |
256KB |
100MHz |
10ns |
Duron |
GHz |
0.77ns |
KB |
pe cip |
0.77ns |
64KB |
200MHz |
5ns |
Athlon |
GHz |
0.71ns |
KB |
pe cip |
0.71ns |
256KB |
266MHz |
3.8ns |
Athlon XP |
GHz |
0.58ns |
KB |
pe cip |
0.58ns |
256KB |
266MHz |
3.8ns |
Pentium III |
GHz |
0.71ns |
KB |
pe cip |
0.71ns |
512KB |
133MHz |
7.5ns |
Celeron |
GHz |
0.71ns |
KB |
pe cip |
0.71ns |
256KB |
100MHz |
10ns |
Celeron /478 |
GHz |
0.59ns |
Kb |
pe cip |
0.59ns |
128KB |
400MHz |
2.5ns |
Pentium 4 |
GHz |
0.39ns |
KB |
pe cip |
0.39ns |
512KB |
533MHz |
1.9ns |
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1587
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved