Sunteți pe pagina 1din 21

Organizarea Memoriei (Curs 8)

Tendintele in domeniul tehnologiei memoriilor


Exemple bazate pe unele procesoare comerciale:

- Se va pune baza pe memoriile cache pentru a acoperi decalajul procesor-memorie


- Decalajul intre performanta Microprocesorului si ce a Memoriei
- timpul in instructiuni executate in cazul unui insucces la memoria intermediara

- 1/2X latenta x 3X frecventa ceas x 3X Instr/ceas = >5X


Impactul asupra performantei
- Fie un procesor care opereaza la:
- frecventa ceas = 200MHz (5 ns/ciclu)
- CPI = 1,1
- 50% arit/logic, 30% incarca/memoreaza, 20% control
- Se presupune ca 10% din operatiile cu memoria conduc la o penalizare de insucces de
50 cicluri
- CPI = CPI ideal + media ciclurilor nop/instr =
= 1.1(cicluri) +( 0.30 (op. cu mem. de date/instr) x
x 0.10 (insuccese/operatie cu mem. de date) x 50 (cicluri/insucces)) =
= 1.1 cycle + 1.5 cycle = 2. 6
- 58 % din timpul procesorului este nefolosit (neoperational) datorita asteptarii la
memorie
- un insucces de 1% pentru instructiuni va adauga 0.5 cicluri la CPI
Scopul urmarit: Crearea impresiei unei memorii de mare capacitate, rapida si
ieftina.

- Realitati: memoriile de capacitate mare sunt lente, memoriile de capacitate mica sunt
rapide
- Cum se poate crea o memorie de capacitate mare, ieftina si rapida ( de cele mai multe
ori)?
- organizare ierarhica
- paralelism
O imagine extinsa a sistemului de memorie

De ce organizare ierarhica?
- Principiul localitatii:
- In oricare moment de timpun program acceseaza o mica portiune a spatiului de
adresare
Ierarhia de memorii: cum functioneaza?

- Localitate Temporala (Localitate in Timp)


=> mentine obiectele/date/instructiuni cele mai recent accesate in apropierea
procesorului
- Localitate Spatiala (Localitate in Spatiu)
=> deplaseaza blocurile constand in cuvinte contigue catre nivelurile superioare
Terminologia in domeniul Ierarhiei de Memorii:
- Hit/Succes: data apare intr-un bloc din nivelul superior al ierarhiei
(exemplu: Blocul X)
- Hit Rate/Rata de succes: fractiunea de accese la memorie realizate la nivelul
superior
- Hit Time/Timpul de acces in caz de succes: Timpul de acces la nivelul cel mai
inalt al ierarhiei + Timpul pentru stabilirea situatiei de Acces cu succes/Acces cu
insucces
- Miss/Insucces: Data trebuie sa fie extrasa dintr-un bloc aflat la un nivel mai coborat
(exemplu: Blocul Y)
- Miss Penalty/Penalizarea pentru Insucces: Timpul necesar inlocuirii unui bloc la
nivelul cel mai inalt + Timpul necesar transferului blocului catre procesor
Timpul de acces cu succes (Hit Time) << Penalizarea de timp pentru insucces
Ierarhia de Memorii in Calculatoarele Moderne

- Avand in vedere avantajul oferit de principiul localitatii:


- se ofera utilizatorului cat mai multa memorie realizata cu cea mai ieftina
tehnologie
- se asigura accesul la viteza oferita de cea mai rapida tehnologie

Cum este gestionata ierarhia?


