Industria memoriilor este una dintre cele mai dinamice aplicatii ale electronicii
din zilele noastre. In ultimi ani chip-urile de memorie au avansat intr-un ritm
alert, ceea ce a dus la o scadere dramatica a pretului/MB. Factorul principal
care a dus la cresterea productiei fiind cererea de memorie, care a crescut
datorita programelor ce utilizeaza tot mai multa memorie dar si datorita avantajului
(d.p.d.v. al performantelor) pe care memoria RAM il ofera in comparatie cu alte
tehnologii de stocare a informatiei. In acelasi timp performantele noilor module
au fost imbunatatite, au scazut timpii de acces iar viteza bus-ului a crescut.
Toate aceste caracteristici au fost implementate din cauza mai multor factorii
de ordin tehnic, unul dintre acestia ar fi evolutia procesoarelor, care prin
cresterea frecventei introduc necesitatea cresterii performantelor pentru memorii.
In lungul timpului memoriile au fost construite prin prisma mai multor tehnologii,
dintre acestea doar o parte au reusit sa se impuna pe piata. Principalul motiv
fiind, dupa cum multi dintre noi cunosc, raportul pret/perfomanta. q3z17zz
In continuare, prin acest articol ne propunem o scurta descriere a modului de
functionare pentru cele mai raspindite memorii existente pe piata cit si avantajele/dezavantajele
tehnologiilor existente.
Clasificare, memoriile utilizate in PC se clasifica in doua categorii :
· ROM (Read Only Memory) acest tip memorie nu poate fi rescrisa ori stearsa.
Avantajul principal pe care aceasta memorie il aduce este insensibilitatea fata
de curentul electric. Continutul memoriei se pastreaza chiar si atunci cind
nu este alimentata cu energie.
· RAM (Random Access Memory), este memoria care poate fi citita ori scrisa
in mod aleator, in acest mod se poate accesa o singura celula a memoriei fara
ca acest lucru sa implice utilizarea altor celule. In practica este memoria
de lucru a PC-ului, aceasta este utila pentru prelucrarea tempoarara a datelor,
dupa care este necesar ca acestea sa fie stocate (salvate) pe un suport ce nu
depinde direct de alimentarea cu energie pentru a mentine informatia.
Memoria ROM este in general utilizata pentru a stoca BIOS-ul (Basic Input
Output System) unui PC. In practica, o data cu evolutia PC-urilor acest timp
de memorie a suferit o serie de modificari care au ca rezultat rescrierea/arderea
"flash" de catre utilizator a BIOS-ului. Scopul, evident, este de
a actualiza functiile BIOS-ului pentru adaptarea noilor cerinte si realizari
hardware ori chiar pentru a repara unele imperfectiuni de functionare. Astfel
ca in zilele noastre exista o multitudine de astfel de memorii ROM programabile
(PROM, EPROM, etc) prin diverse tehnici, mai mult sau mai putin avantajoase
in functie de gradul de complexitate al operarii acestora.
BIOS-ul este un program de marime mica (< 2MB) fara de care computerul nu
poate functiona, acesta reprezinta interfata intre componentele din sistem si
sistemul de operare instalat (SO).
Memoria RAM se clasifica in SRAM (Static) si DRAM (Dynamic).
· SRAM, acest tip de memorie utilizeaza in structura celulei de memorie
4 tranzistori si 2 rezistente. Schimbarea starii intre 0 si 1 se realizeaza
prin comutarea starii tranzistorilor. La citirea unei celule de memorie informatia
nu se pierde. Datorita utilizari matricei de tranzistori, comutarea intre cele
doua stari este foarte rapida.
· DRAM are ca principiu constructiv celula de memorie formata dintr-un
tranzistor si un condensator de capacitate mica. Schimbarea starii se face prin
incarcarea/descarcarea condensatorului. La fiecare citire a celulei, condensatorul
se descarca. Aceasta metoda de citire a memoriei este denumita "citire
distructiva". Din aceasta cauza celula de memorie trebuie sa fie reincarcata
dupa fiecare citire. O alta problema, care micsoreaza performantele in ansamblu,
este timpul de reimprospatare al memoriei, care este o procedura obligatorie
si are loc la fiecare 64 ms. Reimprospatarea memoriei este o consecinta a principiului
de functionare al condensatoriilor. Acestia colecteaza electroni care se afla
in miscare la aplicarea unei tensiuni electrice, insa dupa o anumita perioada
de timp energia inmagazinata scade in intensitate datorita pierderilor din dielectric.
Aceste probleme de ordin tehnic conduc la cresterea timpul de asteptare (latency)
pentru folosirea memoriei.
Datorita raspindiri vaste a memoriei de tip DRAM, am sa exemplific modul de
functionare a celulei de memorie in baza acestei tehnologii.
Celula de memorie, este cea mai mica unitate fizica a memoriei. Este compusa
din componente electronice discrete. Principiul de functionare este in fapt
modificarea starii logice intre 0 si 1 care la nivel fizic, in functie de tehnologia
utilizata, corespunde cu inmagazinarea energiei electrice prin intermediul unui
condensator (pentru DRAM), ori cu reconfigurarea matricei de tranzistori (in
cazul SRAM).
Celula de memorie din punct de vedere logic este tratat ca fiind un bit. Cea
mai mica unitate logica adresabila a memoriei este formata din opt biti si ia
denumirea byte. Acesta ofera posibilitatea obtineri a 256 combinatii (caractere).
Prin gruparea a opt bytes se obtine un cuvint (word). Constructiv, din motive
ce tin de design, celulele de memorie sint organizate sub forma unor matrici.
Pentru identificarea si accesarea celulelor de memorie, acestea dispun de o
adresa unica pentru fiecare celula in parte. Identificarea celulei de memorie
se face prin transmiterea adresei acesteia prin BUS-ul de adrese catre decodorul
de adrese (format din decodoare pentru linie si coloana), acesta identifica
celula de memorie care corespunde adresei primite si transmite continutul acesteia
catre interfata de date iar aceasta mai departe, catre BUS-ul de date.
Magistrala pentru adrese (BUS adrese) este conexiunea intre chipset-ul placii
de baza si memorie, aceasta este puntea de legatura prin care adresele sunt
transmise catre decodor.
Decodorul de adrese este format din decodorul de linie si cel de coloana, acesta
receptioneaza adresa celulei de memorie pe care o imparte in doua, prima parte
fiind transmisa catre decodorul de linie iar a doua catre cel de coloana, astfel
se identifica celula de memorie corespunzatoare.
Matricea de memorie este structura prin care celulele de memorie sunt ordonate
pe linii si coloane.
Interfata pentru date contine un amplificator de semnal, acesta receptioneaza
informatiile stocate in celulele de memorie, amplifica semnalul, reincarca memoria
si transmite informatia prin BUS-ul de date catre chipset (in cazul in care
informatia este citita din memorie). Pentru scriere procedeul se inverseaza.
Magistrala pentru date (BUS date) este conexiunea intre chipset-ul placi de
baza si memorie, aceasta ofera posibilitatea transmiterii informatiilor ce trebuiesc
prelucrate de catre procesor ori stocate in memorie.
In general celulele de memorie nu pot fi accesate individual, din acest motiv,
constructiv matricea de memorie este incapsulata intr-un chip. Chip-urile de
memorie sunt asamblate pe un modul de memorie (circuit imprimat) in numar de
opt. Acestea sint conectate la magistrala de adrese si la cea pentru date. Astfel
se obtine o celula de memorie virtuala, formata din 8 biti (1 byte). Modulele
de memorie la randul lor sint organizate in bancuri de memorie, acestea sunt
conectate intre ele in acelasi mod ca si chip-urile.
Daca luam ca exemplu un procesor ce lucreaza pe 16 biti si vechile module de
memorie de tip SIMM care functionau numai in perechi. Ne punem intrebare, de
ce cite doua?
Acest lucru se intimpla datorita procesorului, care are nevoie de 16 biti pentru
a umple magistrala de date, avind in vedere ca un modul de memorie detine numai
8 biti, doua astfel de module au fost conectate intre ele, in acest mod sa obtinut
o magistrala pentru date cu latimea de 16 biti.
Timpul de asteptare, pentru efectuarea tuturor operatiilor ce aduc informatia
in interfata pentru date este necesar un anumit timp, care este identificat
sub numele "latency". Astfel ca, pentru transmiterea adreselor intre
procesor, chipset si memorie se utilizeaza 2 cicluri de tact. Pentru identificarea
celulei de memorie se parcurg doua operatii. Identificarea liniei din matrice,
pentru care avem nevoie de 2/3 cicluri (in functie de calitatea memoriei utilizata),
aceasta perioada se numeste RAS (Row Address Strobe) to CAS (Column Address
Strobe) delay si identificarea coloanei (CAS latency) pentru care se consuma
aproximativ acelasi timp ca si pentru prima operatie (2/3 cicluri). Pentru transmiterea
informatiei catre interfata de date se consuma 1 ciclu iar pentru ultima operatie,
transmiterea datelor catre chipset si apoi catre procesor, inca 2 cicluri.
Dupa transmiterea informatiilor, in cazul in care cererea emisa de procesor
este mai mai mare decit latimea magistralei pentru date, urmatoarele cuvinte
sint transmise catre procesor in modul rafala "burst mode" la fiecare
ciclu de tact, acest lucru este posibil datorita unui numarator intern care
identifica urmatoarea coloana si transmite catre amplificator continutul.
Deosebiri SRAM/DRAM
Principalul avantaj al memoriei dinamice (DRAM) este pretul foarte redus pentru
obtinerea unei celule. De altfel, acesta este si singurul plus pe care aceasta
memorie il are in comparatie cu SRAM. In schimb performantele sint cu mult in
urma memoriei statice (SRAM). Datorita modului prin care se comuta intre starile
0 si 1 si a modului in care se executa citirea celulei de memorie, SRAM nu are
nevoie de rescriere a datelor dupa ce acestea au fost citite si nici de reimprospatarea
celulei de memorie. Atfel ca timpii de acces sint mult mai mici iar viteza la
care acest tip de memorie lucreaza depaste cu mult performantele memoriei dinamice.
Datorita pretului de cost mare pentru obtinerea unei celule SRAM, acest tip
de memorie este utilizat numai pentru fabricarea memoriei cache ce se implementeaza
in placile de baza sub denumirea de cache level 2 (L2) ori pentru memoria cache
level 1 (L1) ce este integrata in structura procesoarelor. Memoria cache L1
functioneaza la aceasi frecventa cu cea a procesorului in timp ce pentru memoria
cache L2 frecventa de lucru este jumatate fata de frecventa procesorului. Memoria
cache a fost introdusa ca un artificiu tehnologic, care trebuie sa suplineasca
diferenta de frecventa dintre procesor si memorie.