Sunteți pe pagina 1din 12

Subsistemul memoriei

1.3.1 Cache-ul L2 si memoria


Dispozitivele calculatorului folosite pentru a stoca date se numesc memorii. Exista 2 tipuri de baza de memorii:
interna si externa. Memoria interna (numita si memorie de stocare primara) pastreaza datele temporar, doar pe
timpul functionarii calculatorului, pe cnd cea externa o pastreaza pe termen lung, inclusiv pe timpul nefunctionarii
calculatorului. Totusi, printr-un oarecare abuz de limbaj, n mediul tehnologiei informatiei termenul de memorie
desemneaza memoria interna, si va fi referita de acest capitol. Memoria externa (memorie de stocare
secundara), sinonima uneori cu termenul de disk, va fi studiata n capitolul numit subsistemul disk-urilor. Contine:
ROM, memorie flash, dispozitive de stocare magnetica (hard disk-uri, floppy disk si banda magnetica), disk-uri
optice (CD-ROM, DVD-ROM), ca si metode timpurii de stocare ca banda perforata si cartele perforate.
Memoria se mai clasifica si din punct de vedere al accesului la date: n memorie RAM(Random Access Memory memorie cu acces secvential) n care datele pot fi accesate n orice ordine si n memorie cu acces secvential,
cum ar fi dispozitivele de stocare pe banda, disk-urile unde miscarea mecanica forteaza mediile de stocare sa
acceseze datele ntr-o ordine fixata. Memoria RAM poate fi att citita, ct si scrisa, fiind numita si memorie de
scriere/citire, opusa uneori memoriei ROM, care poate fi doar citita (nsa, daca luam n considerare definitia,
memoria ROM, sub forma de chip [cip], este tot de tip RAM).
Termenul de memorie RAM se prescurteaza de multe ori la memorie si, de aceea, n acest capitol ne vom referi la
aceasta.
Toate subsistemele ce stocheaza date temporare contin memorie.
Memoria principala - numita si memorie de baza, memorie sistem, RAM de sistem, memorie (pur si simplu) sau
DRAM.
- Stocheaza datele si instructiunile pe care le utilizeaza procesorul. Aceasta permite procesorului sa acceseze
datele si instructiunile rapid (n comparatie cu preluarea lor de pe disk sau CD-ROM)

- Continutul memoriei si al cache-ului L2 se pierd atunci cnd calculatorul este stins.


- Memoria este localizata pe bus-ul local (numit uneori bus de memorie, bus sistem, bus host (gazda) procesor
sau frontside bus).
- Memoria este dirijata de un controller de memorie care manevreaza tot 333f51d traficul nspre si dinspre
memorie.
- Performanta memoriei este masurata de obicei prin latenta (timpul de la nceputul unui acces pna la nceputul
efectiv al transferului) si largimea de banda / bandwidth (vrful sau media de transfer de date).
Arhitectura procesoarelor permite totdeauna un anumit numar de cicluri de ceas pentru a citi sau scrie informatie
din / n memoria sistem. Daca design-ul sistemului permite ca operatia sa fie completata n intervalul dat de
cicluri, aceasta se numeste stare de asteptare zero. Daca pentru un anumit motiv operatiunea nu se termina
procesorul trebuie sa astepte insernd stari suplimentare n operatia de baza. Acestea sunt numite stari de
asteptare care sunt ntotdeauna un multiplu de cicluri de ceas. Un DRAM cu timpul de acces de 60ns nu e
suficient pentru a permite un timp de asteptare 0 al procesorului, nsa o memorie SRAM cu timp de acces de
10ns poate tine pasul cu procesorul, nsa e prea scumpa pentru a fi implementata ca memorie sistem. Problema
e ca cu fiecare noua generatie de procesoare care e mai rapida e din ce n ce mai scump de ncorporat memorie
care sa aiba un design ce permite stare de asteptare zero. O problema de baza pe care designer-ii trebuie sa o
rezolve este ca timpul de acces scade pe cnd preturile cresc.
Cercetarile au aratat ca atunci cnd un sistem utilizeaza niste date, probabil ca le va utiliza din nou. Cu ct
accesul la aceste date e mai rapid cu att mai repede va opera ntregul sistem.Memoria cache este un buffer de
memorie care foloseste pentru stocarea temporara a datelor si instructiunilor obtinute din memoria de baza, mai
lenta. Ea utilizeaza RAM static (SRAM ce foloseste un flip-flop / bistabil ca circuit primar) si e mult mai rapida
dect RAM-ul dinamic (DRAM ce foloseste un capacitor) utilizat pentru memoria sistem (de obicei de 5 pna la 10
ori mai rapida). Totusi SRAM-ul e mai scump si consuma mai multa energie si de aceea nu e utilizat pentru
memoria principala.
Cache-ul L2 reduce numarul de cicluri necesare pentru un acces la memorie fiind implementata cu SRAM rapid.
Cnd procesorul trebuie sa efectueze accesari de citire a memoriei externe, controller-ul de cache ncarca bytes-ii
n plus si i ncarca n L2. Cnd procesorul are nevoie de urmatoarele date e foarte probabil ca acestea sa fie deja
n cache-ul L2. n acest caz performanta procesorului creste; daca nu, pierderea e minima.
Cache-ul L2 este rentabil fiindca este relativ mic n comparatie cu cantitatea de memorie de baza.

