Memoria RAM
Memoria RAM (Random Access Memory) e memoria principala a calculatorului.
Calculatorul trebuie sa lucreze cu o memorie, pentru ca daca am sta sa citeasca fisierele direct de pe hard am imbatrani (daca nu suntem deja). Memoria RAM este "masa de lucru" a procesorului, a calculatorului, memoria lui activa. Fie ca-i program, melodie, poza, sau joc, astea ruleaza sau sunt redate din memoria calculatorului, deci din RAM. Nu pot sa functioneze sau sa ruleze direct de pe hard disk! Chiar si aceasta pagina pe care o vezi, e incarcata in RAM de browser-ul tau. Nu o citesti de pe hard, dupa cum probabil crezi. Toate documentele, pozele, melodiile, programele, serviciile pe care le ai deschise, sunt aici, in RAM, pana cand le inchizi sau pana cand opresti calculatorul, si atunci se sterg inevitabil din memorie, pentru ca-i volatila, adica nu se pastreaza fara curent si se "evapora".
La pornire, WIndows-ul urca in RAM serviciile, explorer-ul (folderele, meniul start, taskbar-ul), iconitele, poza de pe desktop si ce programe mai ai la start-up, inclusiv, bineinteles, procesele Windows-ului.
Deaia calculatorul iti merge greu cand ai prea multe, ca nu au loc in memorie, si pentru ca in loc sa se blocheze le pune sa foloseasca page file.
Probabil crezi ca atunci cand, de exemplu, te uiti la un film, acesta nu-i in RAM, fiindca e prea mare sa urce in RAM. Dar filmele sunt incarcate pe bucati, segmente de cativa mega, de programul cu care te uiti la film.
Capacitatea memoriei RAM se masoara in GB (gigabaiti). Cu cat mai mult, cu atat mai bine; inseamna ca mai multe date incap in aceasta si atunci calculatorul functioneaza mai bine.
Exista placute individuale de 1 GB, 2 GB, 4 GB, 8 GB, 16 GB si 32 GB. (mai vechi: 32 MB, 64 MB, 128 MB, 256 MB si 512 MB)
Memoria RAM are si o frecventa, adica o viteza de incarcare si descarcare a datelor, inpusa de fabricant, viteza la care sa poata functiona optim, care se masoara in MHz (megahertzi). 800 MHz, 1066 MHz, 1333 MHz, etc. Aceasta a ajuns chiar pana la 6400 MHz (DDR5). Frecventa e sincronizata cu procesorul si cu restul placii de baza de catre clock.
Clasificare
Exista doua tipuri principale de memorie RAM. SRAM (static RAM) si DRAM (Dynamic RAM).
DRAM inseamna Dynamic RAM, adica memorie dinamica. Sunt practic TOATE placutele de memorie RAM din ziua de azi.
Cum adica memorie dinamica? Adica memoria e reincarcata de un numar de ori pe secunda ca sa nu se piarda datele din ea. De ce se pierd? Electricitatea e foarte rapida si daca nu e "reconstruita" dispare din celulele memoriei mult mai repede decat ai clipi.
Cel mai popular DRAM: SDRAM (Synchronous dynamic random-access memory) inseamna ca se Sincronizeaza DRAM-ul, adica refresh-ul se face odata cu bus-ul de pe placa de baza astfel incat datele sunt pastrate constant, integral. E cel mai comun tip de memorie pe care il instalezi in PC-uri si in laptopuri.
SRAM inseamna ca datele din memorie persista fara a fi "refresh"-uite (evident, pana la oprirea calculatorului), deci e memorie statica, dar e deosebit de scumpa si vine in cantitati mici, cum ar fi memoria cache din procesor.
Dupa cum spuneam, memoriile RAM cele mai familiare, cele pe care le instalezi tu in calculator, sunt DRAM, mai precis SDRAM, care vin pe categoriile astea:
SDR - Single Data Rate (nu se mai fabrica ) (si nu, nu inseamna SDRAM)
DDR1 - Double Data Rate 1
DDR2 - Double Data Rate 2
DDR3 - Double Data Rate 3
DDR4 - Double Data Rate 4
DDR5 - Double Data Rate 4
Sa le luam pe rand:
SDR (cunoscut si ca PC66, PC100 si PC133)
-capacitate : maxim 256MB pe placuta
-frecvente: 66 MHz, 100 MHz, 133 MHz
-voltaj: 3.3 V
-numar de pini: 168
DDR1 (sau doar DDR) :
-capacitate: maxim 1GB pe placuta
-frecvente: 200 MHz, 266 MHz, 333 MHz, 400MHz
-voltaj: 2,5 V
-numar de pini: 184
DDR2
-capacitate: maxim 4GB pe placuta
-frecvente: 400 MHz, 553 MHz, 667 MHz, 800 MHz, 1066 MHz
-voltaj: 1,8 V
-numar de pini: 240
DDR3
-capacitate: maxim 8GB pe placuta
-frecvente: 800 MHz, 1066 MHz, 1333 MHz, 1600 MHz, 1866 MHz, 2133 MHz
-voltaj: 1,5 V
-numar de pini: 240
DDR4
-capacitate: maxim 16GB pe placuta
-frecvente: 1600 MHz, 1866 MHz, 2133 MHz, 2400 MHz, 2666 MHz, 3200 MHz
-voltaj: 1,2 - 1,4 V
-numar de pini: 288
DDR5
-capacitate: maxim 32GB pe placuta
-frecvente: 3200 MHz, 4800 MHz, 5200 MHz, 6400 MHz
-voltaj: 1,1 V
-numar de pini: 288
La pornire, WIndows-ul urca in RAM serviciile, explorer-ul (folderele, meniul start, taskbar-ul), iconitele, poza de pe desktop si ce programe mai ai la start-up, inclusiv, bineinteles, procesele Windows-ului.
Deaia calculatorul iti merge greu cand ai prea multe, ca nu au loc in memorie, si pentru ca in loc sa se blocheze le pune sa foloseasca page file.
Probabil crezi ca atunci cand, de exemplu, te uiti la un film, acesta nu-i in RAM, fiindca e prea mare sa urce in RAM. Dar filmele sunt incarcate pe bucati, segmente de cativa mega, de programul cu care te uiti la film.
Capacitatea memoriei RAM se masoara in GB (gigabaiti). Cu cat mai mult, cu atat mai bine; inseamna ca mai multe date incap in aceasta si atunci calculatorul functioneaza mai bine.
Exista placute individuale de 1 GB, 2 GB, 4 GB, 8 GB, 16 GB si 32 GB. (mai vechi: 32 MB, 64 MB, 128 MB, 256 MB si 512 MB)
Memoria RAM are si o frecventa, adica o viteza de incarcare si descarcare a datelor, inpusa de fabricant, viteza la care sa poata functiona optim, care se masoara in MHz (megahertzi). 800 MHz, 1066 MHz, 1333 MHz, etc. Aceasta a ajuns chiar pana la 6400 MHz (DDR5). Frecventa e sincronizata cu procesorul si cu restul placii de baza de catre clock.
Clasificare
Exista doua tipuri principale de memorie RAM. SRAM (static RAM) si DRAM (Dynamic RAM).
DRAM inseamna Dynamic RAM, adica memorie dinamica. Sunt practic TOATE placutele de memorie RAM din ziua de azi.
Cum adica memorie dinamica? Adica memoria e reincarcata de un numar de ori pe secunda ca sa nu se piarda datele din ea. De ce se pierd? Electricitatea e foarte rapida si daca nu e "reconstruita" dispare din celulele memoriei mult mai repede decat ai clipi.
Cel mai popular DRAM: SDRAM (Synchronous dynamic random-access memory) inseamna ca se Sincronizeaza DRAM-ul, adica refresh-ul se face odata cu bus-ul de pe placa de baza astfel incat datele sunt pastrate constant, integral. E cel mai comun tip de memorie pe care il instalezi in PC-uri si in laptopuri.
SRAM inseamna ca datele din memorie persista fara a fi "refresh"-uite (evident, pana la oprirea calculatorului), deci e memorie statica, dar e deosebit de scumpa si vine in cantitati mici, cum ar fi memoria cache din procesor.
Dupa cum spuneam, memoriile RAM cele mai familiare, cele pe care le instalezi tu in calculator, sunt DRAM, mai precis SDRAM, care vin pe categoriile astea:
SDR - Single Data Rate (nu se mai fabrica ) (si nu, nu inseamna SDRAM)
DDR1 - Double Data Rate 1
DDR2 - Double Data Rate 2
DDR3 - Double Data Rate 3
DDR4 - Double Data Rate 4
DDR5 - Double Data Rate 4
Sa le luam pe rand:
SDR (cunoscut si ca PC66, PC100 si PC133)
-capacitate : maxim 256MB pe placuta
-frecvente: 66 MHz, 100 MHz, 133 MHz
-voltaj: 3.3 V
-numar de pini: 168
DDR1 (sau doar DDR) :
-capacitate: maxim 1GB pe placuta
-frecvente: 200 MHz, 266 MHz, 333 MHz, 400MHz
-voltaj: 2,5 V
-numar de pini: 184
DDR2
-capacitate: maxim 4GB pe placuta
-frecvente: 400 MHz, 553 MHz, 667 MHz, 800 MHz, 1066 MHz
-voltaj: 1,8 V
-numar de pini: 240
DDR3
-capacitate: maxim 8GB pe placuta
-frecvente: 800 MHz, 1066 MHz, 1333 MHz, 1600 MHz, 1866 MHz, 2133 MHz
-voltaj: 1,5 V
-numar de pini: 240
DDR4
-capacitate: maxim 16GB pe placuta
-frecvente: 1600 MHz, 1866 MHz, 2133 MHz, 2400 MHz, 2666 MHz, 3200 MHz
-voltaj: 1,2 - 1,4 V
-numar de pini: 288
DDR5
-capacitate: maxim 32GB pe placuta
-frecvente: 3200 MHz, 4800 MHz, 5200 MHz, 6400 MHz
-voltaj: 1,1 V
-numar de pini: 288
Ce inseamna, mai exact, "Double Data Rate"?
Cand datele sunt "pompate" in RAM, intra cu o anumita frecventa, anume frecventa clock-ului placii de baza.
Ce da "nastere" frecventei? Unda.
Fara unda, n-ar fi frecventa.
O unda normala:
Ei bine, nu tipul asta de unda e folosit pentru incarcarea/descarcarea datelor din memorie, ci una patrata, adica stari de amplitudine fixe, constante.
De ce? Pentru ca unda rotunda oscileaza prea mult, e prea variabila, are prea multe stari de amplitudine, pe cand datele sunt binare, digitale. Trebuie doar doua stari. Deci, unda patrata. Asta permite in mod perfect transmiterea starilor binare pentru ca unda asta in sine are doar doua stari, adica: voltaj continuu si oprire brusca.
De ce? Pentru ca unda rotunda oscileaza prea mult, e prea variabila, are prea multe stari de amplitudine, pe cand datele sunt binare, digitale. Trebuie doar doua stari. Deci, unda patrata. Asta permite in mod perfect transmiterea starilor binare pentru ca unda asta in sine are doar doua stari, adica: voltaj continuu si oprire brusca.
No, si unde-i "DDR"?
Aici:
SDR trimitea datele doar pe o parte a undei, mai precis pe varful pozitiv:
Pe cand DDR trimite datele pe ambele "fronturi" ale undei, atat pozitiv cat si negativ, deci "rate" dublu de date:
Dual Channel (sau Triple Channel, sau Quad Channel...)
Sunt canale de comunicare intre memorie si procesor.
Procesorul poate sa acceseze mai multe placute de RAM in acelasi timp, ca si cum ai avea doua placi de baza, sa zicem.
E doar un procesor, dar daca e mare si tare de ce sa stea dupa un singur canal din moment ce poate manca doua in acelasi timp? Memoria nu face nimic activ, doar retine date, sau e golita de date, iar procesorul, o chestie care face ceva, poate folosi mai multe canale de comunicare ca sa lucreze cu mai multe placute odata.
Da' nenea, daca am doua placute de RAM, nu inseamna ca lucra cu amandoua, oricum?
Ba da, cu amandoua, dar nu deodata. Poti sa ai 10 placute, ca daca-s pe acelasi canal e ca si cum ai avea una mare cat 10. Ai capacitate mare, dar ai viteza doar a uneia.
Daca e single-channel, controler-ul de memorie face pentru toate 10 acelasi tabel, ignora faptul ca-s doua, de fapt, el nu stie ca-s doua, doar tu stii. El nu vede placa de baza si plasticul si alea. El vede adresa de inceput al primului cip si adresa de sfarsit al ultimului chip si face un tabel intre astea. Atat.
Dar daca e multi-channel, e programat sa vada mai multe placute, stie din codul lui unde incepe si unde se termina prima, a doua, etc, pentru ca procesorul sa poata folosi mai multe canale.
Sunt canale de comunicare intre memorie si procesor.
Procesorul poate sa acceseze mai multe placute de RAM in acelasi timp, ca si cum ai avea doua placi de baza, sa zicem.
E doar un procesor, dar daca e mare si tare de ce sa stea dupa un singur canal din moment ce poate manca doua in acelasi timp? Memoria nu face nimic activ, doar retine date, sau e golita de date, iar procesorul, o chestie care face ceva, poate folosi mai multe canale de comunicare ca sa lucreze cu mai multe placute odata.
Da' nenea, daca am doua placute de RAM, nu inseamna ca lucra cu amandoua, oricum?
Ba da, cu amandoua, dar nu deodata. Poti sa ai 10 placute, ca daca-s pe acelasi canal e ca si cum ai avea una mare cat 10. Ai capacitate mare, dar ai viteza doar a uneia.
Daca e single-channel, controler-ul de memorie face pentru toate 10 acelasi tabel, ignora faptul ca-s doua, de fapt, el nu stie ca-s doua, doar tu stii. El nu vede placa de baza si plasticul si alea. El vede adresa de inceput al primului cip si adresa de sfarsit al ultimului chip si face un tabel intre astea. Atat.
Dar daca e multi-channel, e programat sa vada mai multe placute, stie din codul lui unde incepe si unde se termina prima, a doua, etc, pentru ca procesorul sa poata folosi mai multe canale.
Cu alte cuvinte, tehnologia multi-channel permite combinarea a doua placute de memorie sa functioneza ca una mai buna, combina frecventele si performanta este dublata.
Daca sloturile sunt de culoare, de exemplu GALBEN ROSU GALBEN ROSU introdu placutele in sloturile galben-galben respectiv rosu-rosu.
Doua sloturi, doua canale:
SIMM si DIMM
SIMM (Single Inline Memory Module)
DIMM (Dual Inline Memory Module)
Ce sunt SIMM-urile?
Inainte de procesorul Pentium 1 pe 64 de biti, trebuia sa pui neaparat 2 placute, deoarece doar cu doua se putea acoperi latimea de banda completa de 64 biti. De exemplu, daca voiai sa ai 64 MB de RAM, trebuia sa pui 2 placute de 32 MB. Daca voiai sa ai 32, trebuia sa pui doua de 16, si tot asa, de aceea le si spunea "Single Inline", adica singure in linie, adica nu erau ele "mandre" ca au latimea de banda cat pentru doua, ca sa nu trebuiasca sa pui doua neaparat.
Ce sunt DIMM-urile?
DIMM-urile sunt, tocmai, placute duale-in-linie si atunci e de ajuns sa pui numai una, si chiar sloturile, nu e neaparat sa fie perechi, se pot fabrica chiar si numar impar, 3 de exemplu, pentru ca o placuta putea sa faca toata treaba.
Toate placutele de memorie din ziua de azi (DDR1, DDR2, DDR3, DDR4, DDR5) sunt memorii DIMM. N-are rost sa ne mai facem griji pentru SIMM-uri, deoarece nu se mai fabrica.
SODIMM
SODIMM (Small Outline Dual Inline Memory Module) sunt memorii de laptop.
Sunt evident mai mici si au un numar mai mic de pini (de exemplu DDR3 SODIMM are 206 pini, iar DDR3 normal are 240.
Latenta
Latenta memoriei RAM, este timpul de asteptare de incarcare a datelor. Cu cat mai mic, cu atat mai bine. E o metoda foarte indirecta de masurare a vitezei, si nu ar trebui sa te stresezi prea tare pentru asta.
Latenta se masoara in nanosecunde (ns).
Memoria RAM e ca un tabel unde punctele de intersectie a liniilor cu coloanele sunt celule la care au loc impulsuri electrice (biti, stari de 1 si 0), latenta e timpul de incarcare pe orizontala si pe verticala (pe rand si pe coloana), CAS (Column Adress Strobe - impulsul de la adresa coloanei) si RAS (Row Adress Strobe - impulsul de la adresa randului) .
Asta e o modalitate de masura indirecta a vitezei memoriei, pe care o recunosti dupa prescurtarea CL (CAS Latency). (CL 9, CL 14, CL 16... etc) iar numarul reprezinta nanosecundele (CL9 = latenta de 9 nanosecunde).
De ce DDR4 are (sau pare sa aiba) latenta mult mai mare decat DDR2 (CL 16 vs CL5)?
Doar pare sa aiba, deoarece impulsurile sunt mai scurte decat la DDR2 si atunci "incap" mai multe. Nu poti compara direct, fiecare CL e relativ tipului de DDR.
Compatibilitate
Un aspect crucial:
! Memoria RAM nu e nici backwards-compatible, nici forewards compatible. !
Adica nu poti sa pui memorie de tip mai nou in slot mai vechi (de ex. placuta DDR 4 in slot DDR 3), nici sa pui memorie de tip mai vechi in slot mai nou (de ex. DDR 3 in DDR 4).
In al doilea rand, trebuie sa te asiguri ca placa de baza suporta memoria RAM pe care vrei sa o instalezi.
Nu baga cu forta placa in slot daca vezi ca nu se potriveste! Daca nu intra, inseamna pur si simplu ca placa de baza nu suporta acel tip de memorie. Daca se potriveste, o sa intre OK!
Stiu ca-i la mintea prostului, dar crede-ma, exista pr... destui.
In al treilea rand, cand cumperi doua placute de memorie RAM, e indicat sa fie de la acelasi producator. Daca sunt diferite poate sa existe probleme de compatibilitate.
Pe cat posibil cumpara placute identice, atat la producator, cati si la capacitate si frecventa (exceptie: daca ai placa de baza cu doar doua sloturi si intr-un slot suporta 2 GB iar in altul doar 1 GB, atunci e ok, nu ai ce face, poti baga placute de capacitati diferite).
Daca bagi placute cu frecvente diferite, o sa functioneze cu viteza placutei celei mai lente.
De exemplu, daca ai o placuta de 1333 MHz si una de 800 MHz, memoria RAM va fi functiona la 800 MHz.
Cum functioneaza memoria RAM?
Tot ce vezi pe ecran sunt efectele proceselor incarcate in memorie, care fac sa apara, sa se manifeste aceste lucruri.
Deci procesorul isi ia datele necesare de pe hard si le pune in memorie.
De exemplu, cand deschizi player-ul Winamp, acesta se incarca in RAM si citeste melodia, pe secvente, de pe hard. Si dupa cum vezi, procesul a aparut in task manager la "Processes". Toate procesele pe care le vezi in Task Manager, sunt de fapt fisiere incarcate in memorie. Un proces poate fi constituit din mai multe fisiere dependente unul de altul.
Memoria RAM e ca un tabel, o zona cu multe celule. Fiecare celula este o casuta unde sunt stocati biti. Acestor casute le sunt date adrese. (Adica nume hexazecimale dupa care se identifica). Procesorul apeleaza la aceste adrese si primeste datele (sau scrie datele) intr-o anumita adresa, apoi le proceseaza. Adresele sunt reprezentate sub forma hexazecimala, de exemplu 0x0AF22.
Deci procesorul isi ia datele necesare de pe hard si le pune in memorie.
De exemplu, cand deschizi player-ul Winamp, acesta se incarca in RAM si citeste melodia, pe secvente, de pe hard. Si dupa cum vezi, procesul a aparut in task manager la "Processes". Toate procesele pe care le vezi in Task Manager, sunt de fapt fisiere incarcate in memorie. Un proces poate fi constituit din mai multe fisiere dependente unul de altul.
Memoria RAM e ca un tabel, o zona cu multe celule. Fiecare celula este o casuta unde sunt stocati biti. Acestor casute le sunt date adrese. (Adica nume hexazecimale dupa care se identifica). Procesorul apeleaza la aceste adrese si primeste datele (sau scrie datele) intr-o anumita adresa, apoi le proceseaza. Adresele sunt reprezentate sub forma hexazecimala, de exemplu 0x0AF22.
Cum arata inauntru un chip de memorie RAM? (diagrama)
(click pe imagini pentru a mari)
Ei bine, aceste celule sunt redimensionate grafic ca sa intelegi mai bine ce-i inauntru, in realitate sunt miliarde de astfel de celule pe centimetru patrat. Celulele sunt combinatii specifice de porti logice folosind CMOS.
Greseli comune:
1. Nu confunda SDR cu SDRAM! Aceste doua denumiri seamana, si de aceea s-a facut o confuzie foarte larg raspandita si trebuie sa clarificam cum sta treaba.
SDR Inseamna Single Data Rate, din aceeasi familie cu DDR, dar nu se mai fabrica. Cat despre denumirea SDRAM, aceasta e defapt denumirea completa a memoriei RAM, fie ca e SDR, fie ca DDR, care inseamna defapt Synchronous Dynamic Random Access Memory - memorie dinamica sincronizabila cu acces aleator. Aceasta este denumirea completa. Toate memoriile din prezent sunt SDRAM
2. Random Access Memory inseamna memorie cu acces aleator. Dar nu se refera la faptul ca memoria este accesata la intamplare, ci ca poate fi citita si scrisa la orice adresa, oricand.
3. Nu se zice "rami", de fapt, pentru ca nu exista o astfel de denumire, Se zice memorie RAM, pentru ca asta e. "Rami" nu indica nimic, deoarece RAM sunt initiale pentru toata familia de memorii, Random Access Memory, care implica deja un plural.
Ca sa filozofez un pic: cand folosesti termenul "rami" e ca si cum te-ai referi deodata la mai multe tipuri de RAM, care pot iesi din lumea PC-urilor, te referi la familia lor intreaga care inca nu exista, dar e posibil sa existe pentru savanti excentrici cu parul maciuca... Probabil esti ceva super inginer care leaga universuri de calculatoare intre ele si faci abstractie de memoriile lor, pentru ca esti un Dumnezeu care nu tine cont de regulile astea si in PC-ul tau totul e posibil. In viitor te vei gandi si cum sa legi niste broaste testoase la placa de baza, doar sunt "materii".
De fapt... zi-i cum vrei, atata timp cat stii la ce te referi.
4. Aud pe multi cum zic.. "mi-am cumparat 2 giga DDRAM..." Nu exista DDRAM! Ce vrea sa zica, e DDR.
1. Nu confunda SDR cu SDRAM! Aceste doua denumiri seamana, si de aceea s-a facut o confuzie foarte larg raspandita si trebuie sa clarificam cum sta treaba.
SDR Inseamna Single Data Rate, din aceeasi familie cu DDR, dar nu se mai fabrica. Cat despre denumirea SDRAM, aceasta e defapt denumirea completa a memoriei RAM, fie ca e SDR, fie ca DDR, care inseamna defapt Synchronous Dynamic Random Access Memory - memorie dinamica sincronizabila cu acces aleator. Aceasta este denumirea completa. Toate memoriile din prezent sunt SDRAM
2. Random Access Memory inseamna memorie cu acces aleator. Dar nu se refera la faptul ca memoria este accesata la intamplare, ci ca poate fi citita si scrisa la orice adresa, oricand.
3. Nu se zice "rami", de fapt, pentru ca nu exista o astfel de denumire, Se zice memorie RAM, pentru ca asta e. "Rami" nu indica nimic, deoarece RAM sunt initiale pentru toata familia de memorii, Random Access Memory, care implica deja un plural.
Ca sa filozofez un pic: cand folosesti termenul "rami" e ca si cum te-ai referi deodata la mai multe tipuri de RAM, care pot iesi din lumea PC-urilor, te referi la familia lor intreaga care inca nu exista, dar e posibil sa existe pentru savanti excentrici cu parul maciuca... Probabil esti ceva super inginer care leaga universuri de calculatoare intre ele si faci abstractie de memoriile lor, pentru ca esti un Dumnezeu care nu tine cont de regulile astea si in PC-ul tau totul e posibil. In viitor te vei gandi si cum sa legi niste broaste testoase la placa de baza, doar sunt "materii".
De fapt... zi-i cum vrei, atata timp cat stii la ce te referi.
4. Aud pe multi cum zic.. "mi-am cumparat 2 giga DDRAM..." Nu exista DDRAM! Ce vrea sa zica, e DDR.