- Registre <-> Memorie
- de catre compilator (programator?)
- Memoria intermediara (Cache) <-> Memorie
- de catre hardware
- Memorie <-> Disc Dur
- de catre hardware si sistemul de operare
- de catre programator (fisiere)
Tehnologia Ierarhiei de Memorii:
- Acces Aleator (Random):
- accesul aleator asigura acelasi timp de acces pentru toate locatiile
- DRAM (Dynamic Random Access Memory)
- Densitate mare, putere consumata mica, ieftina, lenta
- Dinamica: necesita “remprospatare” in mod regulat.
- SRAM (Static Random Access memory)
- Densitate mica, putere mare consumata, costisitoare, rapida.
- Tehnologie pentru Acces “nu chiar Aleator”
- Timpul de acces variaza de la locatie la locatie
- Exemple: Discul, CDROM
- Tehnologia pentru Accesul secvential
- Timpul de Acces este liniar cu pozitia locatiei (Exemplu: Banda)
In continuare vor fi studiate tehnologiile cu acces aleator:
Memoria Principala (DRAM) + Memoria Intermediara (SRAM)
Memoria Principala: Elemente de Baza:
- Performantele Memoriei principale
- Latenta: Penalizarea de acces cu insucces la Memoria Intermediara
- Timpul de Acces: Timpul scurs intre cerere de acces si furnizarea datei
- Durata Ciclului: Timpul scurs intre cereri
- Largimea de banda: I/E si Penalizare de insucces la Blocuri mari (niv.2)
- Memoria Principala este DRAM:
- Fiind dinamica necesita reimprospatare periodica (8ms)
- Adresele sunt divizate in doua jumatati (Memoria este o matrice 2D)
- RAS (Row Access Strobe)
- CAS (Column Access Strobe)
- Memoria Intermediara/Cache utilizeaza SRAM (Static Random Acces Memory)
- Nu necesita reimprospatare (6 tranzistori/bit fata de 1 tranzistor/bit)
- Adresa nu este divizata
- Capacitate/Dimensiune: DRAM/SRAM >>4-8;
- Cost/Durata Ciclului: SRAM/DRAM >> 8-16
Tehnologia Memoriei cu Acces Aleator (RAM)
- De ce proiectantul de calculatoare trebuie sa cunoasca tehnologia RAM?
- Performantele procesorului sunt limitate de largimea benzii de memorie
- Pe masura ce creste densitatea circuitelor integrate, mai multa memorie poate fi
pe pastiala procesorului
- Stabileste cantitatea de memorie de pe pastila procesorului conform
cerintelor specifice
- Memoria intermediara pentru instructiuni
- Memoria intermediara pentru date
- Tamponul/Buffer-ul pentru scriere
- Prin ce se diferentiaza RAM de un ansamblu de bistabile?
- Densitate: RAM este mult mai dens
Celula Statica RAM
Organizare tipica pentru SRAM: 16 cuv. x 4 biti

Diagrama Logica pentru SRAM tipic

- Activare Scriere/Write Enable este activ pe nivel coborat (WE_L)


- Din si Dout sunt combinate pentru a economisi terminale
- Este necesar un nou semnal: Activare Iesire/Output enable (OE_L)
- WE_L este activat (0), OE_L este dezactivat (1)
- De este terminalul de iesire data
- Se activeaza WE_L si OE_L
- Rezultat necunoscut (nepermis!!)
Sincronizarea/Timing tipica SRAM:

Problemele SRAM

- Sase tranzistori ocupa o arie mare


- Se considera un z\”Zero” stocat in celula
- Tranzistorul N1 va incerca sa forteze “bit” la 0
- Tranzistorul P2 va incerca sa forteze “bit negat” la 1
- Liniile de bit sunt preincarcate la 1: Sunt necesare P1 si P2?
Celula de Memorie (DRAM) cu un singur tranzistor
- Scrie:
1. Comanda linia de bit
2. Selecteaza randul

- Citeste:
1. Preincarca linia de bit la Vdd
2. Selecteaza randul
3. Celula si linia de bit partajeaza sarcinile
- Apare o mica modificare a tensiunii pe linia de bit
4. Citeste/sesizeaza modificarea de tensiune cu ajutorul unor amplificatoare speciale
capabile sa sesizeze modificari de tensiune produse de 1 milion de electroni
5. Scrie: restaureaza valoarea
- Reimprospateaza:
1. Efectueaza o citire fortata, fara utilizarea datei, din fiecare celula

Organizarea Clasica a DRAM (aria patrata)


Organizarea Logica a DRAM (4 Mbiti)

Organizarea Fizica a DRAM (4 Mbiti)


Sisteme de Memorie

Schema bloc a unei DRAM tipice

- Semnalele de comanda (RAS_L, CAS_L, WE_L, OE_L) sunt active pe nivel coborat
- Din si Dout sunt combinate (D):
- WE_L este activat (0), OE_L este dezactivat (1)
- D este terminal de intrare
- WE_L este dezactivat (1), OE_L este activat (1)
- D este terminal de iesire
- Adresele de randuri si coloane partajeaza aceleasi terminale (A):
- RAS_L pe nivel coborat: Terminalele A sunt “programate” pentru adresele de
randuri
- CAS_L pe nivel coborat: Terminalele A sunt “programate” pentru adresele de
coloane
- RAS/CAS suntactive pe front
Parametrii temporali fundamentali pentru DRAM

- tRAC: timpul minim de la trecerea liniei RAS pe nivel coborat si pana la data de iesire
valida
- Considerat ca viteza a DRAM
- Pentru un DRAM rapid de 4Mb tRAC = 60 ns
- tRC: timpul minim de la lansarea unui acces la rand pana la lansarea urmatoare
- tRC = 110 ns pentru o DRAM de 4 Mb cu un tRAC de 60 ns
- tCAC: timpul minim de la trecerea liniei CAS pe nivel coborat si pana la data de iesire
valida
- tCAC = 15 ns pentru o DRAM cu un tRAC de 60 ns
- tPC: timpul minim de la lansarea unui acces la coloana pana la lansarea urmatoare.
- tPC = 35 ns pentru o DRAM cu un tRAC de 60 ns