1.3.2 Definitii si abrevieri ale termenilor relativi la memorie


ROM - Read Only Memory (Memorie Doar Citire); pe carduri adaptoare sau pentru BIOS; utilizat pentru a stoca
cod de boot, diagnostice power-on (componente conectate) si cod specific unei componente (device). Dupa cum
spune si denumirea ROM-ul nu poate fi utilizat pentru scrieri. Din punct de vedere tehnic, ROM poate fi accesat
ntmplator (oriunde), deci ROM-ul este tot un fel de RAM.
RAM - Random Access Memory (memorie cu acces ntmplator / n orice loc). Termenul de ntmplator vine de la
faptul ca CPU poate prelua date din orice locatie / adresa din memorie (neliniar). Memoria de baza a unui PC
este denumita RAM. RAM-ul poate fi utilizat att pentru citiri ct si pentru scrieri.
Memorie virtuala - utilizeaza hard-disk-ul ca memorie. Aceasta functie este partial hardware (toate procesoarele
ncepnd cu 386 o suporta) si partial n sistemul de operare. Permite adreselor sa ia valori pna la maximul logic
posibil - 4 GB, de exemplu - cu toate ca masina nu are instalata aceasta cantitate de memorie. Managerul de
memorie pagineaza programele si datele nauntrul si n afara memoriei de baza dintr-un fisier de pe disk numit
swapper. Toate sistemele de operare majore pun la dispozitie mecanismul memoriei virtuale.
Memoria flash - si pastreaza tensiunea astfel nct si pastreaza continutul cnd e deconectata. Datele pot fi
sterse doar n blocuri (ca de exemplu de 64KB) cnd datele necesita a fi modificate. E limitata la 100000 pna
1000000 de scrieri (depinznd de design si precizia de fabricare); e utilizata pentru aplicatii si stocare de catre
sistemul de operare (nu fisiere cu date). Are o viata limitata pentru scrieri si una nelimitata pentru citiri. Citirile sunt
rapide (150-200ns fata de 10-50ns pentru RAM), dar scrierile sunt mai lente dect cele pe hard-disk.
E folosita pentru a stoca BIOS pe placile de baza si pe anumite carduri PC (utilizate n special la notebook-uri;
memorie PCMCIA). Aceste carduri PCMCIA nu necesita o baterie (ca si cardurile PCMCIA bazate pe S-RAM), iar

continuturile sunt mereu stocate n memorie chiar fara o baterie sau ncarcatura electrica. Cu toate ca sunt numite
carduri de memorie ele reprezinta de fapt un disk separat (cu litera asociata) si nu pot fi utilizate pentru memoria
sistem sau a aplicatiilor.
- a aparut n 1998 un tip special de memorie flash, portabila - memory stick-ul ce se conecteaza la portul USB si
are capacitati de pna la 512 MB sau 1 GB n mod curent, dar teoretic pna la 32 GB.
EEPROM (Electronically Erasable Programmable ROM - ROM ce poate fi sters electronic si programabil) termenul se refera de obicei la memoria flash.
CMOS (Complementary Metal Oxide Semiconductor) - acest tip de memorie e deseori folosit pentru a stoca
parametrii de configurare ai adaptoarelor si ai sistemului. Foloseste memorie RAM. Necesita putina energie, dar
si pierde continutul atunci cnd e deconectata. Se utilizeaza o baterie pentru a furniza energie acestui tip de
memorie astfel nct continutul acesteia sa nu se piarda atunci cnd sistemul este nchis.
DRAM - RAM dinamic
SRAM - RAM static
NVRAM - RAM nevolatil. E un tip de chip de memorie care nu-si pierde continutul atunci cnd alimentarea e
ntrerupta. NVRAM e folosit n computere, router-e si alte dispozitive electronice pentru a stoca setari. Astazi,
NVRAM-ul este, de obicei, memorie Flash, utilizata n principal la celulare si mp3 player-e portabileP3 players
bazate pe diverse tehnologii. Memoria non-volatila include ROM, memoria flash, dispozitivele de stocare
magnetica, optica si metode de stocare promitive. Memoria nevolatila este utilizata de obicei pentru stocare
secundara. Stocarea primara utilizeaza o forma de RAM volatil, ceea ce nseamna ca la nchiderea sistemului
ntreg continutul RAM-ului e pierdut. Din pacate, cele mai multe forme de NVRAM au limitarile lor ceea ce le face
nepotrivite pentru memoria interna. De obicei NVRAM costa mai mult sau are performante mai scazute dect
RAM-ul volatil. Cteva companii lucreaza la dezvoltarea de sisteme de memorie nevolatile comparabile n viteza
si capacitate cu RAM-ul. De exemplu IBM dezvolta MRAM (Magnetic RAM). Aceasta tehnologie, nu doar va
economisi energie, ci va permite calculatoarelor sa fie aprinse si stinse prin apasarea unui buton, ocolind
secventa lenta de pornire (start-up). Memoria nevolatila, va elimina, probabil, nevoia de sisteme de memorie
externa lente, cum ar fi hard-disk-urile.
VRAM - RAM video
SDRAM - DRAM sincron
DDRAM (Double Data Rate SDRAM) - DRAM cu rata de transfer dubla

