Tipuri de module de memorie
În ziua de azi dacă-ți iei un calculator din prima linie a ofertei magazinelor de profil, în mod sigur va avea memorii DDR3, care la ora actuală sunt cele mai moderne. Dacă nu, atunci îți poți lua și un calculator cu memorii de generație mai veche (DDR2) iar dacă ai acasă un calculator cu ceva ani buni vechime atunci probabil ai în el memorii DDR (DDR1).
Aspecte comune
Să vedem întâi ce au ele în comun:
- Toate sunt variante de memorii SDRAM (Synchronous Dynamic RAM), deci sunt memorii dinamice» sincrone» . Prin urmare semnalul de tact (clock)» are un rol esențial.
- Toate sunt realizate sub formă de module de memorie DIMM» având o dimensiune standard. Există și un format de dimensiuni reduse numit SODIMM – cam jumătate din dimensiunea unui DIMM obișnuit.
- Toate memoriile DDR (1, 2, 3) realizează câte un transfer de date pe frontul crescător al impulsului de tact și un alt transfer pe frontul descrescător al impulsului de tact, deci două transferuri de date pentru fiecare impuls de tact (de aici denumirea DDR = Double Data Rate).
Deosebiri
- Numărul de pini: DDR – 184 pini, DDR2 – 240 pini, DDR3 – 240 pini (comparativ cu cei 168 pini ai bătrânelor module SDRAM (fără DDR));
- Pozițiile cheilor» : anticele module SDRAM (cele fără DDR) sunt singurele care au două astfel de chei, modulele mai noi DDR, DDR2 respectiv DDR3 având câte o singură cheie în poziții care diferă, după cum se poate vedea în imaginea alăturată.
În plus, între tipurile de memorie prezentate mai există următoarele diferențe:
- Frecvențele impulsului de tact (clock) al memoriei și tensiunile de alimentare:
Tip memorie Frecvență Tensiune de alimentare DDR SDRAM 100–200 MHz 2.5/2.6 V DDR2 SDRAM 200–533 MHz 1.8 V DDR3 SDRAM 400–800 MHz 1.5 V - Memoriile DDR2 multiplică bus clock-ul (clock-ul magistralei) cu 2, rezultând un clock al memoriei de frecvență dublă față de bus clock, iar memoriile DDR3 multiplică bus clock-ul cu 4, rezultând un clock al memoriei cu frecvență de patru ori mai mare față de bus clock, în timp ce la mai vechile memorii DDR clock-ul memoriei este nemodificat, rămânând identic cu bus clock-ul.
- Rata de transfer, transfer rate – exprimată în MT/s (megatransferuri pe secundă), și lărgimea de bandă, bandwidth – exprimată în MB/s (megabytes pe secundă) care se pot atinge sunt:
Standard name Bus clock (MHz) Memory clock (MHz) Transfer rate
(MT/s)Module name Bandwidth (MB/s) DDR-200 100 100 200 PC-1600 1600 DDR-266 133 133 266 PC-2100 2100 DDR-333 166 166 333 PC-2700 2700 DDR-400 200 200 400 PC-3200 3200 DDR2-400 100 200 400 PC2-3200 3200 DDR2-533 133 266 533 PC2-4200
PC2-43004266 DDR2-667 166 333 667 PC2-5300
PC2-54005333 DDR2-800 200 400 800 PC2-6400 6400 DDR2-1066 266 533 1066 PC2-8500
PC2-86008533 DDR3-800 100 400 800 PC3-6400 3200 DDR3-1066 133 533 1066 PC3-8500 8533 DDR3-1333 166 666 1333 PC3-10600 10667 DDR3-1600 200 800 1600 PC3-12800 12800 DDR3-1800* 225 900 1800 PC3-14400 14400 DDR3-2000* 250 1000 2000 PC3-16000 16000 DDR3-2200* 275 1100 2200 PC3-17600 17600 * – memorii care nu figurează în specificațiile standard JEDEC» , viteza lor superioară putând fi valorificată în măsura în care placa de bază poate face overclocking» la memoria RAM. Nici tipul DDR2-1066 nu a fost specificat inițial în standardele JEDEC, el fiind standardizat ulterior.Există și alte memorii non-standard DDR3 până la 2800 MT/s și toate funcționează pe baza overclocking-ului impus de placa de bază (dacă ea permite acest lucru).Memoriile RAM rapide sunt prevăzute în mod obișnuit cu un radiator metalic ce îmbracă circuitele de memorie în scopul de a disipa excesul de căldură.
Caracteristici
Principalele caracteristici ale memoriilor DDR SDRAM, DDR2 SDRAM și DDR3 SDRAM sunt următoarele:
Capacitate
Este exprimată în MB (megabytes) sau GB (gigabytes). Valori tipice: 256M, 512M, 1GB, 2GB, 4GB.
ECC (error correcting code)
Modulele pot avea sau nu facilitatea ECC, facilitate care, cu ajutorul unor circuite suplimentare aflate pe modulul de memorie, oferă o imunitate sporită împotriva alterării valorii unor biți de informație din cadrul modulului ca urmare a interferențelor electromagnetice. Acest lucru este posibil prin memorarea în circuitele ECC a unor informații redundante corespunzătoare valorilor curente din memorie, informații pe baza cărora să poată fi reconstituite eventualele erori survenite în conținutul memoriei (cu condiția ca numărul biților alterați să nu depășească o anumită valoare).
Latență
Poate te-ai întrebat ce reprezintă un șir de numere de forma 5-5-5-15 inscripționat pe un modul de memorie. Este vorba despre latența memoriei, exprimată sub forma a patru intervale de timp care caracterizează funcționarea memoriei SDRAM. Discutând aici despre memorii RAM sincrone, acești timpi se exprimă în număr de cicli ai tactului memoriei. E vorba aici de memory clock, deci clock-ul cu frecvența egală cu jumătate din valoarea care apare în denumirea modulului (ex. DDR2-800 => 400MHz).
Cei patru timpi sunt notați CL-tRCD-tRP-tRAS și ca să-i înțelegem e nevoie să aruncăm întâi o privire asupra modului în care este accesată o anumită locație din memorie, operație realizată prin activarea unor comenzi specifice (sub formă de semnale electrice).
Memoria este organizată intern cam ca o foaie de calcul din Excel, cu rânduri și coloane. Pentru adresarea unei locații de memorie aflate la intersecția unui rând cu o coloană mai întâi se activează întregul rând, cu ajutorul semnalului RAS (Row Address Strobe). Timpul necesar activării rândului se numește tRCD (RAS-to-CAS Delay). Rândul fiind acum activat, în continuare trebuie activată coloana, cu ajutorul semnalului CAS (Column Address Strobe). Timpul necesar activării coloanei se numește CL (CAS Latency sau CAS Delay). CL se mai notează și tCAS.
Memoriile sincrone permit ca pe rândul selectat să se activeze una după alta, la fiecare front al impulsului de tact, mai multe coloane în secvență (fenomenul de numește pipelining), fără să fie nevoie ca înaintea următorului acces să se aștepte finalizarea accesării locației de memorie de pe coloana curentă (care poate dura mai multe impulsuri de tact). Astfel, accesarea în secvență a unor locații de memorie aflate pe același rând se desfășoară mult mai rapid față de varianta în care fiecare nou acces trebuie să aștepte finalizarea accesului anterior.
Dacă la un moment dat se dorește accesarea unei locații de memorie aflate pe un alt rând trebuie mai întâi încheiat accesul la rândul curent, operație care durează tRP (RAS Precharge Time) impulsuri de tact.
Timpul minim cât semnalul RAS rămâne activat (adică de la inițierea activării rândului dorit și până la finalizarea accesării rândului (etapa Row Precharge) se numește tRAS (Active to Precharge Delay). tRAS are valoarea cea mai mare, el neputând fi mai mic decât suma timpilor necesari activării rândului (tRCD) și coloanei (CL).
Toți acești timpi reprezentând intervale în care se așteaptă ceva, este bine ca ei să fie cât mai mici pentru o performanță optimă.
Pentru o mai bună înțelegere a acestor patru timpi redau mai jos o reprezentare grafică de unde rezultă modul cum este definit fiecare dintre ei. Mai precizez că timpul CL este figurat în cazul citirilor celulelor de memorie. În cazul scrierilor unor celule de memorie timpul corespunzător a fost notat cu tWR (Write) și el apare mai lung decât CL deoarece operațiile de scriere în RAM durează mai mult decât cele de citire.
Acces rând | Acces coloană / coloane | Precharge | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
tRCD | CL (Read) | tRP | |||||||||
tWR (Write) | |||||||||||
CL (Read) | |||||||||||
CL (Read) | |||||||||||
tRAS | |||||||||||
După faza de precharge povestea se repetă, urmează din nou faza de accesare a rândului și a coloanei (sau coloanelor). Deci din momentul când se dă comanda de precharge și până când următoarea celulă de memorie poate fi accesată vor trece tRP + tRCD + CL impulsuri de tact al memoriei.
Este important să reținem că timpii care definesc latența memoriei, așa cum apar în specificații sau în BIOS setup, sunt precizați în următoarea ordine: CL-tRCD-tRP-tRAS.
Arhitectura dual-channel
Dacă te-ai uitat vreodată la o placă de bază contemporană (adică nu din pre-cambrian), și sunt convins că ai făcut-o din moment ce încă citești articolul, precis ai observat faptul că soclurile modulelor de memorie (în caz că placa de bază are mai mult de două astfel de module) sunt împărțite în perechi și fiecare pereche e colorată distinct (de obicei albastru și negru, dar pot apărea și alte culori: verde, galben, portocaliu). Existența perechilor de socluri colorate distinct indică faptul că se folosește arhitectura dual-channel.
Care e ideea de fapt? Procesorul este de obicei mult mai rapid decât memoria RAM și se întâmplă că apar frecvent timpi morți, în care el stă degeaba așteptând ca memoria să-și termine treaba. Și atunci, pentru creșterea performanței sistemului, s-au încercat artificii în scopul creșterii vitezei de acces a RAM-ului.
Dual-channel a fost creat cu scopul de a dubla viteza de comunicație între procesor și RAM. Cum se realizează asta? Dublarea vitezei e posibilă prin faptul că modulele de memorie sunt împărțite în perechi marcate cu o culoare distinctă, iar DIMM-urile din cadrul aceleiași perechi pot fi accesate în același timp de către procesor (sau de controllerul de memorie). Cu alte cuvinte dacă la un singur acces la memorie pot fi accesați simultan 64 biți dintr-un modul, într-un sistem dual-channel la un singur acces se accesează simultan 128 biți (câte 64 biți din fiecare modul al unei astfel de perechi).
Pentru ca dual-channel să funcționeze, modulele de memorie care se împerechează trebuie să fie identice din toate punctele de vedere, însă în perechi diferite se pot folosi module cu caracteristici diferite.
Există și situații atipice în care culorile sunt folosite altfel (perechile pot fi în socluri de culori diferite), deci pentru siguranță ar trebui consultat manualul plăcii de bază.
Activarea dual-channel se realizează automat dacă sunt îndeplinite condițiile la care mă refeream mai devreme și poate fi verificată urmărind mesajul specific care apare pe ecran la pornirea sistemului.
Arhitectura triple-channel
Plăcile de bază cu chipset Intel X58 pentru procesoare Intel Core i7 modelele 9xx (Bloomfield și Gulftown) cu socket LGA 1366 au socket-urile de memorie grupate nu în perechi, ci în tripleți colorați distinct. Funcționarea e similară cu dual-channel, doar că lățimea de bandă maximă este nu dublă ci triplă, putând fi transferați simultan 64 * 3 = 192 biți față de cei 128 biți în cazul dual-channel. La fel ca și la dual-channel, modulele de memorie instalate în cadrul unui astfel de triplet trebuie să fie identice.
Calculul lățimii de bandă maxime a memoriei
Lățimea de bandă maximă a unei memorii SDRAM DDR, DDR2, sau DDR3, exprimată în bytes pe secundă sau în mod uzual gigabytes/s (GB/s) este calculată astfel:
LBM = rata_transfer * nr_biți_transferați_simultan / nr_biți_per_byte
- rata_transfer este valoarea din denumirea memoriei (ex. pentru DDR2-800 ea este 800 MT/s – megatransfereruri pe secundă). În cazul memoriilor DDR, DDR2 sau DDR3 rata de transfer este dublul frecvenței clock-ului memoriei pentru că ziceam mai devreme că are loc un transfer pe frontul crescător și un alt transfer pe frontul descrescător, deci două transferuri pe fiecare ciclu;
- nr_biți_transferați_simultan este 64, 128 (în arhitectura dual-channel) sau 192 (în arhitectura triple-channel);
- nr_biți_per_byte este întotdeauna 8;
Astfel, dacă avem două module DDR2-800 instalate în dual-channel (de altfel situația ar fi identică și la o memorie DDR3-800) lățimea de bandă maximă este 800 * 128 / 8 = 12800 MB/s = 12.8 GB/s.
Serial Presence Detect (SPD)
SPD reprezintă o modalitate prin care parametrii unui modulul de memorie pot fi aflați pe baza unui identificator pe care modulul îl trimite serial» la pornirea sistemului, inclusiv informațiile legate de timing-ul memoriei, informații care sunt esențiale pentru a putea accesa modulul de memorie la viteza maximă permisă constructiv.
Cum alegem modulele de memorie pentru un calculator
În primul rând trebuie să căutăm specificațiile plăcii de bază pentru a vedea nu numai tipul de memorie (DDR, DDR2, DDR3) dar și ratele de transfer acceptate. Nu putem folosi o memorie DDR2-533 pe o placă ce acceptă doar DDR2-667, DDR2-800 și DDR2-1066, în schimb dacă de exemplu memoria e inscripționată DDR2-1066 o putem folosi și pe o placă de bază care știe DDR2-533 și DDR-667, caz în care ea nu va lucra la viteza maximă garantată constructiv.
Iar apoi trebuie să fim atenți să grupăm module identice când avem de a face cu arhitectura dual-channel sau triple-channel, după cum spuneam și în secțiunile respective.
Dacă sistemul nu acceptă modulele de memorie introduse, el va refuza să pornească și la foarte scurt timp după punerea în funcțiune vom auzi în buzzer niște tonuri de avertizare scurte și repetate a căror semnificație este descrisă în manualul plăcii de bază.
Viitorul: DDR4 SDRAM
Continuarea seriei SDRAM va fi DDR4 SDRAM, despre care se vorbește cam din 2008 și care este așteptat nu mai devreme de 2012. DDR4 va lucra la tensiuni de 1V sau maxim 1.2V (se observă că tensiunile de alimentare au tot scăzut cu fiecare generație: 2.8V/2.5V -> 1.8V -> 1.5V -> 1V/1.2V) operând la viteze începând cu 1600MT/s probabil până în jur de 3200MT/s.
Niciun comentariu:
Trimiteți un comentariu