organizarea memoriei (curs 8) tendintele in domeniul...

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

Upload: others

Post on 28-Oct-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

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