1.3.3 Packaging (capsule) pentru memorie


- Dual In-line Package (DIP) - chip traditional "tip gza" cu 8, 14, 24, 40 sau mai multe picioruse
de metal (mpartite n mod egal ntre partile dreapta si stnga). Se instaleaza n orificii din
suprafata unei placi cu circuite. DIP-urile pot fi instalate n socket-uri speciale sau sudate (mbinate prin lipire).
- Single In-line Package (SIP) - chip asamblat astfel nct "piciorusele" conectoare sunt amplasate n linie
dreapta.
- Zigzag In-line Package (ZIP) - similar cu SIP fiecare pin conector fiind usor
nclinat crendu-se astfel un model n zigzag.
- Single In-line Memory Module (SIMM) si Dual In-line Memory Module (DIMM) - circuite logice individuale
instalate pe propria lor mica placa de circuite. Aranjamentul fizic faciliteaza ca instalarea si nlocuirea sa fie
simple.
- Circuite integrate (Integrated Circuits, IC) - memorie ntr-un card asemanator cu PCMCIA ce se conformeaza
standardelor JEDEC
- Small Outline J-Lead (SOJ) - o forma comuna de DRAM montat pe suprafata; o capsula dreptunghiulara cu
conectori de forma literei J pe partile mai lungi ale capsulei.

- Thin Small Outline Package (TSOP) - o capsula de DRAM cu conectori de forma ondulata
pe ambele parti. Are grosimea la o treime din grosimea standard a capsulei SOJ. E folosita
pentru SO-DIMM-uri sau PC-Carduri.

1.3.4 Dinamic Random Access Memory (DRAM)


Este utilizata pentru memoria de baza, memoria video, controller-e de disk si disk-uri
DRAM-ul trebuie mprospatat constant ceea ce impune ntrzieri ntre accese astfel nct ncarcaturile sa se
stabilizeze. Memoria poate fi accesata doar atunci cnd nu este remprospatata (refreshed).
Refresh (remprospatare) - ncarcarea continua a unui dispozitiv ce nu-si poate pastra continutul.
Un parametru masurabil important pentru memorie este timpul de acces care reprezinta diferenta de timp dintre
momentul cnd procesorul trimite o instructiune de citire a datelor de la o anumita adresa din memorie si
momentul cnd procesorul primeste aceste date.
Perioade de acces la DRAM: 50 - 150 ns (fata de SRAM care are n jur de 10 ns). SRAM.
Accesul normal la memorie: pre-ncarcare, acces, post-ncarcare.
Un chip DRAM consta dintr-o matrice de celule de memorie fiecare dintre ele continnd un bit de informatie. O
celula e formata dintr-un condensator (un circuit care retine o ncarcatura electrica) si un tranzistor (ce se
comporta ca un comutator). Pentru a selecta bit care se vrea a fi citit. nti o tensiune mica se aplica
ntregului rnd (linie) selectnd astfel toti bitii din acel rnd apoi coloana corespunzatoare e aleasa. Acestea iau
timp si deci o parte importanta din timpul de acces vine din selectarea bitilor.
Controller-ele de memorie "sparg" adresele de memorie (de obicei n format 32 biti) n RAS (Row Adress Strobe esantion de adresa a rndului) si CAS (Column Adress Strobe - esantion de adresa a coloanei). La o operatiune
de tranzactie n cascada (o singura adresa urmata de transferuri multiple de date) controller-ul efectueaza de fapt
adresari RAS-CAS, CAS, CAS, CAS. Timpul de efectuare a acestora este masurat n cicli de ceas. CAS2 sau
CAS3 nseamna 2, respectiv 3 cicli de ceas pentru CAS. Altii folosesc denumirea de CL(2, 3) (CAS Latency time)
- mai corecta. Timpii de latenta apar sub forma (RAS+CAS)-CAS-CAS-CAS, de exemplu 5-3-3-3 ceea ce
nseamna RAS=2 si CAS=3 (2+3=5).
Numarul de linii si numarul de coloane au de obicei valori apropiate. Valoarea lor este data si de capacitatea
canalului de transfer al datelor. Termenul x4 semnifica 4 introduceri/extrageri de date. Asta semnifica faptul ca
chip-ul de memorie are un canal de 4 bits. Daca e necesar transferul a 8 bits pe un singur chip x4 e nevoie de 8
transferuri (8x4=32).
Vnzatorii de DIMM-uri au nceput sa faca diferenta ntre module de rang 1 sau rang 2. De obicei asta nseamna
ca DIMM-urile au chip-uri pe o parte sau pe ambele. Chip-urile registered (nregistrate oficial) sunt de tipul x4 sau
x8. n cazul DIMM-urilor x4 vom avea o latime de 36 de biti pe fiecare parte (8+1 de paritate) iar controller-ul va
avea nevoie de 72 de biti pentru a adresa ambele parti pentru a scrie sau citi. Astfel un modul x4 cu 2 parti va fi
de rang 1. Pentru DIMM-urile registered x8 fiecare fata are o latime de 72 biti, de aceea controller-ul de memorie
adreseaza doar o fata la un moment dat (cele cu 2 fete sunt de rang 2).
Memorie de x ns - aceasta marime este direct dependenta de frecventa maxima a bus-ului de sistem pe care o
suporta memoria sau marimea minima a ciclului de ceas la care poate functiona. Formula de calcul este
1/frecventa memoriei. De exemplu o memorie care functioneaza la 200 MHz FSB este o memorie de 5ns
(1/200MHz=1/200*106=5*10-9=5ns).
Un exemplu: Memoria KINGMAX DDR 466, IC: 32Mbx8 cu o singura fata (rang 1)
DDR 466 - frecventa maxima la care functioneaza
IC: 32Mbx8 - capacitatea fiecarui chip. Fiecare chip are un canal x8. n total vom avea canal x64 (8 chip-uri). Pe
fiecare canal exista o capacitate de 32Mb ori 8 canale/chip = 256Mb pe chip ("densitate") ori 8 chipuri = 256 MB
(capacitatea totala a memoriei)
Numar de linii si coloane: 13/10 ((210)13=102413=(10242)*23=8Mb ori 4 bankuri = 32Mb pe chip).

