Sunteți pe pagina 1din 4

I.

Structura unui sistem de calcul


Componentele principale
1. Unitatea central de procesare (CPU)
2. Memoria
3. Dispozitive periferice (I/O = input/output)
4. Magistrale de date
de adrese
de control

1. Unitatea central de procesare


numit i procesor
execut instruciunile indicate de programator
realizeaz prelucrarea datelor
coordoneaz funcionarea celorlalte componente

2. Memoria
stocarea informaiilor
furnizarea informaiilor la cerere
rol pasiv "rspunde" la cererile venite din exterior
nu iniiaz niciodat un transfer

3. Dispozitivele periferice
comunicarea cu exteriorul
funcii preluare date
afiare
imprimare
stocare (persistent)

4. Magistralele
ci de legtur ntre CPU, memorie i periferice
dup informaia care le parcurge: de date - date i instruciuni
de adrese - adrese pentru memorie i
dispozitive periferice
de control - semnale prin care CPU
comunic cu celelalte circuite i le controleaz
Memoria cache

Problema: procesorul este mai rapid dect memoria este obligat s atepte
pn cnd primete datele i instruciunile din memorie
performana procesorului nu este exploatat

Soluia: legile localizrii


Localizare temporal - dac o locaie de memorie este accesat la un moment dat,
este foarte probabil s fie accesat din nou n viitorul apropiat
Localizare spaial - dac o locaie de memorie este accesat la un moment dat,
este foarte probabil ca i locaiile vecine s fie accesate n viitorul apropiat
Legile localizrii consecine la un moment dat, un program folosete numai o
(mic) parte din locaiile sale de memorie
un circuit de capacitate mai mic poate reine aceste
locaii
acest circuit poate fi mai rapid
sporul de performan poate fi major

Memoria cache: circuit rapid i de capacitate mic


reine locaiile din memoria principal accesate cel mai
recent de procesor
procesorul solicit coninutul unei locaii (se caut mai
nti n cache, iar dac locaia nu este gsit n cache se cauta
n memoria principal)

Caracteristici: - Viteza: foarte mare - la acelai nivel cu procesorul


- tehnologie performant (SRAM)
-dimensiune redus bloc de decodificare mai simplu, deci
mai rapid
- Preul: rezonabil datorit dimensiunii reduse

Parametri de performan (1)


H - rata de succes (hit ratio)
M - rata de insucces (miss ratio)
0 <= H, M <= 1
M=1H
Tc - timpul de acces la cache
Tm - timpul de acces la memorie n cazul unei ratri n cache
T - timpul mediu de acces la memorie (cu cache)
Tp - timpul de acces la memoria principal (n absena cache-ului)

Performana memoriei cache


T = Tc H + Tm M
dac T < Tp -> spor de vitez
T - mrime statistic
cazuri extreme
H=100% (M=0): T = Tc -> ideal
H=0 (M=100%): T = Tm -> pierdere de vitez (Tm > Tp)
Situaia real - exemplu
Tc = 2 ns, Tp = 10 ns, Tm = 11 ns, H = 95%, T = 2.45 ns = 0.245 Tp -> viteza de
acces crete de peste 4 ori
Adresare: adresa din cache nu corespunde cu adresa din memoria principal
cutarea se face dup adresa din memoria principal
deci cache-ul trebuie s rein i adresele locaiilor n memoria principal
Linii de cache: cache-ul se folosete de localizarea temporal
cum se poate exploata i localizarea spaial?
cnd se aduce o locaie n cache, se aduc i locaiile vecine acestea
formeaz o linie de cache
Politica de nlocuire: cache mic - se umple repede
noi linii aduse n cache - trebuie eliminate altele mai vechi
eliminare - scriere n memoria principal
care linii trebuie eliminate? scopul - creterea vitezei
cele care nu vor fi accesate n viitorul apropiat !!!
mbuntirea performanei: depinde de dou mrimi timpul de acces la cache
(Tc)
rata de succes (H)
nu pot fi optimizate simultan
influenate de tehnologie
politica de nlocuire
Tipuri constructive de cache: 1) cu adresare direct (direct mapped cache)
2) total asociativ (fully associative cache)
3) parial asociativ (set associative cache)
1) Cache cu adresare direct
plasarea unei locaii n cache linia de cache este ntotdeauna aceeai
depinde de adresa din memoria principal
adresa din memoria principal - 3 pri
eticheta - se memoreaz n cache
selectorul liniei de cache
selectorul octetului n cadrul liniei

Exemplu
adresa n memoria principal - 32 bii
dimensiune cache: 211 linii 25 octei/linie
adresa n memoria principal se mparte n
selectorul liniei de cache - 11 bii
selectorul octetului n cadrul liniei - 5 bii
eticheta - 16 bii ( = 32 11 5)

Coninutul unei linii de cache


un bit care indic dac linia conine date valide iniial, toate liniile sunt goale,
deci invalide
cmpul etichet
datele propriu-zise, aduse din memoria principala

Avantaje implementare simpl


timp de acces (Tc) redus
Dezavantaje lips de flexibilitate
politic de nlocuire neperformant - rat de succes (H) sczut

2) Cache total asociativ


realizat cu memorii asociative
memoria obinuit - acces la o locaie pe baza adresei sale
memoria asociativ - permite i regsirea locaiei pe baza coninutului su
implementare - valoarea cutat este comparat n paralel cu toate locaiile
Avantaje: plasarea datelor din memoria principal n orice linie de cache
se pot alege convenabil adresele aduse n linia de cache
se pot implementa politici de nlocuireeficiente - rat de succes (H)
ridicat
Dezavantaje: timp de acces (Tc) mare memoriile asociative - lente
algoritmi compleci de nlocuire timp
suplimentar consumat
hardware complicat pentru memoriile asociative i algoritmii de
nlocuire

3) Cache parial asociativ


numit i cache asociativ pe seturi
derivat din cache-ul cu adresare direct
fiecare linie de cache conine mai multe seturi de date (4, 8, 16, ...)
structura unui set bit de validare
etichet
date din memoria principal
Timpul de acces (Tc) puin mai mare dect la cache-ul cu adresare direct trebuie
verificate toate cele n seturi
Rata de succes (H) ridicat elimin problema suprapunerilor
Scrierea n cache scriere ntr-o locaie care nu se afl n cache
unde se face scrierea? doar n memoria principal - nu se poate
doar n cache (write-back)
att n cache, ct i n memoria principal (write-
through)
Cache de tip write-back
scrierea se face doar n cache
datele ajung n memoria principal doar la evacuarea din cache
vitez mare
probleme n sistemele multiprocessor

Cache de tip write-through


scrierea se face att n cache, ct i n memoria principal
mai lent datorit accesului la memoria principal
ambele tipuri de cache sunt larg folosite

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