Performantele DRAM
- memorie DRAM cu tRAC = 60 ns poate efectua:
- un acces la rand numai la 110 ns (tRC )
- un acces la coloana in 15 ns (tCAC), dar timpul intre accesele la coloane este de
putin 35 ns (tPC)
- In practica, intarzierile adreselor externe si transferul lor prin magistrale il
aduce la 40-50 ns
- Acesti timpi nu include timpul de comanda a adresei de catre microprocesor si nici
regia controlorului/unitatii de comanda a memoriei
- Comanda DRAM-urilor paralele, controlorul extern al memoriei, magistrala
Modulele SIMM, terminalele..
- O latenta de 180 ns – 250 ns de la procesor la memorie este potrivita pentru o-
memorie DRAM cu tRAC = 60 ns
Sincronizarea pentru scrierea in DRAM

Sincronizarea pentru citirea din DRAM


Performantele Memoriei Principale

Durata Ciclului – Timpul de Acces

- Durata Ciclului (Citeste/Scrie) DRAM >> Timpul de Acces(Citeste/Scrie) DRAM


- >> 2:1 de ce?
- Durata Ciclului (Citeste/Scrie) DRAM:
- Cat de frecvent se poate initia un acces?
- Analogie: un copil poate cere bani de la tatal sau numai Sambata
- Timpul de Acces (Citeste/Scrie) DRAM:
- Cat de repede se poate obtine informatia dupa ce s-a initiat un acces?
- Analogie: Imediat dupa lansarea cererii, tatal ii da banii
- Analogia cu limitarea Largimii de Banda:
- Ce se intampla daca a cheltuit toti banii pana Miercuri?
Intreteserea (adreselor) o solutie pentru cresterea Largimii de Banda

Performanta Memoriei Principale


- Modelul sincronizarii:
- 1 transmite adresa
- 6 timpul de acces, 1 transmite data
- Blocul la nivelul memoriei intermediare consta in 4 cuvinte
- Memorie principala Simpla = 4 x (1+6+1) = 32
- Memorie Principala organizata pe cuvinte de lungime mare = 1 + 6 + 1 = 8
- Memorie Principala Intretesuta = 1 + 6 + 4x1 = 11
Blocuri de Memorie Independente
- Cate Blocuri?
- numarul de blocuri ≥ numarul de perioade de ceas pentru a accesa un cuvant in
bloc
- pentru accesele secventiale, altfel se va reveni la blocul initial inainte de a obtine
urmatorul cuvant
- Marirea capacitatii DRAM => mai putine circuiote/cipuri => mai greu de a realiza
blocuri
- Cresterea biti/cip la DRAM: 50%-60%/an
- Nathan Myrvold M/S: cresterea software-lui matur
NT (33%/an) >> cresterea MB/$ pentru DRAM (25%-30%/an)

Mai putine DRAM/Sistem in timp


DRAM Modul Pagina – Motivare:

Operare rapida in Modul Pagina:


DRAM si Microprocesoarele din sistemele Desktop:

Standarde Terminale, Capsule Compatibilitate binara


Frecventa de reimprospatare, IEEE 754,
Capacitatea Magistralaei … I/E.
Surse Multiple Singulare
Figura de Merit 1) capacitate, 1a) $/bit 1) viteza SPEC
2) BW, 3) latenta 2) cost
Perfectionari 1) 60%, 1a) 25%, 1) 60%,
Rata/an 2) 20%, 3) 7% 2) mici modificari
Obiectivele Proiectarii DRAM:
- Reducerea dimensiunii celulei (2,5), cresterea dimensiunii cipului (1,5)
- Vanzarea a 10% a unei singure generatii DRAM
- In 1996 s-au vandut 6,25 miliarde DRAM
- Exista 3 faze: mostre pentru teste la utilizator, vanzare la primul client (FCS First
Customer Ship), productia de masa
- Cu cat se ajunge mai repede la FCS, productia de masa incepe sa fie cotata
- Dimensiunea discului de Si, timpul de testare, randamentul => profit

- randament >> 60% (randuri/coloane redundante pentru a repara defectele)

DRAM Istorie:
- DRAM: capacitate +60%/an, cost –30%/an
- 2.5X celule/arie, 1.5X dimensiunea cipului = 3 ani

- In 1997 o linie de fabricatie DRAM costa 1Mld- 2Mld USD