Rata de refresh este de ordinul milisecundelor (ntre 5 si 10 ms).


Voltajul este de 2.5v.
Lungimea "cascadei": 2, 4, 8 (date citite n succesiune).

1.3.5 Tipuri de DRAM


Fast Page Mode (FPM) - un rnd din DRAM este pastrat "deschis" astfel nct citiri succesive sa nu sufere
ntrzierea datorata alegerii unui nou rnd. Aceasta creste performanta sistemului la citiri n cascada. Se folosea
pna prin 1996.
Extended Data Out (EDO) - similara cu FPM cu facilitatea n plus ca un nou ciclu de acces poate fi deschis cu
pastrarea celui vechi nca n functiune. Asta permite o oarecare doza de suprapunere de operatii (overlap,
pipelining). Are performante cu 5% mai bune dect FPM pe care a nceput sa-l nlocuiasca ncepnd din 1993.
Burst Extended Data Out (BEDO) - varianta evoluata de EDO. Poate procesa 4 adrese de memorie ntr-o singura
cascada. Cu toate ca demonstra performante sensibil superioare EDO, piata s-a ndreptat spre SDRAM dezvoltat
cam n aceeasi perioada.
Synchronous Dynamic RAM (SDRAM) - se deosebeste de DRAM-ul clasic prin faptul ca functioneaza pe baza
ciclurilor de ceas pentru a actiona n virtutea schimbarii controlurilor. Asta permite chip-ului sa aiba o paleta de
operatii mult mai complexa. Permite pipelining complex. A nceput sa fie folosita n 1997 si pna n 2000 a nlocuit
DRAM-ul clasic datorita performantelor superioare.
DDRAM - o dezvoltare ulterioara a SDRAM folosita ncepnd cu 2000. Reactioneaza la ambele schimbari de
tensiune din cadrul unui ciclu de ceas (de la tensiune nalta la tensiune scazuta si invers) spre diferenta de
SDRAM clasic (care ca majoritatea circuitelor reactioneaza la tranzitia de la tensiune joasa la tensiune nalta
ignornd cealalta tranzitie) njumatatind astfel numarul de cicluri necesar efectuarii operatiilor. Tehnologia permite
astfel si timpi CAS (latency) nentregi (cu jumatati de ciclu) - 2,5 de exemplu. Standardul DDR evolueaza catre
DDR2 si DDR-3 (care nca n-a fost standardizat nca).
DRDRAM (Direct Rambus DRAM) - numita si RDRAM este similara cu DDRAM, dar foloseste o metoda speciala
de signaling (semnalizare) dezvoltata de compania Rambus si astfel viteze mai mari. Sistemele P4 timpurii
contineau RDRAM, dar preturile au ramas mari astfel ca s-a mers n continuare pe DDRAM. Acest tip de memorie
e folosit la Playstation 2 si va fi si la Playstation 3. Acest tip de memorie este implementata ntr-o capsula
numita RIMM.
VRAM - este o versiune de DRAM cu 2 porturi folosita nainte pentru adaptoarele grafice, acum nvechita si
nlocuita cu SDRAM sau SGRAM. Un prim port este folosit ca DRAM-ul clasic pe cnd al doilea este doar de
citire folosit pentru a furniza informatia catre ecran.
SGRAM - este forma de SDRAM specializata pentru adaptoare grafice. Adauga functii specializate ca bit masking
(mascarea bitilor - scrierea pe un plan de biti fara a-i afecta pe ceilalti) si scriere n bloc (umplerea unui bloc de
memorie cu o singura culoare).
PSRAM (Pseudostatic RAM) - DRAM cu refresh si control al adreselor ncapsulat. Combina densitatea mare a
DRAM-ului cu usurinta de folosire a SRAM-ului. Anumite componente ale DRAM-ului au refresh nglobat ceea ce
permite sistemului sa suspende controller-ul de DRAM pentru a face economie de energie n modul stand-by.
WRAM - Window RAM

