Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Memoria cache SRAM

hardware



+ Font mai mare | - Font mai mic



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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1497
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved