Documente Academic
Documente Profesional
Documente Cultură
Memorii RAM PDF
Memorii RAM PDF
• Evident contradictorii
Pb: proiectare memorie RAM de 1MB
• Celula de memorie pe care o știm: bistabilul D
(latch)
Ideea:
pt READ: Sel1 activ, Sel2 activ – valoarea q pe b0
Pt WRITE: Sel1 activ, Sel2 inactiv – valoarea lui b0 scrisă în celula;
apoi Sel2 activ – e memorată
Pb: proiectare memorie RAM de 1MB
Pb: proiectare memorie RAM de 1MB
• Ce capacitate parazită este pe b0?
• Neglijând Cfir, Cconexiuni, etc:
– Cp~ n*2*CSD ~ 2*106*CSDTG
• E mult/ putin?
• Ce efect are?
• Ce capacitate parazită este pe Sel?
– Cp~2mCTG~2*m(CGp+CGn)=4m*CGn - mult mai mică
pt m=8, 16, 32
Comparație Cp
• CSD ~0.25mCG = 2CG (pt m=8)
• Cp ~5*105*CG
(memorie de 1 MB)
Ca ordin de mărime:
• Inversor care comandă 5 porți (tot inversoare)
– Cp=5*(CGp+CGn)~10 *(CGp+CGn)~30CGn
• Inversor conectat la magistrală internă:
– Ex 5 intrări de porți (tot inversoare) și 11 disp care pot scrie
(10 în High Z)
– Cp~30CGn+10*(CSDp+CSDn)~45CGn
• Cp mem > 104*Cp porti!!
• Același tp – dimensiune de 104 ori mai mare!!
Probleme specifice memoriilor
• Cp uriaș pe bitline - trebuie o altă abordare
pentru citire (și scriere)
– Nu TG, nu stâlp totemic
• Cu cât dimensiunea mem. (capacitatea de
stocare) e mai mare – Cp mai mare, deci mai
lentă
• Pt că Cp sel << Cp b – arhitectură mai echilibrată
– aprox un pătrat 2n linii x 2m coloane
– selectie separata linie + coloana pt w (ev. mai multe)
Memorii RAM Statice (SRAM)
• Celula:
Memorii SRAM
• Dispare TG: cum mai scriem 1??
• Dim. tranzistoare:
– kn1,2 ~ 1.5*kw1,2
– Pt q=0 (sau q\=0), q să nu se apropie de Vp; inv. sarc. sat.
(datorită valorii 1 de pe b0 (sau b0\)
Memorii SRAM – layout celulă
• Cum se propagă 1?
– WSel adus la VDD+Vp
Memorii DRAM: citirea
(principiu)
• Decodificare adresa
• Aplicare b=1
- Precharge Cp
• Selectie rand
• Decodificare coloană
• Citirea: determinare 1/0
cf evolutiei tensiunii b
(apoi refacerea valorii citite)
- 0: b tinde să scadă/ 1: neschimbat
Memorii DRAM: citirea
(real)
• Aplicare b=VDD/2
- Precharge Cp
• Citirea: determinare 1/0
cf evolutiei tensiunii b
si refacerea valorii citite
- 0: b tinde să scadă, devine 0 L
- 1: b tinde să crească, devine 1 L
Memorii DRAM: citirea
• Circuit pentru determinare valoare (și
rescrierea ei) – amplasare (principiu)
• Nr egal de celule
• b adusă la VDD/2 (stânga și dreapta)
• Selecție celulă citită
Memorii DRAM: citirea
• În dreapta V = ct
• În stânga: Cp înc. la VDD/2
– Pt val 0 logică – C la 0 V (aprox.)
– Pt val 1 logică – C la VDD (aprox.)
• Egalizare tensiune Vfinal = ?
Memorii DRAM: citirea
• Conservarea sarcinii:
Cp Vfinal +C Vfinal =CpVDD/2 (pt Vc=0)
Vfinal =Cp/2/(C+Cp) VDD
• DACĂ Cp=10 C
– Vfinal =5C/(11C) VDD=0.45 VDD
• Similar, pt Vc=VDD
Vfinal =(C+Cp/2)/(C+Cp) VDD=6C/(11C) VDD=0.55 VDD
• (pt Cp mai mare, D prea mică)
Memorii DRAM: citirea
• Circuitul de citire + refresh
(sense amp)
• Selectat după ce
celula a fost selectată
• Pt V1=V2=VDD/2
stare metastabilă
• Pt V1 > VDD/2 q =1, q\=0
• Pt V1 < VDD/2 q =0, q\=1
Memorii DRAM: citirea
• q menținută = refresh!
• (se reface data initială
in celulă)
• Similar – refresh
periodic = citire +
rescriere (pe rând
toate celulele!)
Memorii DRAM: concluzii
• Data memorată (pe C) tinde să se piardă
• Trebuie refresh period
• La dispariția alimentării data se pierde
(“volatilă”)
• La citire data se modifică – trebuie refresh
după fiecare citire
• 1 T + 1 C (arie relativ MICĂ)
• Ieftină, circuite de capacitate mare
Memorii DRAM: viteza
• Scriere, citire: întârzieri importante
– Memorie relativ LENTĂ
• Scriere: încărcare/ desc C - Circ RC:
– Compromis viteză/ arie în dim T
– Scriere 1 mai lentă (tranz nMOS, nu TG)
• Citire: timp de variație tensiune pe
condensatoare + timp de rescriere
• Refresh periodic = citire + rescriere completă
• În plus, pt capacitate mare de memorare =
scădere suplimentară viteză
Comparatii celule SRAM/ DRAM
• Viteza de acces (citire, scriere):
– SRAM mai rapid, DRAM mai lent
• Densitate:
– DRAM mai mare, SRAM mai mica (arie mare dat.
celor 6 tranzistoare si marimii lor)
• Cost (practic 1/ densitate):
– Mai mic pentru DRAM
• In plus: DRAM necesită refresh periodic (100
ms – 1 ms)
Overview memorii; problema
• Dimensiune mare = mai lenta
– SRAM, 512 Bytes, sub-nanosec
– SRAM, KByte~MByte, ~nanosec
– DRAM, Gigabyte, ~50+ nanosec
– Hard Disk, Terabyte, ~10 millisec
• Viteza de acces = mai scumpa
– SRAM, ~ 10$ per Megabyte
– DRAM, ~ 0.1$ per Megabyte
– Hard Disk ~ 1$ per Gigabyte
(valori aprox. actuale, evolueaza odata cu tehnologia)
Soluții
Row decoder
(Row 1, Column 0)
Rows
Row address 0
1
Row 01
Row
Empty Row Buffer CONFLICT
HIT !
Column address 85
0
1 Column mux
Data
L2 cache (SRAM)
512 KB ~ 1MB, few nsec
Automatic
HW cache
L3 cache (SRAM),
management
.....
CORE 3
CONTROLLER
L2 CACHE 1 L2 CACHE 3
L2 CACHE 0 L2 CACHE 2
CORE 2
CORE 0
SHARED
SHAREDL3
L3CACHE
CACHE
Bibliografie
• Notitele din clasa (pt examen)
• Prof. Onur Mutlu
Carnegie Mellon University
Spring 2013, 3/27/2013
18-447: Computer Architecture
Lectures 22 – 25 (lectura sumplimentara, pt
inteles in detaliu arhitectura memoriei DRAM si
cache si functionarea lor detaliata; NU este
pentru examen)