1.3.6 Dispozitive si tipuri de memorie folosite


Toate subsistemele calculatorului au nevoie de memorie pentru a-si stoca datele. Tabelul de mai jos ne arata tipul
de memorie si arhitectura ei pentru fiecare dispozitiv.

Subsistem

Tip

Arhitectura

L2 cache

SRAM

Asincron sau sincron

Memorie sistem

DRAM

SDRAM, DDRAM, DRDRAM

Placi grafice

DRAM

SDRAM, DDRAM, VRAM, SGRAM, WRAM,


DRDRAM

Controller de disk

DRAM

EDO, DDRAM

Disk

DRAM / Flash

BIOS

Flash

EEPROM

1.3.7 Performante n raport cu capacitatea memoriei


Capacitatea memoriei reprezinta un factor important n performantele calculatorului. Dar performantele nu cresc
n raport cu cresterea memoriei, cresterea performantelor fiind mai redusa dect cresterea aplicata cantitatii de
memorie a sistemului (sa nu ne asteptam, de exemplu, ca la dublarea RAM-ului performantele sistemului sa se
dubleze).
n continuare se va trata oportunitatea trecerii de la o memorie sistem de 1 GB la 2 GB comparatiile fiind realizate
pe 2 sisteme.
Platforma AMD
- Procesor: AMD Athlon64 FX57
- Placa de baza: Asus A8NSLI Premium
- Placa video: Nvidia GeFORCE 6600GT
- Hard Disk: Western Digital Caviar 250GB SATAII
Sistemul a fost testat cu urmatoarele configuratii ale memoriei:
- testarea cu 1 GB memorie: o pereche de doua module a cte 512 MB fiecare. Frecventa memoriei a fost setata
la 400 MHz cu o latenta setata la 2-3-2-6-1T.
- testare cu 2 GB memorie: o pereche de doua module a cte 1 GB fiecare. Frecventa memoriei a fost setata la
400 MHz cu o latenta de 2-3-2-6-1T.
Platforma Intel
- Procesor: Intel P4 540, 800MHz FSB, 3.2 GHz
- Placa de baza: Asus P5ND2-SLI
- Placa video: Nvidia GeFORCE 6600GT

- Hard Disk: Western Digital Raptor 36 GB


Sistemul a fost testat cu urmatoarele configuratii ale memoriei:
- testarea cu 1 GB memorie: o pereche de doua module a cte 512 MB fiecare. Frecventa memoriei a fost setata
la 800 MHz cu o latenta setata la 5-5-5-12-2T.
- testare cu 2 GB memorie: o pereche de doua module a cte 1 GB fiecare. Frecventa memoriei a fost setata la
800 MHz cu o latenta de 5-5-5-12-2T.
Teste Benchmark
- SiSoft Sandra 2005
- Super Pi
- 3DMark 2001
- Doom 3 timedemo, demo1
- Battlefield 2 Flight Demo (800x600) si (1280x1024)
- Adobe Premier Effects, DVD Encoding
De cnd memoriile dual channel PC3200 au aparut pe piata n prima parte a anului 2002, 1 GB RAM a devenit
standardul pentru computerele performante. Acest test arata ca pentru multe aplicatii 1 GB este nca punctul
limita, oricare ar fi platforma computerului.
n orice caz, odata ce jocurile si aplicatiile continua sa evolueze ca ntindere si complexitate, ncepem sa
observam situatii semnificative unde mai multa memorie ofera beneficii convingatoare. n unele cazuri, un joc de
referinta cu succes la public sparge gheata, de exemplu Battlefield 2. Probabil ca mult mai semnificativ, gheata
este sparta de aplicatiile utilizate, una dintre ele fiind DVD encoding, care devine tot mai popular printre marea
varietate a utilizatorilor casnici. Ne asteptam sa vedem aceasta tendinta continund n urmatoarele luni, odata cu
aparitia de noi jocuri, aplicatii si versiuni ale sistemelor de operare mult mai sofisticate.
Cresterea performantelor realizata n aplicatii real-world cum ar fi Battlefield 2 si Premier indica faptul ca
generatia curenta de sisteme performante va avea multe beneficii de pe urma utilizarii memoriilor de 2 GB.

