marți, 6 septembrie 2011

CURS 2 MEMORIA -Memoria primara

   Memoria principala (main memory, physical memory) este folosita pentru memorarea instructiunilor care vor fi executate de procesor, precum si a datelor folosite de acestea. Din punct de vedere al caracteristicilor de functionare, memoria principala este o memorie de tip volatil, adica pierde informatia în momentul deconectarii tensiunii de alimentare. Varianta constructiva care corespunde memoriilor volatile poarta numele de RAM (Random Access Memory, memorie cu acces aleator). Termenul de aleator provine datorita faptului ca locatiile memoriei pot fi accesate în orice ordine, în timp ce initial, memoriile puteau fi aceesate doar secvential, adica în ordinea locatiilor. Denumirea de RAM s-a pastrat pâna astazi, desi caracteristica principala a acestor memorii este ca pot fi scrise sau citite de un numar nelimitat de ori. Dupa principiul de functionare, exista doua tipuri de memorii RAM: statice (static
RAM, SRAM) si dinamice (dynamic RAM, DRAM). Memoriile SRAM sunt construite pe baza unor circuite numite bistabile (6 tranzistoare pentru un bit), sunt foarte rapide, având un timp de acces de 2 ns sau mai putin. În schimb, ocupa un spatiu relativ mare si au un pret ridicat. Sunt utilizate, asa cum se va vedea, la memoria intermediara. Memoriile DRAM sunt construite cu ajutorul unor capacitati care pot fi încarcate sau descarcate (1 tranzistor si un condensator pentru un bit). Deoarece sarcina tinde sa se piarda, memoriile DRAM trebuie reîncarcate (refresh) la fiecare câteva zeci de microsecunde. Au o densitate mai mare de biti per cip, din acest motiv fiind mai ieftine. Sunt însa mai lente decât cele de tip SRAM, având un timp de acces de zeci de ns (de la 50 ns, si mai recent 10 ns). Sunt folosite pentru implementarea memoriei principale la PC. La rândul lor, memoriile DRAM au fost concepute în mai multe variante, fiecare urmarind îmbunatatirea performantelor: FPM DRAM (Fast Page Mode DRAM) EDO RAM (Extended Data Out RAM). Aceste prime doua variante nu se mai folosesc în prezent. SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM), reprezinta o varianta îmbunatatita a memoriei SDRAM, deoarece realizeaza doua transferuri pe un ciclu de tact: unul pe front crescator, iar celalat pe front descrescator.

Pe lânga varianta initiala DDR SDRAM, au aparut variantele DDR2 si DDR3 SDRAM.

RDRAM (Rambus DRAM), este un tip de memorie complet nou, în care datele circula în pachete de 16 biti dar cu o viteza mai mare. A fost promovata pe piata în jurul anilor 2000 dar nu a avut succes, si ca urmare în momentul de fata este folosita relativ putin.O memorie RDRAM arata ca in imaginea alaturata:
         

              Din punct de vedere constructiv (fizic), memoriile DRAM sunt realizate sub forma de circuite integrate (cipuri), care au diferite capacitati de memorare si diferite viteze de transfer.




În prezent, varianta constructiva folosita în PC-uri pentru memoria principala este realizata pe o placa de dimensiuni reduse (modul), care contine 8 sau 9 cipuri, si un mare numar de contacte (pini). Aceasta placa se introduce într-un conector special existent pe placa de baza a PC-ului. Pentru primele tipuri de memorii, FPM si EDO, au fost folosite modulele SIMM (Single Inline Memory Module), care actualmente se folosesc mai rar. Memoriile de tip SDRAM si DDR SDRAM sunt realizate sub forma modulelor DIMM (Dual Inline

Memory Module). Ambele module, SIMM si DIMM au contacte (pini) pe ambele


fete, deosebirea fiind ca la SIMM contactele de pe o parte si de pe cealalta sunt identice (conectate între ele), în timp ce la DIMM sunt diferite. În plus, modulele SIMM contin memorii la care magistrala de date este de 32 de biti, iar cele de tip DIMM contin memorii cu 64 de biti. Un modul DIMM exista în diferite variante în functie de numarul de contacte: 100,...,204, 214, 240, corespunzând la diferite tipuri functionale (SDRAM, DDR, DDR2, DDR3) si capacitati. Trebuie mentionata si varianta SO-DIMM (Small Option DIMM), folosita pentru sisteme de mici dimensiuni (laptop, ruter, etc.) Oricare din aceste module pot avea capacitati de 128 MB, 256 MB, 512 MB, 1024 MB (1 GB), 2 GB sau 4 GB. Pe placa de baza a PC-ului exista 2, 3 sau 4 conectoare pentru astfel de memorii, în care pot fi introduse module, astfel rezultând capacitatea totala a memoriei. Trebuie precizat ca aceste tipuri de memorii nu sunt compatibile, în sensul ca nu se poate înlocui un tip de memorie cu un altul (de exemplu, o memorie DDR RAM cu una DDR2 RAM sau invers).
În aceste sens, în functie de principiul de functionare si numarul de pini, modulele DIMM au câte o crestatura (cele pentru DDR, DDR2 sau DDR3), sau 2 (pentru SDRAM) care permite montarea corecta în soclurile de pe placa de baza .

