HackStuff...
Aici veti gasi o gama larga de metode de hack atat pe Windows cat si pe platforme Linux/Unix , programe , tutoriale etc. In acelasi timp veti avea si asistenta help . Precizam ca tot ce se gaseste pe acest site este doar in scop de dezvoltare iar voi va asumati intreaga raspundere pt actiunile savarsite.ENJoY --- by andreony ---
Lista Forumurilor Pe Tematici
HackStuff... | Reguli | Inregistrare | Login

POZE HACKSTUFF...

Nu sunteti logat.
Nou pe simpatie:
karina22 pe Simpatie.ro
Femeie
25 ani
Bucuresti
cauta Barbat
25 - 54 ani
HackStuff... / Calculatorul / Curs8 Moderat de lFx
Autor
Mesaj Pagini: 1
andreony
[admin]

Din: bucharest
Inregistrat: acum 20 ani
Postari: 1062
Ierarhia in cadrul subsistemului de memorie

Performantele memoriei DRAM

Definitii reluare:
- Hit time: timpul de acces la blocul de la nivelul superior al ierarhiei de memorii,
inclusiv timpul necesar deciziei de hit/miss
- Miss penalty: timpul necesar inlocuirii unui bloc aflat la nivelul superior al ierarhiei
cu un bloc aflat la nivelul inferior si timpul de livrare a blocului catre procesor.
Componentele lui Miss penalty:
- timpul de acces = timpul necesar accesului la primul cuvant din bloc (este
legat de latenta nivelului inferior;
- timpul de transfer = timpul necesar transferului (depinde de largimea
benzii)
In general o adresa de memorie specifica: adresa blocului (la nivelul ierarhic dat) si
adresa cuvantului din bloc.
Adresa de memorie
Performanta ierarhiei de memorii:
Miss rate nu este potrivit pentru evaluarea performantei. Mai potrivit este indicatorul:
Timpul mediu de acces = Hit time * (1 – Miss rate) + Miss rate * Miss penalty
Acesta se poate masura in valori absolute (ns) sau in perioade de ceas de asteptare a Pc in
cazul accesului la memorie.
Miss penalty, Miss rate si Timpul mediu de acces sunt functii de dimensiunea blocului
(numarul de cuvinte din bloc)
In general blocurile de dimensiuni mari se bucura de avantajul localitatii spatiale, cu
urmatoarele observatii:
- Blocurile de dimensiuni mari conduc la o penalizare de absenta (miss penalty ) mare:
este necesar un timp mai mare pentru a incarca blocul
- Daca blocul are dimensiuni mari in raport cu dimensiunea memoriei intermediare,
rata insucceselor (miss rate) va creste: vor fi prea putine blocuri in memoria
intermediara;
Adresa/numarul blocului Adresa cuvantului/offset in bloc
In general,
Average Access Time = Hit Time x (1 - Miss Rate) + Miss Penalty x Miss Rate
Dependentele: Miss Penalty, Miss Rate si Average Acces Time ca functii de dimensiunea
blocurilor

Probleme privitoare la ierarhia de memorii:

1. Unde poate fi plasat un bloc la nivelul superior al ierarhiei? ((Plasarea blocului)
2. Cum poate stabili daca un bloc se afla la nivelul superior al ierarhiei (Identificarea
blocului);
3. Care bloc trebuie inlocuit la nivelul superior al ierarhiei in cazul unui insucces?
(Inlocuirea blocului);
4. Ce se intampla la scriere? (Strategia de scriere)
Raspunsuri
1. Plasarea blocului in memoria intermediara (cache)
Actualmente se utilizeaza trei metode:
1.1. Maparea directa: fiecare bloc poate fi plasat intr-un singur loc in memoria
intermediara.
Se considera ca memoria intermediara Mc si memoria principala Mp au
capacitati, masurate in numar de blocuri, egale cu Nc si, respectiv Np (puteri ale
lui 2). Numarul n, al blocului din Mc, in care va fi plasat un bloc, cu numarul p,
din Mp, va rezulta din urmatorul calcul:
n = p mod (Nc)
n poate fi asociat cu adresa blocului in Mc
1.2. Asociativa: blocul din Mp se poate plasa in oricare pozitie/bloc din Mc
1.3. Asociativa pe seturi cu mai multe cai: blocul din Mp se poate plasa prin
mapare directa numai intr-unul din cele Ns seturi de blocuri, create la nivelul lui
Mc, prin gruparea a cate c seturi contigue in fiecare set; in cadrul setului plasarea
se face asociativ.
Numarul s, al setului din Mc, in care va fi plasat un bloc, cu numarul p, din Mp,
va rezulta din urmatorul calcul:
s = p mod (Ns)
Exemple: Se considera o memorie Mc cu o capacitate de 8 blocuri si o memorie Mp cu
o capacitate de 31 de blocuri.
- In cazul maparii directe blocul din Mp, cu numarul p =12, va fi plasat in blocul cu
numarul n = 12 mod 8 = 4, din Mc.
- In conditiile amplasarii asociative, blocul cu numarul 12, din Mp, poate fi plasat in
oricare dintre cele 8 blocuri din Mc.
- In situatia amplasarii asociative pe seturi cu c cai (c =2, => Ns = 4)), numarul setului
s, in care va fi plasat blocul din Mp, cu numarul p = 12, va fi: s = 12 mod 4 = 0.

2. Cum poate stabili daca un bloc se afla la nivelul superior al ierarhiei
(Identificarea blocului in memoria intermediara)?
2.1.Adresa furnizata de catre procesor are urmatoarea structura (VAX 11/780, Mc
asociativa pe doua cai, cu doua cuvinte pe bloc):
Adresa blocului
20 biti 9 biti 3 biti
- Offset-ul indica adresa/pozitia cuvantului sau octetului in cadrul blocului;
- Indexul ofera o indicatie asupra capacitatii Mc, ca numar de blocuri sau de seturi
asociative;
- Eticheta da o indicatie asupra numarului blocului plasat in Mc.
2.2. Unitatea logica combinationala ASOC
Aceasta unitate logica combinationala compara continutul unui registru “descriptor” –
DSCRPT[r], simultan cu continuturile a 2n celule de memorie (M) si furnizeaza un vector
cu 2n ranguri, dintre care cel mult un rang j este egal cu 1, celelalte fiind egale cu 0.
Rangul j ia valoarea 1 daca continutul locatiei M[j] este identic cu continutul
descriptorului
r
UNIT: ASOC(M;DSCRPT)
INPUTS: M[2n ;r]; DSCRPT[r]
OUTPUTS: ASOC[2n]
1. j = 0
2. ASOCj = ∪ / (M[j] ⊕ DSCRPT)
3. j <= j + 1
4. =>(j < 2n)/(2)
END
Eticheta Index Offset
M[2n ; r]
DSCRPT[r]
2.3. Memoria intermediara contine, pe langa memoria de date/instructiuni (MDI), o
memorie pentru etichete (MET) si o memorie pentru informatia de validitate (MVAL)
a informatiei din MDI. Fiecarui cuvant din MDI ii sunt atasate un cuvant din MET si
un cuvant, de 1 bit, din MVAL
1 9 64 biti
2.4. Pentru a stabili daca un bloc se afla in Mc trebuie, in functie de metoda de
amplasare, sa se genereze, pe cale logica, informatia de hit/miss
2.4.1. In cazul maparii directe se poate folosi schema de mai jos:
1 20 64 biti
MUX Offset
hit/miss = (∪/(BUSFN(MET;DCD(INDEX)) ⊕ ETCH)) ∩
BUSFN(MVAL;DCD(INDEX))
MVAL MET MDI
• •
MVAL MET MDI
Eticheta Index Offset
=

RD
Citire:
RD <- BUSFN(MDI;DCD(INDEX)) * hit /* fara Offset
Scriere:
MDI * DCD(INDEX) <- RD*hit
MVAL * DCD(INDEX) <- 1
2.4.2. In cazul amplasarii asociative se poate folosi schema de mai jos:
1 20 64 biti
MUX Offset
MET[2ρIndex; ρEticheta]
∪/ASOC(MET;ETICH)
hit/miss = (∪/ASOC(MET;ETICH) ∩
BUSFN(MVAL; ASOC(MET;ETICH))
Citire:
RD <- BUSFN(MDI; ASOC(MET;ETICH)) ∩ hit /* nu se considera offset-ul
Scriere:
MDI * ASOC(MET;ETICH) <- RD *hit
MVAL * ASOC(MET;ETICH)) <- hit
•
MVAL MET MDI
Eticheta Index Offset

RD
A
S
O
C
2.4.3. In cazul amplasarii asociative pe seturi cu doua cai se poate utiliza schema
urmatoare:
MVAL0 MET0 MDI0 MVAL1 MET1 MDI1
hit0 hit1
hit = hit0 ∪ hit1
hit0 = (∪/(BUSFN(MET0;DCD(INDEX)) ⊕ ETCH)) ∩
BUSFN(MVAL0;DCD(INDEX))
hit0 = (∪/(BUSFN(MET1;DCD(INDEX)) ⊕ ETCH)) ∩
BUSFN(MVAL1;DCD(INDEX))
Citeste:
RD <- (BUSFN(MDI0;DCD(INDEX)) ! BUSFN(MDI1;DCD(INDEX))) *(hit0,hit1)
Scrie:
(MDI0*DCD(INDEX)!MDI1*DCD(INDEX))*(hit0,hit1) <- RD
(MVAL0*DCD(INDEX)!MVAL1*DCD(INDEX))*(hit0,hit1) <- 1
Eticheta Index Offset
• •
=
=



3. Care bloc trebuie inlocuit la nivelul superior al ierarhiei in cazul unui insucces?
(Inlocuirea blocului);
3.1. Cazul maparii directe nu ridica probleme.
3.2. Cazurile asociativ pe seturi si complet asociativ.
3.2.1. Blocurile candidate la inlocuire se selecteaza aleator. Unele sisteme folosesc
scheme pentru dispersarea datelor pe un set de blocuri, intr-o maniera
pseudoaleatoare, pentru a obtine o comportare reproductibila.
3.2.2. Cel mai putin recent utilizat bloc (LRU - Least Recently Used), presupune
utilizarea unor mecanisme specifice, de exemplu: contor de utilizare pentru fiecare
bloc.

4. Strategia la scriere.
- Write through—Informatia este scrisa atat in blocul din memoria intermediara, cat si
in blocul in memoria de la urmatorul nivel
- Write back— Informatia este scrisa numai in blocul din memoria intermediara.
Continutul blocului modificat este scris in memoria principala numai in cazul
inlocuirii lui in memoria intermediara. Blocul poate fi curat sau murdar
(modificat/scris)
- Avantajele/dezavantajele pentru WT si WB:
- WT: insuccesele la citire nu conduc la scrieri, usor de implementat, necesita
banda mare la interfata intre memoriile intermediara si principala,
nivelul inferior contine informatia actualizata (pentru I/E, alte procesoare).
- WB: nu apar scrieri pentru scrieri repetate; necesita banda redusa.WT este
intotdeauna combinat cu tampoane/buffere pentru scriere, astfel nu se
asteapta din cauza memoriei de la nivelul imediat inferior
- Tamponul/Buffer-ul plasat intre memoria intermediara si memoria principala
- Procesorul scrie datele in memoria intermediara si in tampon
- Controlorul memoriei scrie continutul tamponului in memorie
- Tamponul de scriere este FIFO
- Numarul tipic de intrari: 4
- Opereaza bine daca frecventa memoriei (w.r.t. time) << 1/DRAM (write
cycle)
- Dificultatile proiectantului sistemului de memorie:
- frecventa memoriei (w.r.t. time) > 1/DRAM (write cycle)
- saturarea tamponului de scriere
- Daca conditia: (w.r.t. time) > 1/DRAM (write cycle) se mentine mai mult timp
(Ciclul UCP prea mic (rapid) si/sau exista prea multe instructiuni de memorare in
secventa:
- Tamponul de scriere se va satura indiferent de capacitatea lui
- CPU Cycle Time <= DRAM Write Cycle Time
- Solutia pentru cazul saturarii tamponului de scriere
- Utilizeaza metoda WB;
- Instaleaza nivelul2 de memorie intermediara (L2 cache):
Pentru insuccese/misses la scriere apar doua situatii:
- Blocul este incarcat din memoria de la nivelul inferior, dupa care se scrie in el
(Write Allocate or Fetch on Write). Presupune utilizarea in continuare a blocului.
- Blocul este modificat la nivelul inferior, fara sa fie adus in memoria intermediara
(Write No Allocate or Write Around)
Exemplu: Se presupune ca o scriere pe 16 biti la locatia de memorie 0 x 0 conduce la
insucces. Trebuie sa se aduca un bloc?
- DA: Write Allocate.
- NU: Write Not Allocate


_______________________________________
------ eVoLuTiOn ------

pus acum 19 ani
   
Pagini: 1  

Mergi la