1.3.8 Memorie cu paritate si fara paritate


Pentru a evita erorile de date n memorie se poate folosi memoria cu paritate (parity memory) sau ECC. Memoria
fara paritate nu permite detectarea sau corectarea erorilor.
n ultimii ani procesele de productie a memoriei DRAM s-au mbunatatit substantial, sugernd astfel ca
necesitatea paritatii ar trebui reevaluata. De exemplu, ntre DRAM-ul 16K din anii 1980 pna la cel de 16MB din
jurul lui 1995 fiabilitatea memoriei a crescut de 10000 de ori. De la primul PC s-a folosit memorie cu paritate.
Utilizarea paritatii la aceste sisteme era critica datorita SER (Soft Error Rate - rata de erori software) a
semiconductoarelor DRAM din acel timp. Aceste subsisteme de memorie puteau experimenta un SER la 60-70
de ore de operare pe cnd sistemele actuale ntmpina asa ceva la 12 pna la 25 de ani sau chiar mai rar la
sistemele din jurul lui 2000.
Paritatea e implementata adaugnd un bit aditional de DRAM la fiecare 8 bits care retine daca numarul de biti 1
este par sau impar. Asta duce la o crestere a costurilor cu 10 pna la 15%.

Datorita simplitatii sale paritatea este folosita n sistemele n care este posibila retransmiterea datelor - de
exemplu bus-ul SCSI sau cache-ul procesorului. Daca se observa ca paritatea nu corespunde cu informatia
efectiva se va determina retransmiterea informatiei. Nu se mai foloseste la memoria RAM.

Memoria fara paritate nu permite detectarea si corectarea erorilor. E cu 30% mai ieftina dect memoria cu
paritate. A fost folosita o perioada de timp pe PC-uri.
Memoria cu paritate detecteaza erorile de 1 bit (sau 3 biti, n general un numar impar de biti) si opreste sistemul
dupa detectare.

1.3.9 ECC
ECC = Error Checking and Correcting (verificare si corectare a erorilor) sau Error Correcting Code (cod de
corectare a erorilor).
Cu toate ca ECC e utilizat ca un termen generic exista mai multe modalitati de implementare a ECC pentru
memorii.
Verificarea erorilor are loc n DIMM-uri sau/si n controller-ul de memorie cu ECC cu ECC enabled. Functionarea
ECC poate produce o degradare a performantei sistemului cu pna la 10%. Corecteaza automat erorile de 1 bit
(98% din total) ca si unele de 2 biti si descopera toate erorile de 2, 3 si 4 biti oprind sistemul n acest caz. ECC
lucreaza asemanator cu paritatea genernd biti aditionali de control, nsa ntr-un numar diferit de cel pentru
memoria cu paritate, n functie de "largimea" bus-ului de date: pentru 16, 32, 64, 128 bits se vor folosi 6, 7, 8, 9
biti pentru ECC respectiv 2, 4, 8, 16 biti pentru paritate. ECC mbunatateste paritatea corectnd erorile fara
ntreruperi sau pierdere a datelor.
Erorile de memorie se pot datora bombardamentului de particule alpha, beta sau gamma, sau deteriorarii DIMMurilor pe parcursul timpului. Multe sisteme permit ca erorile de memorie sa fie logate. ECC se foloseste pe
servere.
S-a calculat ca n cazul folosirii memoriei ECC caderile de sistem sunt de 2000 de ori mai rare dect n cazul
memoriei cu paritate.

1.3.10 SIMM-uri si DIMM-uri


Memoria de baza este implementata de obicei cu SIMM-uri sau DIMM-uri.
SIMM

72 pini pe fiecare parte scurtati n perechi = 72 semnale

canal de date de 32 bits

utilizat n sisteme mai vechi

72, 88, 144, 168 sau 200 pini toti independenti

canal de date de 64 biti

DIMM

utilizat n sisteme actuale: desktop sau server

SO-DIMM (Small Outline DIMM)


-

72 pini (32 bit) sau 144, 200 pini (64 bit)

utilizat la laptop-uri

