Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
Upload






























MEMORIA

Informatica


MEMORIA

Acest capitolul trateaza memoria atât din punct de vedere fizic, cât si modul de organizarea logica, definind diferitele zone si utilizarile acestor zone din punctul de vedere al sistemului.



Memoria este spatiul de lucru al procesorului calculatorului. Ea este o zona de stocare temporara în care trebuie sa stationeze programele si datele cu care lucreaza procesorul. Stocarea în memorie este considerata temporara deoarece datele si programele ramân acolo numai atâta timp cât calculatorul are alimentare electrica sau nu este resetat. Înainte de a fi oprit sau resetat, orice date care s-au schimbat ar trebui sa fie salvate într-un dispozitiv de stocare permanent de un tip oarecare (de obicei un hard-disc), astfel încât sa poata fi reîncarcate din nou în memorie, în viitor.

Adeseori, memoria este denumita RAM, deoarece putem accesa în mod aleatoriu orice locatie de memorie. Când vorbim despre memoria unui calculator, ne referim, de obicei, la memoria RAM din sistem, ceea ce înseamna în principal cipurile sau modulele de memorie care servesc la stocarea programelor si datelor active utilizate de procesor. Acest lucru este adeseori confundat cu termenul de "stocare", care ar trebui folosit atunci când ne referim la elemente cum sunt unitatile de disc.

Prin memorie RAM, se pot întelege atât cipurile fizice care formeaza memoria dintr-un sistem, cât si dispunerea si maparea logica a acestei memorii. Maparea si dispunerea logica a memoriei reprezinta modul în care adresele de memorie sunt alocate la cipurile propriu-zise si la relatia dintre locatiile adreselor si tipurile de informatii din sistem.

Prin lansarea unui program de calculator, fisierele sunt aduse în memoria RAM, iar programele de calculator rezida în memoria RAM atâta timp cât ele ruleaza. Unitatea CPU executa instructiunile programate în RAM si de asemenea, stocheaza rezultatele în RAM. Daca executam o salvare a unui fisier instruim programul sa stocheze continutul memoriei RAM pe hard-disc.

Din punct de vedere fizic, memoria principala dintr-un sistem este un ansamblu de cipuri sau de module ce contin cipuri si care sunt de obicei introduse într-un conector de pe placa de baza.

TIPURI DE MEMORIE

Într-un calculator personal exista trei tipuri de memorie:

1. ROM (Read Only Memory) - memorie numai cu citire

2. DRAM (Dynamic RAM) - memorie dinamica cu acces aleatoriu,

3. SRAM (Static RAM) - memorie statica cu acces aleatoriu.

1. Memoria ROM

Read Only Memory este un tip de memorie care poate retine datele în mod permanent sau semipermanent. Ea se numeste read only deoarece este imposibil sau dificil de scris în aceasta memorie. În memoria ROM se stocheaza instructiunile de pornire a calculatorului, deci softul de initializare a sistemului.

Din punct de vedere tehnic, memoria ROM este un subansamblu al memoriei RAM din sistem, deci o parte din spatiul de adrese al memorie RAM este mapata într-unul sau mai multe cipuri ROM. Acest lucru este necesar pentru a contine softul care permite pornirea calculatorului. Atunci când un calculator este pus sub tensiune, procesorul sare automat la adresa FFFF0h, asteptându-se sa gaseasca instructiuni care sa-i spuna procesorului ce sa faca. Aceasta locatie se afla exact la 16 octeti de la sfârsitul primului megaoctet de spatiu RAM si sfârsitul memoriei ROM.

În mod normal, memoria ROM a sistemului începe de la adresa F0000h, care se afla cu 64 K înainte de sfârsitul primului megaoctet. Deoarece, de obicei, cipul ROM are o dimensiune de 64K, programul ROM ocupa în întregime ultimii 64K ai primului megaoctet, inclusiv adresa de pornire FFFF0h. Pornirea calculatorului se face, deci, prin executarea unor instructiuni aflate la 16 octeti fata de sfârsitul memoriei ROM unde programatorul ROM a plasat o instructiune de tip JMP (jump), astfel încât procesorul sa execute un salt la începutul real al memoriei ROM, în majoritatea cazurilor aproape de F0000h, care este cu aproximativ 64 K în avans în harta memoriei.

Memoria principala ROM BIOS este continuta dintr-un cip ROM de pe placa de baza, dar exista si placi adaptoare pe care sunt instalate memorii ROM. Memoriile ROM de pe placile adaptoare contin rutine auxiliare BIOS si drivere necesare pentru placa respectiva, în special pentru acele placi care trebuie sa fie active în procesul de pornire al calculatorului (boot), cum sunt placile video. Placile care nu necesita drivere active în timpul pornirii nu au, în mod normal, o memorie ROM, deoarece aceste drivere pot fi încarcate ulterior de pe hard-disc, în timpul procesului de pornire.

Deoarece sistemul BIOS este portiunea principala a codului stocat în memoria ROM, aceasta este numita, adeseori, ROM BIOS. În calculatoarele mai vechi, memoria ROM BIOS de pe placa de baza putea fi compusa în total din 5-6 cipuri, dar cele mai multe calculatoare nu mai necesita decât un singur cip.

Placile adaptoare care necesita drivere de pornire sunt prevazute de asemenea cu memorie ROM. Printre acestea se numara placile video, cele mai multe placi SCSI (Small Computer System Interface) si unele placi de retea.

