andreony
[admin]
 Din: bucharest
Inregistrat: acum 20 ani
Postari: 1062
|
|
Organizarea Memoriei
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 omemorie 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
_______________________________________ ------ eVoLuTiOn ------
|
|