Tab - este contactul de pe un modul de memorie. IBM foloseste aur pentru acestea, dar ar putea fi si cositor. Mai
este numit si pin sau contact.
Bank - un set de chip-uri de memorie accesate simultan. Un bank de memorie nu e neaparat o fata a unui
SIMM/DIMM. Unele memorii sunt considerate ca fiind alcatuite dintr-un singur bank, dar au chip-uri pe ambele
parti.
Bank mai semnifica si zona de pe placa de baza care contine slot-uri pentru module de memorie. Bank-urile sunt
de obicei formate din doua fete, suportnd astfel modulele de memorie cu o fata sau doua. Bank-urile sunt
organizate n unitati reprezentnd numarul minim de chip-uri ce trebuie sa lucreze n tandem.
SIMM - Tab-urile de pe fiecare parte pot citi acelasi semnal deoarece sunt "scurtate" mpreuna. Acelasi semnal e
duplicat pe ambele fete. Un SIMM de 72 pini are astfel 72x2=144 de conectori, dar doar 72 de semnale
independente. Dar un DIMM cu 168 pini are tot attia conectori.

1.3.11 SRAM
Este utilizat de cache-ul L2.
Poate fi accesata oricnd deoarece chip-urile RAM nu necesita refresh.
Viteze: ntre 4 si 20 ns. Aceasta viteza face ca cache-ul sa poata tine ritmul cu procesorul; altfel s-ar pierde un
anumit numar de cicli de ceas ce l-ar ncetini.
Este utilizat si n memoria flash la PCMCIA sau memory stick. Acestea se comporta identic cu partitiile de disk.
Implementari: sudata de placa de baza, SIMM, DIMM, DIP sau carduri PC.
Chip-urile SRAM utilizeaza ntre 4 si 6 tranzistoare pe cnd DRAM foloseste doar unul pe bit.
Este mai usor de ncapsulat tranzistoare cu o densitate mai mare pe componente de memorie dect pe
componente logice.
Celulele SRAM stocheaza valorile 0 si 1 fortnd un tranzistor (comutator) sa fie deschis (1) sau nchis (0). Odata
ce bit-ul este stocat, comutatorul pastreaza starea de 0 sau 1 prin natura circuitului. E nevoie de un mare efort
pentru a muta accidental comutatorul n starea opusa. De fapt aceasta se ntmpla asa de rar nct se poate
presupune ca nu se ntmpla niciodata.

n comparatie, celula DRAM stocheaza 0 sau 1 prin cantitatea de electricitate stocata pe componenta numita
condensator (capacitor). O analogie comuna descrie condensatorul ca o galeata iar ncarcatura drept apa. Cnd
galeata e plina ea reprezinta 1, cnd e goala reprezinta 0. Marea problema e ca galeata DRAM are o gaura n ea.
Consecinta e ca o galeata plina devine cu timpul una goala. Adica 1 care a fost stocat acolo cu atta atentie
devine treptat 0. Pentru a mpiedica asta DRAM-ul trebuie sa fie remprospatat (refreshed). Din cnd n cnd
continutul fiecarei locatii de memorie trebuie verificat. Daca acolo este setat 0 locatia este lasata n pace; daca
este setat 1 capacitorul este rencarcat. Aceasta activitate de refresh trebuie sa se desfasoare regulat - suficient
de des pentru a ne asigura ca ramne suficienta sarcina electrica astfel nct un 1 sa fie recunoscut ca 1.

1.3.12 Memoria cache