Cipurile ROM sunt foarte lente prin natura lor, având timpi de acces în mod normal de 150 ns (nanosecunde sau miliardimi de secunda), în comparatie cu timpii de acces DRAM de 60 ns sau mal scurti. Datorita acestui lucru, în multe sisteme, memoriile ROM sunt duplicate (shadowed), ceea ce înseamna ca sunt copiate în cipuri DRAM la pornire pentru a permite un acces mai rapid în timpul functionarii normale. Procedura shadowing copiaza continutul memoriei ROM în memoria RAM si apoi aloca acelui RAM aceeasi adresa pe care o folosea initial memoria ROM, dezactivând memoria ROM propriu-zisa în timpul procesului. Aceasta face ca sistemul sa functioneze ca si cum ar avea o memorie ROM cu viteza de 60ns (sau viteza pe care o are memoria RAM). Câstigul de performanta prin shadowing este adeseori foarte redus si poate cauza probleme daca nu este configurat corect, asa ca în majoritatea cazurilor se recomanda sa se trateze astfel numai sistemul BIOS al placii de baza si eventual cel al placii video, iar celelalte sa ramâna neschimbate.

Exista patru tipuri diferite de cipuri ROM:

- ROM- Read Only Memory - memorie numai pentru citit

- PROM- Programmable ROM - memorie ROM programabila

- EPROM- Erasable PROM - memorie PROM care poate fi stearsa

- EEPROM- Electrically Erasable PROM - memorie ROM care poate fi stearsa electric, denumita si Flash ROM.

Memorille ROM cu masca (Mask ROM)

La început, cele mai multe memorii ROM erau fabricate având valorile 0 si 1 integrate în pastila. Pastila reprezinta, de fapt, cipu1 din siliciu. Acestea se numesc memorii ROM cu masca, deoarece datele sunt inscriptionate în masca cu care este realizata pastila ROM prin procedeul fotolitografic. Aceasta metoda de fabricare este economica daca se fabrica sute sau mii de cipuri ROM cu exact aceleasi informatii. Daca însa trebuie sa se modifice un singur bit, trebuie sa se refaca masca, ceea ce este o operatiune costisitoare. Datorita costurilor si lipsei de flexibilitate, în prezent aceste memorii ROM cu masca nu se mai folosesc.

Memoriile PROM

Memoriile PROM sunt tipuri de ROM care sunt goale în stare noua si trebuie sa fie programate cu datele dorite. Memoria PROM a fost inventata la sfârsitul anilor '70 de catre firma Texas Instruments si a existat la dimensiuni de la 1 K (8 Kocteti) pâna la 2 M (16 Mocteti) sau mai mari. Aceste memorii pot fi identificate dupa numerele de reper care au, de obicei, forma 27nnnn, în care 27 indica memoria de tip PROM, iar nnnn indica dimensiunea cipului în Kbiti. De exemplu, cele mai multe calculatoare personale care au folosit memorii PROM au fost furnizate cu cipuri 27512 sau 271000, care aveau 512 Kbiti (64 Kocteti) sau 1 Mbit (128 Kocteti).

Un PROM gol poate fi programat prin scriere. În mod normal, pentru aceasta, este necesar un aparat special numit programator de dispozitive, programator de memorii ROM sau arzator de memorii ROM.

Fiecare bit 1 binar poate fi considerat ca o siguranta fuzibila intacta. Cele mai multe cipuri functioneaza la 5 V, dar atunci când programam un PROM, aplicam o tensiune mai mare (de obicei 12 V) pe diferite adrese din cadrul cipului. Aceasta tensiune mai ridicata topeste (arde) fuzibilele din locatiile pe care le alegem, transformând orice 1 într-un 0. Desi putem transforma un 1 într-un 0, procesul este ireversibil (deci nu putem reface un 1 dintr-un 0). Dispozitivul de programare analizeaza programul care urmeaza sa fie scris în cip si, apoi, schimba selectiv bitii 1 în 0 numai acolo unde este necesar. Din acest motiv, adeseori, cipurile ROM sunt numite si OTP (One Time Programmable -programabile o singura data). Ele pot fi programate o singura data si nu pot fi sterse  niciodata. Operatiunea de programare a unui PROM dureaza de la câteva secunde la câteva minute, în functie de marimea cipului si de algoritmul utilizat de catre dispozitivul de programare.

Memoriile EPROM

O varianta de PROM care a fost foarte raspândita este memoria EPROM. Un EPROM este un PROM care poate fi sters. Un cip EPROM poate fi usor recunoscut datorita ferestrei transparente din cristalul de cuart a capsulei cipului, chiar deasupra pastilei.

EPROM-urile au aceeasi numerotare de forma 27xxxx ca si PROM-urile standard si sunt identice cu acestea din punct de vedere functional si fizic, cu exceptia ferestrei din cuart de deasupra pastilei. Scopul ferestrei este acela de a permite luminii ultraviolete sa ajunga la pastila cipului, deoarece EPROM-ul poate fi sters prin expunere la o lumina ultravioleta intensa.

Lumina ultravioleta sterge cipul prin provocarea unei reactii chimice care reface fuzibilele prin topire. Astfel, toate 0-urile binare din cip devin l, iar cipul este readus în starea initiala, de fabricatie, cu biti l în toate locatiile.

Memoriile EEPROM / Flash ROM