Fiecare placa de baza admite un anumit tip de memorie RAM, în functie de care contine soclurile (conectorii) adecvate.Capacitatea maxima a memoriei RAM care se poate pune într-un PC depinde însa de structura placii de baza a PC-ului.
Actualmente se pot pune memorii pâna la ordinul a 8-16 GB. Calculatoarele de tip server pot avea memorii de peste 16GB. Pe lânga capacitate, a doua caracteristica importanta a memoriilor este viteza. În prima faza, viteza este exprimata cantitativ prin timpul de acces (timpul necesar pentru realizarea transferului în/din memorie). Totusi, în practica, viteza este caracterizata adesea prin latimea de banda (bandwidth), adica cantitatea de informatie transmisa în unitatea de timp. Ea se determina prin produsul dintre frecventa semnalului de tact din magistrala de date a memoriei si numarul de octeti pe care se face transferul si se masoara în MB/s (1 MB/s reprezinta 106 octeti pe secunda!). Frecventa din magistrala memoriei poate sa fie identica sau nu cu cea din magistrala Front Side Bus (FSB), dar sigur mai mica decât cea a procesorului. De exemplu, la un procesor Pentium III cu frecventa procesorului de 1,2 GHz, folosind o memorie de tip SDRAM, frecventa magistralei memoriei este de 133 MHz., iar magistrala de date are 64 biti. Atunci, latimea de banda este: 133,33 MHz × 8 B = 1064 MB/s. Inversul frecventei de tact, adica 1/133,33 MHz=7,5 ns trebuie sa corespunda în acest caz cu timpul de acces al memoriei (acesta poate fi eventual mai mic). Pentru procesoarele dual core sau quad core frecventa magistralei (FSB) poate fi 1066 MHz sau 1333 MHz.Pentru a preciza viteza unui modul de memorie, se specifica de catre producator fie frecventa magistralei (PC 100, PC 133, pentru module SDRAM) sau latimea de banda (PC-1600, PC2-3200, PC3-6400 pentru module DDR-SDRAM).Latenta unei memorii se exprima sub forma unui sir de 4 numere, exprimate în cicluri de tact, tCAS-tRCD-tRP-tRAS. Aceste numere reprezinta întârzierile care se produc în procesul de accesare a memoriei si depind de modul în care este organizata o memorie,asemamator cu o matrice cu linii si coloane. Latenta poate influenta valoarea ratei de transfer, în sensul cresterii ei, daca de exemplu primul timp, tCAS (column acces strobe time) se micsoreaza prin intermediului programului de configurare BIOS setup. Acest lucru poate duce însa la instabilitatea sistemului.
Alte probleme legate de memorii:
-protectia antistatica (înainte de montarea în interiorul calculatorului, persoana respectiva trebuie sa se descarce de electricitate statica prin atingerea cu mâna a carcasei calculatorului);
-atasarea unor radiatoare sau ventilatoare în scopul racirii memoriilor
La fel ca si capacitatea maxima a memoriei, si frecventa magistralei de memorie, este o caracteristica a placii de baza. În functie de valoarea acesteia se aleg memoriile care se pot introduce pe o placa de baza. Informatia înscrisa în memoriile RAM poate fi afectata însa de erori, adica inversarea bitilor. Exista posibilitatea detectarii sau corectarii erorilor, însa aceasta necesita biti suplimentari, si, respectiv, costuri suplimentare.
O metoda pentru detectarea erorilor este paritatea. Astfel, la fiecare octet, se adauga un al 9-lea bit, a carui valoare este 1 daca cei 8 biti contin un numar par de valori 1 logic, sau 0 în caz contrar.
Exista trei tehnici de protectie împotriva erorilor la memoriile moderne:
-fara paritate, nu au practic nici o protectie împotriva erorilor;
-cu paritate, pot detecta erorile;
-ECC (Error Correcting Code), pot corecta erorile.
Când detecteaza o eroare de paritate, circuitele de verificare a paritatii de pe placa de baza, genereaza o întrerupere, care îndreapta atentia sistemului asupra erorii. Urmeaza lansarea în executie a unei rutine (program) din memoria ROM, care ofera optiunea alegerii între repornirea sistemului si ignorarea erorii.


 Memoria intermediara sau cache a fost introdusa în scopul cresterii vitezei de lucru a UCP. Ideea de baza a memoriei intermediare este