Reprezinta un intermediar rapid ntre CPU si memorie (de baza) pentru a se evita accesul la memorie.
Cache-ul L1 e intern procesorului si functioneaza la frecventa interna (a procesorului).
Cache-ul L2 este actualmente intern (dar a fost si extern de-a lungul istoriei procesoarelor) si functioneaza la
frecventa bus-ului sistem.
Cache-ul L1 permite procesorului sa citeasca instructiunile si datele mult mai rapid dect daca procesorul ar
trebui sa acceseze memoria sistem. Prima data cnd instructiunile sunt utilizate sau datele sunt scrise ele sunt
transferate din memoria de baza n cache. Aceasta permite ca accesul viitor la date si instructiuni sa fie mult mai
rapid.
Dimensiunile cache-ului L1 sunt 8 KB sau 8 + 12 KB (Intel), 64 KB, 64 + 64 KB (AMD) iar ale cache-ului L2 sunt
256 KB, 512 KB, 1024 KB.
Cache-ul e ncarcat din memoria sistem cu cantitati de informatie numite linii de cache (cache lines) sau datum de
o marime ntre 8 si 512 bytes. O utilizare a unui singur byte din cache determina ca ntreaga linie sa fie ncarcata
n cache (daca nu se afla deja acolo). Cnd procesorul preda controlul bus-ului sistem cache-ul intra n modul
"snoop" (detectiv, copoi) si monitorizeaza toate operatiile de scriere. Daca anumite date din memorie sunt scrise
n cache linia de cache respectiva e invalidata.
Cnd procesorul efectueaza o citire a memoriei adresa datei e utilizata pentru a cauta data n cache. Daca data e
gasita (hit - lovitura, potrivire), e citita din cache si nu e folosit nici un ciclu din bus-ul extern. Daca data nu e
gasita (miss - pierdere, nepotrivire) se utilizeaza cicluri ale bus-ul sistem pentru a citi data. Daca adresa datei
lipsa se gaseste n spatiul cache-abil data este stocata n cache apoi se citeste restul liniei de cache.
Procesorul genereaza cereri de date mai repede dect poate memoria sistem sa le rezolve. Cache-ul contine mai
multe componente care mpreuna grabesc trimiterea datelor:
- Data cache RAM - cache-ul propriu-zis (date si instructiuni frecvent cerute de procesor)
- Tag RAM - acest director contine adresele din RAM ale datelor stocate n cache
- controller de cache - compara cererile procesorului cu adresele stocate n Tag RAM. Cnd se gaseste o potrivire
datele sunt returnate CPU din cache RAM. Daca nu se gaseste potrivire cererea e data mai departe catre
memoria de baza.
Cache Tags ("bucati" de cache) - fiecare linie de cache are un tag corespunzator care contine adresa de ordin
nalt (de pagina) a datelor din linia cache ca si niste bits de stare care arata ce tip de date exista acolo si care e
starea acelor date. Controller-ul de cache trebuie sa verifice daca informatia dorita se gaseste n cache si daca e
valida pentru ca procesorul s-o poata utiliza.
30% din toate operatiile de memorie sunt de scriere (restul de citire). n privinta scrierii exista 2 tipuri de politici:
write-through (scrie-prin) si write-back (scrie-napoi).
WRITE-THROUGH - procesorul SCRIE datele PRIN cache n memorie (se scrie si n cache daca linia de cache e
deja acolo). Efectul de caching e restrictionat doar la citirea memoriei.
WRITE-BACK - procesorul scrie catre cache si se ntoarce catre urmatoarea instructiune. Cache-ul pastreaza
datele write-back n cache si apoi le copiaza n memorie (n perioada de inactivitate a procesorului). Daca apare o

nepotrivire (write miss) datele nu sunt pastrate n cache, ci doar scrise n memorie (ca si la write-through). Are
performante mai bune dect write-through, dar e mai costisitoare. Performantele cresc cu aproximativ 10% fata
de politica write-through.
S-a observat ca mbunatatirea vitezei de executie a aplicatiilor creste cu pna la 30% datorita prezentei memoriei
cache (la nivelul procesoarelor PII de exemplu, 256KB de cache cresc cu 20-30%). Rata de potrivire (hit rate) nu
creste proportional cu marimea cache-ului. si performantele sistemelor cresc invers proportional cu frecventa
procesorului (ex.: de la 256 la 512KB cache L2 creste performantele cu 4% la Pentium 166MHz si 7% la Pentium
133MHz)

1.3.13 Memory Interleaving (alternare/ntretesere a memoriei)


Este o tehnica utilizata pentru a reduce timpul efectiv de acces al memoriei. Aceasta tehnica creste mult latimea
de banda a memoriei cnd accesul la memorie e secvential, de exemplu atunci la furnizarile de instructiuni
program.
Exemplu: 2 blocuri de memorie (64 bits fiecare) adresate separat, dar combinate ntr-un transfer de 128 bits.

Pre-ncarcare

acces

Post-ncarcare

64 bit

post

pre

64 bit

Acces normal la memorie

pre

64 bit

Post
= transfer de 128 bits

64 bit

Interleaving Two Way (doua cai)


Accesele la memorie sunt sincronizate astfel nct pe masura ce controller-ul citeste/scrie (de) pe bank-ul 1
adresa urmatorului cuvnt este prezentata bank-ului 2. Aceasta da bank-ului 2 un avantaj fata de procesul
normal. Analog, cnd bank-ul 2 e citit bank-ul 1 furnizeaza/stocheaza urmatorul cuvnt.
Alternarea e o metoda folosita pentru a suprapune accesele secventiale si a evita asteptarea ca un modul de
memorie sa revina pentru a fi accesat din nou.
Problema va fi ca trebuie ocupate mai multe slot-uri de memorie pentru ca acest procedeu sa functioneze, ceea
ce va creste costul upgrade-ului de memorie.

pre

64 bit

Post

Pre

64 bit

Post

pre

64 bit

post

Pre

64 bit

64 bit

64 bit

64 bit

64 bit

post
= 256 bits

Four Way Memory Interleaving

1.3.14 Producatori de memorie

Corsair Memory

http://www.corsairmemory.com/

Crucial
Technology

http://www.crucial.com/

Hynix

http://www.hynix.com/

Infineon
Technologies

http://www.infineon.com/

Kingston
Technologies

http://www.kingston.com/

Micron
Technology

www.micron.com

OCZ Technology

www.ocztechnology.com

Rambus

www.rambus.com

Samsung

www.samsung.com/Products/Semiconduct
or/Memory/index.htm

S-ar putea să vă placă și