Documente Academic
Documente Profesional
Documente Cultură
Memoria Cache
Reprezinta o memorie rapida care serveste ca zona de tampon intre memoria
principala si procesor. Cache-ul retine datele care au fost recent folosite de catre procesor si
evita intoarcerea datelor inapoi in memoria principala (mai lenta decat cache-ul) si astfel
datele sunt procesate mult mai repede. Atunci cnd UCP ncearc citirea unui cuvnt din
memorie, se testeaz dac respectivul cuvnt se afl n memoria cache. n caz afirmativ,
cuvntul este furnizat unitii centrale. n caz contrar, se ncarc n memoria cache un bloc al
memoriei principale, constnd dintr-un numr fix de cuvinte, iar apoi cuvntul este returnat
unitii centrale. Atunci cnd este adresat un cuvnt, acesta este transferat din memoria lent
n memoria cache, astfel nct la urmtoarea utilizare va putea fi accesat n mod rapid.
Atunci cnd este ncrcat un nou bloc n memoria cache, unul din blocurile
existente n aceast memorie trebuie nlocuit. Este necesar un algoritm care s selecteze
blocul care va fi nlocuit. Se prezint principalii algoritmi utilizai.
LRU (Least Recently Used): Se nlocuiete blocul care a fost cel mai puin recent
utilizat. Deoarece se presupune c blocurile utilizate cel mai recent au probabilitatea
cea mai mare de a fi accesate, aceast metod d cele mai bune
rezultate.
FIFO (First-In, First-Out): Se nlocuiete blocul care a fost ncrcat primul n
memoria cache (cel mai puin recent).
LFU (Least Frequently Used): Se nlocuiete blocul care a fost utilizat cel mai
puin.
Exist i o tehnic bazat pe nlocuirea aleatoare a unui bloc, fr a se ine cont
de utilizarea acestuia.
Memoria ROM
Memoria ROM (Read Only Memory memorie care poate fi doar citit) este un tip
de memorie permanenta (informaia coninut de acest tip de
memorie nu se pierde la oprirea calculatorului si nu poate fi schimbata de procesor sau
utilizator). De exemplu in ROM se pastreaza instructiuni utlizate de procesor la pornirea
computerului.
Memoriile ROM se mpart n trei grupe:
1. Memoriile ROM programate de ctre productor, dup cerinTele utilizatorului, prin
realizarea unor msti de programare specifice fiecrui set de circuite realizat. Ele reprezint
soluTia final, implementat n produse de cel puTin cteva sute de bucTi (pentru a fi
economic). Orice modificare ulterioar dorit presupune comanda unui nou set de memorii.
2. Circuitele PROM (programmable ROM - ROM programabil), care sunt programate
individual, de ctre utilizator. Programarea acestora este realizat prin distrugerea selectiv,
conform informaTiei ce se memoreaz, a unor micro-fuzibile, prin aplicarea unor tensiuni mai
mari, de programare, pe biTii doriTi (Fig. 3.23). Dup programare, la citirea din memorie,
folosind mecanisme similare de adresare si selecTie a celulelor, ca si pentru memoriile RAM,
conTinutul celulei selectate va fi transmis pe magistrala de date a cipului. InformaTia va avea
valoare logic "0" pentru celulele cu fuzibilul distrus, respectiv "1" pentru celulele cu fuzibilul
intact (n starea iniTial, circuitul conTine n toate celulele, valoarea "1" - fuzibile intacte). Si
n
cazul circuitelor PROM, informaTia odat memorat nu mai poate fi modificat.
3. Memoriile EPROM (erasable PROM - memorie PROM reprogramabil) ofer
posibilitatea reprogramrii memoriilor ROM. Acestea reTin informaTia ca o sarcin ntr-o
celula MOSFET (metal-oxid-semiconductor FET - field effect transistors), putnd fi stears,
prin expunerea cipului la o surs de radiaTii ultraviolete (cipul este prevzut cu o "fereastr"
de cuarT, n zona celulelor de memorie). Dup stergere, cipul poate fi reprogramat.
Memoria RAM
Memoria RAM stocheaz informaTii variabile. Unitatea central, sub controlul
programului, poate citi sau modifica conTinutul unei celule de memorie RAM. Memoria
RAM
poate fi de dou feluri: static sau dinamic.
a) Memoria RAM dinamic reTine informaTia prin ncrcarea cu sarcin electric a
capacitTii porTii unui tranzistor MOS. Deoarece sarcina acumulat pe capacitate scade n
timp, prin descrcarea acesteia, informaTia se va pierde dac nu se reface periodic. Aceast
operaTie de remprosptare (refresh) a memoriei RAM dinamic, depinde de valoarea
constantei RC a circuitului, (12 ms, cu C de ordinul fracTiunilor de pF) si depinde de tipul de
memorie utilizat.
Remprosptarea are loc prin efectuarea unei operaTii de citire, pe durata creia, de
obicei, este oprit accesul procesorului la circuitul de memorie respectiv. Aceast
inaccesibilitate pe perioada de remprosptare ocupa 15% din timpul total de lucru al
memoriei dinamice.
Memoria RAM dinamic prezint dou mari avantaje faT de cea static:
1. consumul de putere mult mai redus (cnd nu este adresat, consum putere doar pe
perioadele de remprosptare);
2. numrul de tranzistoare pe celul mai mic, deci densitTi mult mai mari de celule de
memorie pe cip.
b) Memoria RAM static nu necesit remprosptare. Celulele de memorie sunt
bistabile, similare ca schem de principiu cu bistabilele convenTionale.
Memoria static nu necesit circuite externe speciale si nu prezint probleme de
sincronizare a ciclurilor de remprosptare cu operaTiile normale de citire/scriere ale unitTii
centrale.
Ierarhie de memorie
Tendinta generala a calculatoarelor mari, cat si a calculatoarelor personale, este
extinderea utilizarii ierarhiilor de memorii. Motivul principal a acestei tendinte se datoreaza
modului in care opereaza programele. Prin analize statistice ale unor programe tipice s-a
constatat ca in orice interval de timp dat referintele la memorie tind sa se restranga in zone
locale ale memoriei. Aceasta proprietate este cunoscuta sub numele de localitate a
referintelor. Exista trei concepte asociate cu localitatea referintelor: localitatea spatiala,
temporala si secventiala. Aceste concepte sunt definite in continoare.
Localitatea spatiala. De multe ori, un program utilizeaza date si instructiuni ale caror
adrese sunt apropiate unele de altele in spatiul de adrese. De exemplu, referintele la
elementele unui tablou apar intodeauna in cadrul unei anumite zone limitate din spatiul de
adrese . Similar, daca UCP face referire la o instructiune I de un cuvant, memorata la o
adresa data A, instructiunea cea mai probabila de a fi referentiata in continuare de catre UCP
este cea mai imediat urmatoare dupa I, a carei adrese este A+1.
Localitatea temporala. Datele sunt instructiunile referite recent au o posibilitate
ridicata de a fi referite in viitorul apropiat. De exemplu, un grup de instructiuni dintr-o bucla
interativa sau o subrutina pot fi executate in mod repetat, rezultand o frecventa ridicata a
referintelor la adresele acestora.
Localitatea secventiala. Majoritatea instructiunilor dintr-un program sunt executate
intr-o ordine secventiala. Instructiunile care pot determina executia intr-o ordine diferita de
cea secventiala sunt salturile sau apelurile de proceduri. Acestea reprezinta insa doar intre
20% si 30% din totalul instructiunilor. De aceea, intre 70% si 80% din instructiuni sunt
executate in aceeasi ordine in care ele sunt pastrate in memorie.
Nivelul cel mai inalt, M1, este repreyentata de unitatea de memorie cea mai rapida, cu
dimensiunea cea mai redusa, si cu costul cel mai ridicat, fiind amplasat cel mai aproape de
procesor. Urmatorul nivel, M2, care este mai lent, are dimensiuni mai mari si un cost mai
redus decat nivelul M1, fiind amplasat mai departe de procesor. Acelasi lucru este valabil
pentru nivelele M3 pana la Mn. In general, pe masura ce nivelul creste, viteza si deci costul pe
bit creste in mod proportional, ceea ce tinde sa micsoreze capacitatea memoriei de la acel
nivel.
Celula de memorie
O celula de memorie este blocul consecutiv al unei unitati de memorie. Desi se
utilizeaza o diversitate de tehnologii, toate celulele de memorie semiconductoare reprezinta
urmatoarele proprietati:
Au doua stari stabile (sau semi-stabile), care pot fi utilizate pentru a reprezenta
valori binare 0 si 1.