urmatoarea: cuvintele de memorie cele mai frecvent utilizate sunt pastrate în memoria intermediara; doar când UCP nu gaseste un cuvânt îl cauta în memoria principala. Problema care se pune este în ce mod si când se aduc cuvintele de memorie din memoria principala în cea intermediara. Controlerul de memorie cache îndeplineste aceasta functie. În acest sens, se stie  ca instructiunile unui program sunt continute în locatii de memorie succesive. Doar când se fac ramificatii sau apeluri de subrutine, octetii corespunzatori instructiunilor sunt în zone
diferite. Astfel, când un octet este referit de catre UCP, atât el cât si o parte dintre vecinii sai sunt adusi din memoria principala în memoria intermediara. În acest fel, la urmatoarele referiri, octetii sunt adusi din memoria intermediara, adica mult mai rapid.
O posibila dispunere a UCP, memoriei intermediare si memoriei principale este prezentata în figura alaturata:
 Din punct de vedere logic, memoria intermediara este între
UCP si memoria principala. Din punct de vedere fizic,
întreaga memorie intermediara se afla în UCP desi initial o parte a memoriei intermediare  era plasata pe placa de baza.

În momentul în care PC-ul începe functionarea, microprocesorul acestuia trebuie sa gaseasca undeva instructiunile necesare. Locul ideal pentru instructiunile respective este memoria de tip ROM (Read Only Memory, memorie doar pentru citire). Caracteristica principala a acestei memorii este ca pastreaza informatia si dupa deconectarea tensiunii de alimentare, din acest motiv ea se numeste nevolatila. În PC, memoria ROM are alocat un interval de adrese din spatiul memoriei RAM, adica se poate spune ca face parte din memoria RAM. Plecând de la varianta initiala ROM (care poate fi înscrisa o singura data de catre producator), au aparut apoi memoriile de tip PROM –  Programmable ROM (care pot fi scrise tot o singura data, dar de catre utilizator), EPROM-Erasable PROM (acestea pot fi sterse prin iradiere la o radiatie ultravioleta timp de 15 minute si bineînteles rescrise). În fine, varianta EEPROM – Electrical EPROM, poate fi stearsa electric, prin aplicarea unor impulsuri, în timp ce circuitul este pe placa în care functioneaza în mod normal. Înscrierea se face cu circuitul în acelasi loc, spre deosebire de EPROM care necesita scoaterea circuitului si introducerea într-un echipament special. EEPROM nu poate intra în competitie cu DRAM sau SRAM pentru ca este mai lent si mai scump. O varianta recenta de EEPROM este memoria flash, care poate fi scrisa si stearsa la nivel de blocuri de octeti, fiind folosita la camere video digitale telefoane sau alte aparate digitale.

La un PC, memoria ROM, este neceesara pentru înscrierea unui software numit ROM BIOS (Basic Input Output System)

sau simplu BIOS. BIOS-ul contine programele de pornire si driverele care actioneaza ca interfata cu hardware-ul de baza din sistem (tastatura, hard disc, unitatea de discheta, etc.). În afara de cipul ROM de pe placa de baza, exista cipuri ROM si pe unele placi adaptoare cum ar fi placa video.


Pe placa de baza mai exista o memorie numita RAM CMOS. Aceasta contine parametrii ceasului de timp real (data, ora) precum si parametrii de configurare (pentru hard disc, etc.). Cipul RAM CMOS pastreaza informatia la deconectare, deoarece este alimentat de la o baterie. Tehnologia CMOS permite un consum foarte mic (1 microA). O parte a programului BIOS, numita BIOS setup, citeste acesti parametri sau permite utilizatorului sa-i modifice. Capacitatea acestei memorii este de 64 octeti. Pe lânga varianta clasica cu baterie separata (de litiu, miniaturala), exista si variante constructive care contin în aceeasi capsula circuitul RAM CMOS cât si bateria. Capacitatea cipului ROM care contine BIOS-ul este în mod uzual de 128 KB, dar poate ajunge la 256 KB, 512 KB sau chiar câtiva MB, si este realizat în tehnologie
EEPROM sau flash EEPROM. Rularea de catre PC a BIOS-ului se face la conectare si are ca scop final încarcarea sistemului de operare.
Deoarece este realizata într-o tehnologie Flash EEPROM, tot aici trebuie amintita memoria numita Memory Stick sau USB mini drive. Este realizata pe un dispozitiv de dimensiuni reduse, se conecteaza la portul USB  al calculatorului. Are capacitati de ordinul 1 GB, 2 GB sau 4 GB sau chiar 16 GB.




Niciun comentariu:

Trimiteți un comentariu

Rețineți: Numai membrii acestui blog pot posta comentarii.