MEMORIA CALCULATORULUI
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.
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.