TIPURILE DE MEMORIE DINTR-UN PC

08/07/2010 20:41

 TIPURILE DE MEMORIE DINTR-UN PC

În interiorul unui sistem de calcul sunt utilizate următoarele tipuri de memorie:
- RAM (memoria cu acces aleatoriu):
- DRAM (memorie dinamică), bazată pe condensatoare, necesită
întreţinerea activă prin reîmprospătare. Alcătuite din circuite bazate pe
semiconductoare.
- SRAM (memoria statică), permite curentului să-şi continue drumul,
operând ca un comutator care permite sau împiedică trecerea curentului
electric. Alcătuită din circuite bistabile cu tranzistori, miniaturizate.
- meoria doar pentru citire (ROM):
- ROM mască, foarte rar utilizate, programarea se face la fabricare,
costuri foarte mari.
- PROM, este un ROM doar pentru citire cu programare. Foloseşte
siguramnţele fuzibile ca elemente de programare, care se ard cu un
programator sau arzător de PROM-uri, procesul fiind ireversibil.
- EPROM, memoria ROM cu programare şi ştergere, au o fereastră în
partea superioară, acoperită cu o etichetă, se şterge la expunerea la
lumina naturală, raze ultraviolete.
- EEPROM, este un EPROM ce se pot şterge electric, poate fi modificată
doar de un număr finit de ori.
- memoria FLASH RAM, pot fi şterse şi reprogramate utilizând tensiunea
normală din PC. Au durată de viaţă finită, cele mai vechi trebuiau şterse
total înaintea refolosirii, numindu-se cu ştergere masivă.
WiNS – DMPC – Capitolul IIIb 115
- memoria virtuală, este o memorie simulată în spaţiul oferit de sistemele de
stocare masivă. Se utilizează un fişier pe hard numit fişier de schimb, care
poate fi temporar sau permanent.
C) ORGANIZAREA LOGICĂ A MEMORIEI
Clasificarea memoriei depinde cel puţin parţial de sistemul de operare rulat.
Din punct de vedere hardware, memoria fizică se împarte în mai multe clase,
ce pot fi modificate doar prin ajustări ale componentelor hardware.
În interiorul unui PC întâlnim următoarele zone distincte de memorie:
Memoria în mod real
Baza sistemului de meorie al unui PC este memoria ce poate fi adresată de
microprocesor în timpul rulării în mod real, numită memorie în mod real. Domeniul
de adrese începe de la 0, ultima adresă fiind cu puţin înainte de 1 megaoctet, adică
1048575 sau 0FFFFFH. Deoarece se află în partea de jos a domeniului de adrese se
numeşte memorie de bază.
Când modul real de lucru al procesorului a fost suplimentat cu cel protejat,
începând cu 286, spaţiul de adrese a fost lărgit cu unul nou, mai mare, peste limita de
1MB, ceea ce a dus la redenumirea memoriei de bază în memorie convenţională.
Memoria în mod protejat
Restul memoriei ce poate fi adresată de procesoarele moderne se numeşte în
mod protejat. Poate fi accesată de acestea doar în timpul rulării în modul protejat.
Domeniul de adrese se întinde de la limita de sus a memoriei în mod real până la
limita de adresare a procesorului (16 MB la 286 sau 4 GB la 386-Pentium).
Memoria joasă
La primul PC, IBM a rezervat jumătate din domeniul de adrese de 1MB
accesat de procesorul 8088, 512 K pentru codul BIOS al sistemului şi pentru accesul
direct al procesorului la memoria folosită de sistemul video. Jumătatea inferioară a
fost lăsată la dispoziţia programelor. Ulterior, aceasta a fost restrânsă la 384 K
utilizaţi pentru rutinele BIOS şi memoria video, iar 640 K au rămas pentru programe,
zonă numită şi memorie joasă.
Zona de date BIOS
IBM a rezervat primul K din memoria joasă pentru funcţii specifice
componentelor hardware şi sistemului de operare. Aceasta conţine datele folosite de
funcţiile BIOS şi este numită zona de date BIOS. Printre octeţii din partea de jos se
află vectorii de întrerupere şi bufferul de tastatură de 16 biţi (16 caractere).
Memoria superioară UMA
Domeniul de adrese de 384 KB, aflat deasupra memoriei joase din memoria în
mod real se numeşte memorie superioară, fiind un amalgam de RAM, ROM şi spaţii
116 WiNS – DMPC – Capitolul IIIb
libere. În majoritatea PC-urilor, primii 128 KB formează memoria RAM video,
următorii 128 KB sunt rezervaţi pentru programele BIOS de pe plăcile adaptoare iar
ultimii 128 KB ai memoriei superioare sunt ocupaţi de memoria ROM care conţine
codul BIOS al sistemului (de regulă doar 32 sau 64 de KB sunt ocupaţi efectiv).
Zona înaltă de memorie HMA
Microprocesoarele pot să adreseze mai mult de 1 MB de memorie în mod real
dacă au posibilitatea de a lucra cu memoria în mod protejat. Începând cu 286, dacă
linia a 21-a de adrese este activată, primul segment de adrese ce depăşeşte 1 MB este
mapat în memoria extinsă. Această linie de adrese A20 poate fi activată în timpul
operării în mod real folosind o instrucţiune de program.
HMA este memoria suplimentară de 64K minus 16 octeţi.
Memoria bufferului cache
Sistemele video ale calculatoarelor sunt mapate în memorie, astfel încât
culoarea fiecărui pixel de pe monitor este stocată într-o locaţie de memorie, la care
procesorul are acces direct. Memoria în care este păstrat un cadru complet al imaginii
se numeşte buffer de cadre. Pentru sistemele VGA începe imediat după limita de 640
KB a memoriei joase, iar pentru sistemele monocrom şi modul text începe cu 64KB
mai sus.
Memoria de duplicare
Ultimele generaţii de calculatoare permit accesul la memorie pe magistrale de
8, 16,32 şi 64 de biţi, ceea ce face ca anumite plăci de extensie să nu ţină pasul cu
viteza de acces cerută de memorie. Pentru a depăşi aceste bariere de viteză se
utilizează memoria de duplicare (shadow).
Memoria cache
Este utilizată pentru asigurarea legăturii între memoria principală şi
microprocesoare şi funcţionează ca un sistem distinct şi separat înafara controlului
programului. Pentru procesor, memoria cache are adresele datelor pe care le conţine.
Rolul acesteia este de a creşte viteza nu capacitatea sistemului de memorie al
sistemului.
Memoria extinsă XMS
Este toată memoria aflată după primul MB şi poate fi accesată doar când
procesorul lucrează în modul protejat. Pentru procesoarele 286 în sus se aplică
standardul XMS elaborat în 1987. Pentru ca memoria RAM să se conformeze
standardului XMS trebuie un driver instalat în CONFIG.SYS, numit HIMEM.SYS.
Memoria expandată EMS
Unele programe mai vechi utilizau memoria expandată, care nu poate fi
accesată direct de microprocesor, aceesul fiind realizat prin intermediul unei ferestre
de 64 KB stabilită în zona de memorie superioară.
TIPURI DE MEMORIE
1) Memoria cache
Cea mai cunoscută tehnică de accelerare a vitezei sistemului este utilizarea
cache-ului. Această tehnică interpune între procesor şi memoria principală un bloc de
memorie rapidă, de regulă SRAM de mare viteză. Un circuit special, controllerul
cachealimentează continuu memoria cache cu instrucţiunile şi datele cel mai probabil
să fie utilizate de procesor în continuare.
WiNS – DMPC – Capitolul IIIb 119
Dacă datele căutate nu se află ăn memoria cache sunt obţinute din memoria
RAM obişnuită, la viteza de lucru a acesteia şi avem o ratare a cacheului (cache
miss).
Memoriile cache diferă prin patru aspecte principale:
- dimensiune, cu cât este mai mare creşte posibilitatea existenţei datelor
accesate de procesor imediat
- modul de organizare logică, depinde de modul de organizare şi adresare a
memoriei, există trei opţiuni: mapare directă, complet asociativ şi asociativ
pe seturi.
- modul de localizare, interne sau externe procesoarelor. Cel intern se
numeşte primar L1, are maxim 64 K iar cel extern secundar L2 sau L3 şi
are 512 – 2 MB.
- modul de operare, pentru reducerea stărilor de aşteptarese utilizează
operarea în rafale. Sunt două tipuri de memorii cache: SRAM sincrone cu
operare în rafale (syncronous burst SRAM) şi SRAM cu canal şi operare în
rafale (pipelined burst SRAM).
Pentru a suplimenta memoria cache există cache-urile tip baghetă dezvoltate
de Intel – COAST Cache on a Stick.
Tehnologia DRAM
Pentru păstrarea numărului de conexiuni, liniile de adresarea celor mai multe
cipuri de memorie sunt multiplexate, acelaşi set de linii fiind folosit atât pentru
trimiterea adresei rândului cât şi coloanei. Pentru a diferenţia adresele de coloane de
cele de linii, cipul foloseşte două semnale CAS (Column adress strobe) şi RAS (Row
adress strobe).
Pentru a aceelera operaţiile cu memoria se utilizează următoarele tehnici:
- memorie RAM cu coloane statice, permit citirea datelor pe o singură
coloană fără stări de aşteptare,
- memoria RAM în mod pagină, este cea mai cunoscută tehnologie,
controllerul de memorie trimite mai întâi adresa unui rând apoi activează
120 WiNS – DMPC – Capitolul IIIb
semnalul RAS, cu acestaactiv trimite o nouă adresă şi activează semnalul
CAS pentru indicarea unei celule specifice.
- memoria EDO RAM (Extended Data Output), asigură suficientă viteză
pentru a elimina cache-ul secundar, însă cea mai bună performanţă se
obţine prin combinarea EDO cu cache secundar. Este o variantă a memoriei
în mod pagină, eliminând stările de aşteptare ale sistemului.
- memoria EDO RAM cu operare în rafale, Burst EDO DRAM sau BEDO,
execută operaţii de scriere citire în rafale sau în cicluri de ceas.
- memoria DRAM sincronă, SDRAM, lucrează sincronizat cu calculatoarele
gazdă, furnizând date la fiecare ciclu de ceas.
- memorie DRAM îmbunătăţită, EDRAM, cresc viteza de operare a
memoriilor dinamice cu acces aleatoriu prin includerea pe fiecare cip a unui
bloc de memorie statică de cache de 256 K, mai rapid.
- memoria DRAM cu cache, CDRAM, lansată de Mitsubishi, conţine un bloc
cache pe fiecare cip de 2 K.
- memoria Rambus DRAM, foloseşte un cache cu o memorie SRAM de 2048
octeţi, legată de memoria dinamică de pe un cip printr-o magistrală foarte
largă cxe permite transferul unei pagini întregi la un singur ciclu de ceas.
- memoria DRAM multibanc, împarte spaţiul de stocare al fiecărui cip în
bancuri.
- memoria video, folosită de sistemele de afişare ca buffer de cadre, are 2
forme: cu 2 porturi reale, ce permite scrierea şi citirea simultană şi VRAM
Video RAM cu acces aleatoriu la scriere şi citire.
- memoria Windows RAM, relativ nouă, WRAM creat de Samsung se
utilizează la sistemele video.
Constructiv, întâlnim următoarele tipuri de memorii:
- memorii direct pe placa de bază
- module SIMM cu 30 de pini, are nouă cipuri de memorie pe o singură placă,
capacitate de 256 KB, 1 MB şi 4 MB
WiNS – DMPC – Capitolul IIIb 121
Vechile memorii utilizau 9 biţi de stocare, 8 de date şi unul de paritate, cele
noi sunt doarcu 8 biţi, fără bitul de paritate.
- module SIMM cu 72 de pini, au următoarele dimensiuni:
Capacităţile cele mai cunoscute sunt 1, 4, 8, 16, 32 MB, pot fi atât EDO cât şi
FPM.
- modulele DIMM (Dual in Line Modules), au 168 pini, capacitatea 16, 32, 64,
128, 256 MB şi sunt utilizate exclusiv la sisteme cu procesoare Pentium,
Pentium II şi III.
Dimensiunile standard sunt:
122 WiNS – DMPC – Capitolul IIIb
Exisă şi varianta redusă, module DIMM de dimensiune mică, pentru unele
calculatoare de dimensiuni mici.
- modulele SIPP, folosesc conectori sub formă de pini, sunt identice cu
modulele SIMM de 30 pini, au două variante normală şi redusă.
WiNS – DMPC – Capitolul IIIb 123
E) DETECTAREA ŞI PREVENIREA ERORILOR
Majoritatea PC-urilor verifică fiecare bit de memorie în vederea detectării
erorilor hard la pornirea la rece a acestora.
Producătorii de memorie folosesc două metode de combatere a erorilor de
memorie: paritatea şidetectarea/corectarea erorilor.
1) Paritatea
La primele memorii, producătorii au adăugat un bit suplimentar pentru fiecare
octet de memorie, numit bit de verificare a parităţii cu rolul de a permite
calculatorului verificarea integrităţii datelor stocate de memorie.
Utilizând un algoritm simplu, bitul verifica numărul corespunzător de 1 şi 0, la
semnalarea unei erori, sistemul era avertizat.
În prezent s-a renunţat la verificarea parităţii.
2) Paritatea falsă
Sunt o metodă de reducere a costurilor memoriei pentru PC-urile cu verificare
a parităţii. În loc să verifice paritatea memoriei din modul, sistemul de falsă paritate
trimite permanent un semnal ce indică paritatea corectă a memoriei.
Are 2 dezavantaje: nu se deosebesc fizic şi nu oferă protecţie împotriva
erorilor de paritate.
3) Detectarea şi corectarea
Verificarea parităţii doar localizează o eroare de un bit într-un octet. schemele
mai elaborate de detectare a erorilor pot identifica erori mult mai grave pe care le pot
şi corecta fără blocarea sistemului.
Această schemă se numeşte cod de corectare a erorilor ECC error Corection
Code şi foloseşte 3 biţi suplimentari pentru fiecare octet stocat.
Toate PC-urile moderne folosesc ECC.