Organizarea Memoriei (Curs 8) Tendintele in domeniul...

21
Organizarea Memoriei (Curs 8) Tendintele in domeniul tehnologiei memoriilor

Transcript of Organizarea Memoriei (Curs 8) Tendintele in domeniul...

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