- Numai DRAM: densitate, scurgeri de sarcina vs. viteza

- Se bazeaza pe cresterea numarului de calculatoare si al memoriilor pe calculator (60%


din piata)
- SIMM sau DIMM sunt unitati amovibile => calculatoarele pot utiliza oricare
generatie de DRAM

- Marfa, industria de surse secundare => volum mare, profit redus, conservativ
- Inovatii putine in organizare in 20 de ani, mod pagina, EDO, Synch DRAM

- Ordinea importantei: : 1) Cost/bit 1a) Capacitate


- RAMBUS: 10X BW, +30% cost => impact redus
DRAM: Situatia actuala
- Marfa, industria de surse secundare => volum mare, profit redus, conservativ
- Inovatii putine ( in raport cu procesoarele) in organizare in 20 de ani, mod
pagina, EDO, Synch DRAM
- Industria DRAM la rascruce:
- Mai putine DRAM-uri/calculator pe masura ce trece timpul
- Cresterea biti/cip la dram: 50%-60%/an
- Nathan Myrvold M/S: cresterea software-lui matur
NT (33%/an) >> cresterea MB/$ pentru DRAM (25%-30%/an)
- Se pune intrebarea daca trebuie cumparate DRAM-uri de dimensiuni
mari?
REZUMAT:

- Localitate Temporala (Localitate in Timp): Daca un obiect a fost accesat, el va fi in


curand, de asemenea, accesat
- Localitate Spatiala (Localitate in Spatiu): Dac un obiec a fost accesat, obiectele cu
adrese apropiate vor fi accesate, de asemenea, in viitorul apropiat
- Plecand de la principiul localitatii:
- furnizeaza utilizatorului cat mai multa memorie in cea mai ieftina tehnologie
- asigura accesul la viteza oferita de cea mai rapida tehnologie .
- DRAM este lent dar ieftin si dens
- o buna alegere pentru a oferi utilizatorului un sistem mare de memorie
- SRAM este rapid, dar costisitor si nu foarte dens
- o buna solutie pentru un timp mic de acces

Decalajul performantelor intre procesor si memorie:


Procesor % Arie %Tranzistoare
(≈cost) (≈power)
- Alpha 21164 37% 77%
- StrongArm SA110 61% 94%
- Pentium Pro 64% 88%
2 cipuri per procesor : Proc/I$/D$ + L2$
- Memoriile Cache nu au valoare intrinseca;
ele sunt chemate sa reduca decalajul performantelor

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

  • Curs8 4
    Curs8 4
    Document6 pagini
    Curs8 4
    eminacamelia
    Încă nu există evaluări
  • Curs8 3
    Curs8 3
    Document9 pagini
    Curs8 3
    eminacamelia
    Încă nu există evaluări
  • Curs8 6
    Curs8 6
    Document5 pagini
    Curs8 6
    eminacamelia
    Încă nu există evaluări
  • Curs8 5
    Curs8 5
    Document10 pagini
    Curs8 5
    eminacamelia
    Încă nu există evaluări
  • Curs8 2
    Curs8 2
    Document11 pagini
    Curs8 2
    eminacamelia
    Încă nu există evaluări
  • Curs8 1
    Curs8 1
    Document12 pagini
    Curs8 1
    eminacamelia
    Încă nu există evaluări
  • Operara in Banda Asamblare2
    Operara in Banda Asamblare2
    Document37 pagini
    Operara in Banda Asamblare2
    Askodfj Sdoifj
    Încă nu există evaluări
  • Curs7 1
    Curs7 1
    Document31 pagini
    Curs7 1
    eminacamelia
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document26 pagini
    Curs 5
    eminacamelia
    Încă nu există evaluări
  • Curs 6
    Curs 6
    Document22 pagini
    Curs 6
    eminacamelia
    Încă nu există evaluări
  • Curs4 2
    Curs4 2
    Document6 pagini
    Curs4 2
    eminacamelia
    Încă nu există evaluări
  • Curs 2
    Curs 2
    Document17 pagini
    Curs 2
    eminacamelia
    Încă nu există evaluări
  • Curs4 3
    Curs4 3
    Document4 pagini
    Curs4 3
    eminacamelia
    Încă nu există evaluări
  • Curs 3
    Curs 3
    Document18 pagini
    Curs 3
    eminacamelia
    Încă nu există evaluări
  • Curs4 1
    Curs4 1
    Document4 pagini
    Curs4 1
    eminacamelia
    Încă nu există evaluări
  • Arhitectura Calculatorului
    Arhitectura Calculatorului
    Document14 pagini
    Arhitectura Calculatorului
    sorinnaf
    Încă nu există evaluări