Un tip mai nou de memorie ROM este memoria EEPROM ( Electrically Erasable PROM. Aceste cipuri se numesc si Flash ROM si sunt caracterizate prin posibilitatea de a fi sterse si reprogramate chiar în placa cu circuite în care sunt instalate, fara a necesita un echipament special. Folosind un EEPROM sau un Flash ROM, se poate sterge si reprograma memoria ROM a placii de baza într-un calculator fara scoaterea cipului din sistem sau chiar fara deschiderea carcasei.

Cipu1 EEPROM sau Flash ROM poate fi identificat prin numarul de reper de tipul 28xxxx sau 29xxxx si prin lipsa ferestrei de pe cip.  Modernizarea memorie ROM de tip EEPROM poate fi facuta cu usurinta, fara a fi nevoie sa schimbam cipurile. În majoritatea cazurilor, programul ROM actualizat poate fi descarcat de pe situl Web al producatorului placii de baza, dupa care este necesara rularea unui program furnizat în mod special pentru actualizarea memoriei ROM.

2. Memoria DRAM

Memoria DRAM (Dynamic RAM) este tipul de cip de memorie folosit pentru cele mai multe memorii principale în calcu1atoarele PC moderne. Principalele avantaje ale memoriei DRAM constau în marea sa densitate, ceea ce înseamna ca putem introduce o multime de biti într-un cip foarte mic, ceea ce duce la scaderea costului.

Celulele de memorie dintr-un cip DRAM sunt condensatoare minuscule care retin o sarcina pentru a indica un bit. Problema memoriilor DRAM este aceea ca ele sunt dinamice si, datorita conceptiei lor, trebuie sa fie tot timpul reîmprospatate (refreshed); în caz contrar, sarcinile electrice din fiecare condensator individual al memoriei se vor scurge, iar datele se vor pierde. Dezavantajul consta în faptul ca aceasta reîmprospatare a memoriei ia din timpul afectat procesorului pentru alte activitati, deoarece fiecare ciclu de reîmprospatare necesita câteva cicluri ale unitatii CPU. În sistemele mai vechi, ciclurile de reîmprospatare necesitau pâna la 10% sau chiar mai mult din timpu1 total al procesorului, dar la sistemele moderne, care functioneaza la sute de megahertzi, ponderea reîmprospatarii este de 1% sau mai putin din timpul total al procesorului.

Memoriile DRAM sunt utilizate în sistemele PC deoarece sunt ieftine si pot fi realizate sub forma de cipuri de mare densitate, astfel încât o memorie de mare capacitate ocupa un spatiu redus. Datorita faptului ca memoria DRAM este lenta, în mod normal mult mai lenta decât procesorul, au fost dezvoltate multe tipuri diferite de arhitecturi DRAM pentru îmbunatatirea performantelor.

Vitezele memoriilor

Modul de specificare a vitezei si a performantelor memoriilor ar putea crea confuzii, deoarece viteza memoriei este exprimata, de obicei, în ns (nanosecunde), în timp ce viteza procesoarelor este exprimata în MHz (megahertzi).

O nanosecunda este definita ca o miliardime de secunda - un timp foarte scurt. Viteza procesoarelor si a sistemelor a fost exprimata în MHz (megahertzi), deci în milioane de cicluri pe secunda. Deoarece exprimarea vitezelor în acesti termeni diferiti creeaza confuzii, în tabelul de mai jos va fi prezentata relatia dintre nanosecunde (ns) si megahertzi (MHz), pentru anumite frecventele uzuale în domeniul calcu1atoarelor .

Frecventa de tact

Perioada



Frecventa de tact

Perioada

6 MHz

166 ns

120 MHz

8,3 ns

8 MHz

125 ns

133 MHz

7,5 ns

19 MHz

100 ns

150 MHz

6,6 ns

12 MHz

83 ns

166 MHz

6 ns

16 MHz

62 ns

180 MHz

5,5 ns

20 MHz

50 ns

200 MHz

5 ns

25 MHz

40 ns

233 MHz

4,2 ns

33 MHz

30 ns

250 MHz

4 ns

40 MHz

25 ns

300 MHz

3,3 ns

50 MHz

20 ns

333 MHz

3 ns

60 MHz

16 ns

350 MHz

2,8 ns

66 MHz

15 ns

400 MHz

2,5 ns

75 MHz

13 ns

450 MHz

2,2 ns

80 MHz



12 ns

500 MHz

2 ns

100 MHz

10 ns

550 MHz

1,8 ns

Dupa cum se poate vedea din acest tabel, pe masura ce frecventa de tact creste, durata ciclului scade. Analizând acest tabel, se poate vedea în mod clar ca o memoria DRAM, care este utilizata în sistemele PC obisnuite, de exemplu cu un timp de acces de 60 ns (ceea ce corespunde la cca. 16, 7 MHz) este cu totul nepotrivita daca este comparata cu frecventele procesoarelor, de 300 MHz si mai mari. Din aceasta diferenta a vitezei procesorului fata de viteza memoriei, rezulta numarul mare de stari de asteptare, în cazul nostru cca. 19. Pentru a reduce numarul necesar de stari de asteptare, exista mai multe tipuri de memorie mai rapida si de memorie imediata (cache).

Memoria DRAM Fast Page Mode (FPM)

Accesul la memoria DRAM standard se face printr-o tehnica numita paging (paginare). Accesul normal la memorie necesita selectarea unei adrese de linie si de coloana, ceea ce necesita timp. Tehnica paging permite un acces mai rapid la toate datele dintr-o anumita linie a memoriei, prin mentinerea aceleiasi adrese de linie si modificarea numai a coloanei. Memoria care utilizeaza aceasta tehnica este denumita memorie Page Mode sau Fast Page Mode. Alte variante ale tehnicii Page Mode au purtat denumirile de memorie Static Column sau Nibble Mode.

Pentru a îmbunatati în continuare viteza de acces la memorie, s-au dezvoltat sisteme care permit un acces mai rapid la memoria DRAM. Una din cele mai importante schimbari a fost implementarea accesului burst mode (în rafale) în procesoarele 486 si ulterioare. Ciclurile burst mode beneficiaza de avantajul faptului ca cele mai multe accese la memorie au o natura consecutiva. Dupa stabilirea adreselor de linie si de coloana pentru un anumit acces, folosind modul burst, accesul la urmatoarele trei adrese adiacente se poate face fara latente sau stari de asteptare suplimentare. Un acces burst este limitat, în mod normal, la un total de patru accese.

O astfel de situatie este descrisa adeseori prin succesiunea timpilor în numarul de cicluri pentru fiecare acces. Un acces tipic în modul burst al memoriei standard DRAM ar fi exprimat sub forma x-y-y-y, în care x este timpul pentru primul acces (latenta plus durata ciclului), iar y reprezinta numarul de cicluri necesar pentru fiecare acces consecutiv. În mod normal, memoria DRAM standard, de 60 ns, functioneaza cu o succesiune burst mode 5-3-3-3. Aceasta înseamna ca primul acces necesita în total cinci cicluri (pe magistrala unui sistem de 66 MHz, aceasta ar însemna în total circa 75 ns sau 5 cicluri x 15 ns), în timp ce ciclurile consecutive ar necesita, fiecare, câte trei cicluri (3 x 15 ns = 45 ns). Dupa cum se observa, succesiunea reala a timpilor în sistem este ceva mai scurta decât cea pentru care memoria este dimensionata din punct de vedere tehnic.

Memoria DRAM care admite tehnicile paging si burst este numita memorie Fast Page Mode (FPM). Termenul vine de la faptul ca accesele la memorie pe aceeasi pagina pot fi realizate cu mai putina latenta.

O alta tehnica pentru accelerarea memoriei FPM a fost cea numita interleaving (intercalare). Aceasta este o metoda în care doua bancuri separate de memorie sunt combinate într-unul singur, organizat sub forma de octeti pari si impari. În timp ce unul din bancuri este accesat, celalalt este preîncarcat, adica este selectata adresa liniei si a coloanei. Apoi, în timp ce primul banc din pereche termina returnarea datelor, cel de-al doilea banc din pereche termina perioada de latenta a ciclului si este gata sa returneze datele. Aceasta suprapunere a acceselor în doua bancuri reduce efectul latentei din ciclurile de preîncarcare si permite recuperarea mai rapida a datelor.

Memoria EDO RAM

Memoria EDO (Extended Data Out) este o forma modificata a memoriei FPM si este numita si Hyper Page Mode.  Ea consta din cipuri fabricate printr-o metoda speciala, care permite suprapunerea în timp a acceselor succesive. Denumirea ei (EDO) se refera în special la faptul ca, spre deosebire de FPM, iesirile datelor nu sunt dezactivate când controlerul memoriei elimina adresa coloanei pentru a începe ciclul urmator. Aceasta permite ciclului urmator sa se suprapuna cu cel precedent , economisind cca. 10 ns pe ciclu.

Efectul tehnicii EDO este acela de îmbunatatire a duratei ciclurilor prin faptul ca se permite controllerului de memorie sa înceapa o noua instructiune pentru o adresa de coloana în timp ce citeste datele de la adresa curenta.

Memoria EDO RAM permite succesiunea de cicluri burst mode 5-2-2-2, în comparatie cu succesiunea 5-3-3-3 a memoriei standard FPM. Aceasta înseamna ca pentru a efectua patru transferuri de memorie, EDO va avea nevoie de 11 cicluri ale sistemului, în comparatie cu 14 cicluri pentru FPM. De aici rezulta o marire a vitezei sistemului cu aproximativ 5%.

Memoria SDRAM

Memoria SDRAM (Synchronous DRAM ) este numita astfel deoarece ea functioneaza sincronizat cu magistrala sistemului. Memoria SDRAM furnizeaza informatii în rafale (bursts) de foarte mare viteza, utilizând o interfata de mare viteza comandata de ceas. Memorai SDRAM elimina cea mai mare parte a latentei implicate de memoria DRAM asincrona, deoarece semnalele sunt deja sincronizate cu ceasul placii de baza. Succesiunea timpilor pentru un acces burst va fi 5-1-1-1-1, deci patru citiri de memorie se vor realiza numai în 8 cicluri ale magistralei sistemului, fata de 11 cicluri pentru EDO si 14 cicluri pentru FPM.

În afara ca memoria SDRAM poate functiona în mai putine cicluri, ea poate admite si frecventa magistralei sistemului.

3. Memoria imediata (Cache) - SRAM

Memoria SRAM (Static RAM) este o memorie mult mai rapida decât memoria SDRAM. Datorita conceptiei SRAM nu mai necesita reîmprospatare si este suficient de rapida pentru a tine pasul cu procesoarele moderne.

Memoria SRAM este disponibila cu timpi de acces de 2 ns sau mai mici, ceea ce înseamna ca aceasta memorie poate tine pasul cu procesoare care functioneaza cu frecvente de peste 500MHz. Aceasta se datoreaza conceptiei SRAM, care necesita un grup de 6 tranzistoare pentru fiecare bit de stocat. Folosirea tranzistoarelor în loc de condensatoare fac sa nu mai fie necesare ciclurile de reîmprospatare, datorate pierderii sarcinii condensatoarelor în timp. Atâta timp cât exista alimentare electrica, memoria SRAM va retine ceea ce a memorat.

În comparatie cu memoria DRAM, memoria SRAM este mult mai rapida, dar are o densitate mult mai redusa si este mult mai costisitoare. Cipurile SRAM sunt mult mai mari datorita numarului mare de tranzistoare pe care le incorporeaza si deci, si mai scumpe.

Desi cipurile SRAM sunt prea costisitoare pentru a fi utilizate ca memorie principala pentru sistemele PC, s-a gasit o metoda de utilizare a acestora pentru a îmbunatati performantele sistemului. Astfel, s-a introdus numai o cantitate mica de memorie SRAM de mare viteza numita memorie imediata sau cache. Memoria cache functioneaza la viteza egale sau apropiata de cea a procesorului si reprezinta memoria din care acesta citeste si în care scrie în mod normal. În timpul operatiunii de citire, datele sunt reintroduse în avans în memoria cache de mare viteza din memoria DRAM, mai lenta.

Eficienta memoriei cache este exprimata sub forma "procentului de potriviri" (hit ratio). Acesta reprezinta raportul dintre "potrivirile cache" si numarul total de accesari ale memoriei. O potrivire cache are loc atunci când anumite date, necesare procesorului, au fost gasite în memoria imediata , nemaifiind necesare stari de asteptare pentru accesarea lor.

Pentru a reduce la minim situatiile în care procesorul este nevoit sa citeasca date din memoria principala, în sistemele moderne exista, de obicei, doua trepte de memorie cache, numite de nivel 1 (L1) si de nivel 2 (L2). Memoria cache de nivel 1 este denumita si memorie integrata sau interna, deoarece este incorporata chiar în procesor, ea functionând la frecventa procesorului. Memoria cache de nivel 2 este denumita si memorie externa, deoarece se afla în exteriorul cipului procesorului, ea functionând la frecventa placii de baza. La modelele mai noi de procesoare Pentium si aceasta memoria este o componenta a procesorului. Memoria este externa în raport cu pastila propriu-zisa a procesorului si este executata ca un cip separat montat în capsula procesorului.

De exemplu pentru un procesor Pentium III la 450 MHz, viteza memoriei cache de nivel 1 este de 400 MHz, iar cea de nivel 2 de 200 MHz, la o frecventa a placii de baza de 100 MHz.

Modulele de memorie SIMM si DIMM

Din punct de vedere fizic, primele sisteme aveau memoria instalata sub forma de cipuri individuale numite DIP (DUAL Inline Package). Primele sisteme At aveau 36 de socluri pe placa de baza pentru aceste cipuri individuale, iar ulterior astfel de cipuri aun fost instalate pe placi de memorie care se introduceau în conectoare de magistrala.

Ulterior au aparut modulele SIMM (Single In-Line Memory Module) si DIMM (Double In-Line Memory Module). Aceste mini placi se introduc în conectoare speciale aflate pe placa de baza. Cipurile individuale de memorie sunt lipite pe aceste module astfel încât demontarea sau înlocuirea lor este imposibila.

Calculatoarele compatibile IBM au doua tipuri fizice principale de memorii SIM: cu 30 de pini (pe 8 biti + 1 bit de paritate optional) si cu 72 de pini (pe 32 de biti + 4 biti de paritate optionali) cu diferite capacitati si caracteristici. Memoriile DIMM care s-au raspândit începând cu sistemele Pentium MMX, sunt unitati cu 168 de pini, cu canale de date pe 64 de biti sau 72 de biti.

Modulele de memorie SIMM sau DIMM, indiferent de tipul si capacitatea lor de memorare, sunt fabricate în diferite variante constructive, care se deosebesc prin timpii de acces, de la 120 ns pentru cele mai lente la 50 ns pentru cele mai rapide. Memoriile DIMM sunt disponibile cu timpi de acces mai mici chiar de 10 ns.

ORGANIZAREA  LOGICĂ A MEMORIEI

Sistemul PC original avea un total de 1 M de memorie adresabila, cei 384 K aflati în partea superioara fiind rezervati pentru utilizarea lor de catre sistem. Asezarea acestui spatiu în partea superioara a memoriei de 1 M (între 640 K si 1024 K) si nu în partea ei inferioara (între 0 si 640 K) a creat ceea ce, în zilele noastre, este cunoscuta ca bariera de memorie conventionala. La aproape doua decenii dupa aparitia primului PC, chiar sistemele cele mai noi, bazate pe procesorul Pentium, sunt limitate foarte mult de harta memoriei de la primele sisteme PC.

Pe un calculator personal sunt exista mai multe tipuri de zone de memorie mai mari sau mai mici, unele putând fi accesate de programele de aplicatie, altele nu. În continuare sunt descrise în detaliu tipurile de memorie instalate pe un calculator modern, si anume:

- Memoria conventionala (de baza),

- Zona de memorie superioara (UMA),

- Zona de memorie înalta (HMA),

- Memoria extinsa,

- Memoria expandata (actualmente depasita),

- Memoria RAM video (face parte din UMA),

- Memoria ROM pentru adaptoare si memoria RAM cu destinatie speciala (face parte din UMA),

- Componenta ROM BIOS de pe placa de baza (face parte din UMA).

Într-un sistem pe 16 biti sau mai avansat, harta memoriei se extinde dincolo de limita de 1 M si poate continua pâna la 16 M la un calculator bazat pe procesoru1286, 4 G (4.096 M) la un sistem bazat pe procesoru1 386 sau chiar pâna la 64 G (65.536 M) la un Pentium II. Orice zona de memorie peste 1 M se numeste memorie extinsa.



În figura se prezinta locatiile de adresa logice pentru un sistem pe 16 biti sau mai avansat. Daca procesorul functioneaza în modul real, numai primul megaoctet este accesibil. Daca procesorul functioneaza în modul protejat, este accesibila întreaga memorie de 65.536 de megaocteti. Fiecare simbol reprezinta 1 K de memorie; fiecare linie sau segment reprezinta 64 K. Aceasta harta prezinta primii doi megaocteti de memorie a sistemului.

Memoria conventionala (de baza)

Sistemele initiale de tip PC au fost proiectate si realizate pentru utilizarea unui spatiu de memorie de 1 M, denumit uneori memorie RAM (Random Access Memory). Acest megaoctet de memorie RAM este împartit în mai multe zone, unele dintre acestea având utilizari speciale. Sistemul de operare DOS poate accesa (pentru scriere sau citire) întregul megaoctet, dar poate încarca programele numai în zona de RAM numita memorie conventionala, care avea valoarea de 512 K la data introducerii primu1ui sistem PC. Cealalta zona de 512 K a fost rezervata pentru utilizarea de catre sistem, incluzând memoria de pe placa de baza si placile adaptoare introduse în conectoarele sistemu1ui.

Dupa lansarea sistemului pe piata, firma IBM a decis ca pentru aceste utilizari rezervate sunt necesari numai 384 K si a început sa produca sisteme PC cu 640 K de memorie de utilizator. În acest fel, valoarea de 640 K a devenit un standard pentru memoria de utilizator (memoria care poate fi utilizata de sistemul de operare DOS pentru a rula programe) si este adeseori numita bariera de memorie de 640 K. Memoria ramasa dincolo de cei 640K a fost rezervata pentru a fi utilizata de placile grafice, alte adaptoare si de componenta ROM BIOS de pe placa de baza. Aceasta bariera afecteaza puternic softul pe 16 biti, cum sunt DOS si Windows 3.1, si este mult mai putin importanta în cazu1 softului de aplicatie si al sistemelor de operare pe 32 de biti, cum sunt Windows 95,98 si NT.

Zona de memorie superioara (UMA)

Prin zona de memorie superioara (Upper Memory Area, prescurtat UMA) se întelege zona de memorie rezervata, de 384 K, aflata în partea superioara a primului megaoctet al memoriei de sistem în cazu1 sistemelor PC/XT, si al primului megaoctet în cazul memoriei sistemelor AT. Adresele locatiilor din zona de memorie superioara sunt cuprinse între A0000 si FFFFF. Zona de memorie superioara de 384 K este împartita în felu1 urmator:

Primii 128 K de dupa memoria conventionala formeaza memoria RAM video, rezervata pentru a fi utilizata de catre adaptoarele video. Când sistemu1 afiseaza pe ecran text sau grafica, semnalele electronice care contin imaginea a ceea ce este afisat pe ecran, se memoreaza în memoria RAM Video. Memoriei RAM video îi sunt alocate adresele cuprinse între A0000 si BFFF.

- Urmatorii 128 K sunt rezervati pentru programele soft si programele BIOS de pe placile adaptoare, care se afla în cipurile de memorie ROM de pe unele placi adaptoare introduse în conectoarele de magistrala. Cele mai multe adaptoare video compatibile cu standardu1 VGA utilizeaza primii 32 K ai acestei zone de memorie pentru componenta BIOS incorporata în fiecare din ele. Restu1 acestei zone poate fi utilizat de oricare din celelalte adaptoare instalate. Multe adaptoare de retea folosesc de asemenea aceasta zona pentru o memorie RAM cu destinatie speciala, numita memorie partajata (shared memory). Memoriei ROM de pe placile adaptoare si memoriei RAM cu destinatie speciala îi sunt alocate adresele cuprinse între C0000 si DFFFF.

- Ultimii 128K sunt rezervati pentru componenta BIOS de pe placa de baza. Componenta BIOS este incorporata în memoria ROM de pe placa de baza. Tot în acest spatiu se afla autotestul efectuat la punerea sub tensiune (POST- Power-On Self-Test) si încarcatoru1 de sistem (bootstrap loader), care dirijeaza sistemu1 pâna la preluarea controlului de catre sistemu1 de operare DOS. Majoritatea sistemelor utilizeaza doar ultimii 64 K (sau mai putin) din acest spatiu, lasând primii 64 K sau mai mult la dispozitia programelor de gestiune a memoriei, în vederea redistribuirii. Unele sisteme includ în acest spatiu si programul CMOS Setup. Componentei BIOS de pe placa de baza îi sunt alocate adresele cuprinse între E0000 si FFFFF.

Majoritatea sistemelor de tip AT nu utilizeaza toti cei 384 K de memorie rezervata. De exemplu, conform standardului PC definit de firma IBM, memoria RAM video rezervata începe la adresa A0000, care se afla chiar la limita zonei de 640 K. În mod normal, aceasta memorie este utilizata pentru modul grafic VGA, în timp ce modurile monocrom si color text folosesc, respectiv, zonele B0000-B7FFF si B8000-BFFFF. Diversele tipuri de adaptoare video utilizeaza portiuni diferite ca marime din memoria RAM alocata, în functie de modul lor de lucru. Pentru procesor însa apare ca si cum ar fi întotdeauna aceeasi portiune de 128 K, indiferent câta memorie RAM exista, de fapt, pe placa video.

Desi zona superioara de 384 K a primului megaoctet a fost denumita, initial, memorie rezervata, este posibila utilizarea unor portiuni libere ale acestei zone pentru a încarca drivere de dispozitive periferice si programe rezidente în memorie (ca de exemplu MOUSE.COM); acest lucru elibereaza o parte din memoria conventionala care, altfel, ar fi utilizata de programele respective. Driverele de dispozitive pe 32 de biti, cum sunt cele utilizate sub Windows 95/98, NT si urmatoarele, nu sunt afectate de acest lucru, deoarece ele se încarca în memoria extinsa. Volumul de memorie superioara disponibila de tip UMA variaza de la un sistem la altul, functie de placile adaptoare instalate în sistem. De exemplu, adaptoare de retea solicita o portiune a acestei zone de memorie pentru memorii ROM incorporate sau memorii RAM cu destinatie speciala.

Adrese de segment si adrese liniare. Una din problemele care pot crea confuzii este diferenta existenta între o adresa de segment si o adresa liniara completa. Utilizarea adreselor de segment este necesara datorita structurii interne a procesoarelor Intel si este utilizata, în principal, de catre sistemele de operare mai vechi, pe 16 biti. Acestea utilizeaza un registru pentru adresa de segment si un alt registru pentru deplasament (offset).

În procesoarele Intel x86, este folosita o schema în care segmentul si deplasamentul sunt însumate intern pentru a da aceeasi adresa. Acest lucru poate provoca confuzii, în special atunci când se scriu programe în limbaj de asamblare sau în cod masina.

Acesta este exact modul în care lucreaza memoria segmentata într-un procesor Intel. Se observa ca numerele segmentelor si ale deplasamentelor se suprapun, în esenta, la toate cifrele, cu exceptia primei si ultimei cifre. Prin însumarea lor, aliniate în mod corespunzator, se poate obtine adresa liniara totala.

La sistemele de operare pe 32 de biti, adresa liniara este o adresa nedivizata în segment si deplasament. Ea este reprezentata de un singur numar si nu de suma a doua numere.

Memoria RAM Video. Un adaptor video instalat în sistem utilizeaza o parte din memoria sistemului pentru a stoca informatiile de afisat pe ecran (text sau grafica), dar, în mod normal, numai atunci când lucreaza în modul VGA de baza. O placa video poate avea incorporata pe placa o memorie de 4 M,8 M sau mai mare, dar cea mai mare parte din aceasta este utilizata de catre setul de cipuri video de pe placa si nu este accesata direct de catre procesor. Atunci când se afla în modul VGA de baza, ca de exemplu când este afisat prompterul DOS sau la functionarea în modul de siguranta din Windows, procesorul poate accesa direct pâna la 128 K din memoria RAM video. De asemenea, toate placile video moderne au incorporata pe placa o memorie BIOS, care face parte din spatiul de memorie rezervat pentru componenta BIOS a placii adaptoare. În general, cu cât sunt mai extinse performantele de culoare si de rezolutie ale unui adaptor video, cu atât mai mare este portiunea de memorie de sistem utilizata de adaptorul respectiv, dar, din nou, aceasta memorie suplimentara (peste 128 K) nu este accesibila în mod normal de catre procesor. În loc de aceasta, sistemul instruieste cipul video ce sa afiseze, iar cipul video genereaza imaginea punând datele direct în memoria RAM video de pe placa.

În cadrul organizarii logice standard a memoriei sistemului, este rezervata o zona de 128 K pentru a fi utilizata de catre placa video la stocarea informatiei afisate în mod curent pe ecran. Memoria video rezervata în acest scop este dispusa în segmentele A0000 si B0000. Memoria ROM pentru adaptorul video foloseste un spatiu suplimentar din zona de memorie superioara în segmentul C0000.

Amplasarea memoriei RAM video este cea care determina bariera de memorie conventionala DOS, de 640 K. Sistemul de operare DOS poate utiliza întreaga memorie continua disponibila în primul megaoctet de memorie, pâna când se ajunge la memoria RAM a adaptorului video.

În figura este reprezentata harta memoriei pentru adaptoare VGA si SVGA:

Memria ROM de pe placile adaptoare si memoria RAM cu destinatie speciala

Cea de-a doua portiune de 128K a zonei de memorie superioara, începând de la segmentul C0000, este rezervata pentru programe sau pentru componenta BIOS de pe placile adaptoare introduse în conectoarele sistemului. Aceste programe BIOS sunt înscrise în cipuri speciale de memorie ROM, al caror continut poate fi citit de sistem, dar nu si modificat. În prezent, cele mai multe adaptoare utilizeaza cipuri EEPROM (Electrically Erasable Programmable ROM) sau Flash ROM, care pot fi sterse si reprogramate chiar în sistem, fara demontarea cipului sau a placii. Actualizarea cipului Flash ROM este simpla si consta în rularea programului de actualizare obtinut de la producator si urmarirea indicatiilor de pe ecran.

Memoria ROM este utila pentru pastrarea programelor semipermanente care trebuie sa fie mereu prezente pe durata functionarii sistemului si în special pentru încarcarea sistemului de operare (boot). De exemplu, placile grafice, controlerele de hard-disc, placile de comunicatie si placile de memorie expandata sunt placi adaptoare care pot avea memorii ROM incorporate. Aceste memorii ROM ale adaptoarelor se afla într-o zona separata de memorie fata de zona RAM video VGA, precum si de memoria ROM de pe placa de baza.

Cele mai multe placi mai noi, în special placile Plug and Play, permit ca acesti parametri de configurare sa fie modificati prin programe care sunt furnizate o data cu placa sau prin aplicatia Device Manager, cuprinsa în unele din sistemele de operare mai noi, cum sunt Windows 98 sau NT.

Memoria BIOS de pe placa de baza

Ultimii 128 K rezervati din zona de memorie superioara sunt utilizati de componenta BIOS de pe placa de baza. Programele din componenta BIOS controleaza sistemul pe durata pornirii si ramân ca drivere pentru subsistemele hard pe durata functionarii normale a sistemului. Deoarece aceste programe trebuie sa fie disponibile imediat, la pornirea sistemului, ele nu pot fi încarcate dupa discuri sau alte dispozitive de memorare.

Memoria BIOS standard a sistemului utilizeaza numai segmentul F0000 (64 K). În aproape toate cazurile, restul zonei BIOS (segmentul E0000) este liber si poate fi utilizat ca spatiu liber de memorie superioara.

Memoria extinsa

Pentru ca un sistem sa acceseze memoria aflata dincolo de primul megaoctet, procesorul trebuie sa functioneze în modul protejat - modul de lucru natural al procesoarelor 286. Pe sistemele 386 sau mai puternice, procesoarele functioneaza în modul de lucru real virtual, care permite divizarea memoriei extinse în zone de câte 1 megaoctet (fiecare zona având propria sa sesiune de lucru în modul real). De asemenea, modul de lucru real virtual permite executia simultana a mai multor astfel de sesiuni în zone protejate ale memoriei. Executia simultana a mai multor programe în modul real virtual este numita multitasking.

Deci memoria extinsa este în esenta toata memoria aflata dupa primul megaoctet si care poate fi adresata numai atunci când procesorul functioneaza în modul protejat.

Zona de memorie înalta (HMA)

Zona de memorie înalta (High Memory Area - HMA) este o zona de memorie pe 16 biti, având marimea de 64 K, aflata la începutul primului megaoctet al memoriei extinse. Ea poate fi utilizata pentru a încarca drivere de dispozitive si programe rezidente în memorie, eliberând astfel o parte din memoria conventionala necesara programelor care lucreaza în modul real. Numai un singur program (driver de dispozitiv sau program rezident în memorie) poate fi încarcat la un moment dat în zona de memorie înalta, indiferent de marimea respectivului program. Initial, în zona de memorie înalta putea fi încarcat orice program, dar Microsoft a hotarât ca în aceasta zona trebuie sa fie încarcat mai întâi sistemul de operare DOS si a inclus aceasta capacitate în DOS5 si în versiunile mai noi.

Zona de memorie înalta este extrem de importanta pentru toti cei care utilizeaza DOS 5 sau o versiune mai noua, deoarece aceste versiuni DOS îsi pot muta propriul lor nucleu (aproximativ 45 K de instructiuni) în zona respectiva. Aceasta se realizeaza simplu, prin încarcarea unui driver XMS (cum ar fi HIMEM.SYS) si adaugarea liniei DOS=HIGH în fisierul CONFIG.SYS. Aceasta facilitate elibereaza înca 45 K de memorie conventionala (necesara programelor care utilizeaza modul de lucru real) prin mutarea a 45 K de programe în primul segment al memoriei extinse. Desi aceasta memorie trebuia sa fie accesibila numai în modul protejat, un defect în proiectarea procesorului original permite accesul la cea mai mare parte a primului segment din memoria extinsa chiar si atunci când procesorul functioneaza în modul real.

Utilizarea zonei de memorie înalta este controlata de catre driverul HIMEM.SYS sau de catre un driver echivalent.

Memoria expandata

Unele programe mai vechi pot utiliza un tip de memorie numit Expanded Memory Specification sau memorie EMS. Spre deosebire de memoria conventionala (primul megaoctet) sau de cea extinsa (de la cel de-al doilea pâna la al 16-lea sau a14096-lea megaoctet), memoria expandata nu poate fi accesata direct de catre procesor. Ea poate fi accesata numai printr-o fereastra de 64 K si prin mici pagini de 16 K stabilite în zona memoriei superioare (UMA). Memoria expandata este bazata pe o schema de comutare a bancurilor sau a segmentelor de memorie în care un adaptor de memorie specializat incorporeaza (pe placa de baza) un numar mare de segmente de 64 K, împreuna cu circuite speciale de comutare si de amplasare. Sistemul utilizeaza un segment liber din zona de memorie superioara ca adresa de baza pentru placa EMS. Dupa e acesti 64 K sunt umpluti cu date, placa adaptoare scoate din fereastra segmentul umplut si aduce în locul sau un nou segment, liber (fara date). În acest mod, avem o placa adaptoare ce  roteste în permanenta noi segmente ale memoriei expandate, pentru a fi umplute cu date. Deoarece, la un moment dat, nu poate fi vazut sau actionat decât un singur segment, memoria EMS este foarte ineficienta pentru programe si este utilizata, în mod normal, numai pentru date.





Document Info


Accesari: 7151
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )