Testo di riferimento:
appunti
Le memorie dinamiche
01.c
Classificazione
Organizzazione
Legge di Moore (dal 1965…)
1
44
…x2
ogni 18 mesi
Scala
logaritmica
Architettura degli Elaboratori
…x1000
ogni 15 anni
© 2010
Legge di Moore per la cella DRAM?
2
Processor - DRAM Memory Gap
“Moore’s Law”
10000
CPU
Processor-Memory
Performance Gap:
(grows 50% / year)
100
Less’ Law?
DRAM
Year
04
20
02
20
00
20
98
19
96
19
94
19
92
19
90
19
88
19
86
19
84
19
82
19
80
1
19
Performance
44
µProc: 60%/yr. (2X/1.5yr)
1000000
DRAM: 9%/yr. (2X/10 yrs)
Architettura degli Elaboratori
© 2010
Come aumentare le prestazioni?
3
1. Aumentando il numero di bit per accesso (es.: con un
bus dati da 64 bit si trasferiscono 8 byte per volta)
● svantaggi: aumentano le dimensioni, aumenta la
corrente
44
2. Aumentando il grado di parallelismo interno delle
operazioni (es. memory interleaving: con più banchi di
memoria è possibile avviare un accesso ad un altro
banco, prima che sia completato l’accesso precedente)
3. Evitando di eseguire alcune delle operazioni (ad es. la
selezione di una riga già selezionata)
Architettura degli Elaboratori
© 2010
Classificazione delle DRAM
4
Interfaccia asincrona (DRAM “standard”):
● il processore deve attendere, in uno stato idle,
il completamento dell’operazione in memoria.
44
Interfaccia sincrona (SDRAM):
● le operazioni sono in sincronia con clock del bus;
con l'uso di opportuni latch si aumenta il parallelismo
con la CPU (bus oltre i 66MHz).
Interfaccia basata su protocollo (RDRAM):
● indirizzi e dati vengono trasmessi in parallelo
con modalità pipelined sul medesimo bus.
Architettura degli Elaboratori
Interfaccia asincrona (DRAM)
© 2010
5
In un’interfaccia asincrona il processore attende il
tempo necessario per il completamento di ciascuna
44
operazione (invio di RAS dopo che l’indirizzo di riga è
stabile; invio di CAS dopo che l’indirizzo di colonna è
stabile; successivo trasferimento del dato).
L’attivazione di RAS trasferisce, in appositi latch dati, il
contenuto di tutti i bit della riga selezionata.
Se un ciclo di clock inizia prima che sia trascorso il
tempo richiesto per l’operazione, occorre attendere
l’inizio del successivo ciclo di clock per poter iniziare
l’operazione successiva.
Tenendo presente questo vincolo, i tempi per il
trasferimento di un dato sono indicati in termini di
numero di cicli di clock.
Architettura degli Elaboratori
© 2010
Accesso per righe in una DRAM
6
4096 righe,
512 colonne,
dati da 8 bit.
44
indirizzo
di colonna
indirizzo
di riga
chip DRAM da 2 MB (16 Mbit)
la selezione di una riga rende accessibili 512 byte
Architettura degli Elaboratori
Logica negata (si presta al wired-or O.C.)
© 2010
7
44
Y = A1•B1 • A2•B2 • A3•B3
(De Morgan)
Y = A1•B1 + A2•B2 + A3•B3
Architettura degli Elaboratori
© 2010
Ciclo di lettura in una DRAM
T1
T2
T3
Clock
Indirizzo
T5
T6
T7
tc
riga
44
riga
colonna
1. Memorizza indirizzo di
riga; legge la riga e la RAS
memorizza nei latch dati
2. Memorizza indirizzo
di colonna
T4
8
ta
CAS
5. Trasferimento del dato
letto; fine del ciclo.
3. Refresh della riga
(ricopia nella riga
Dout
i bit dai latch dati) 4. Dato valido
dato
il ciclo di lettura tc (indicato anche con tRC) è di 6 periodi di clock;
il tempo di accesso ta (indicato anche con tRAC) è di 4 periodi (tc>ta);
con clock a 66 MHz (Tc=15ns) si avrebbe: tc = 90 ns, ta = 60 ns;
la velocità di una DRAM è spesso definita dal tempo di accesso ta.
© 2010
Architettura degli Elaboratori
Ciclo di refresh in una DRAM
T1
T2
T3
T4
9
T5
T6
44
Clock
Indirizzo
riga
RAS
1. Memorizza indirizzo di
riga; legge la riga e la
memorizza nei latch dati
2. Refresh della riga
(ricopia nella riga
i bit dai latch dati)
Architettura degli Elaboratori
© 2010
Ciclo di scrittura in una DRAM
T1
T2
T3
T4
10
T5
T6
Clock
Indirizzo
44
riga
colonna
riga
1. Memorizza indirizzo di
riga; legge la riga e la RAS
memorizza nei latch dati
2. Invio del dato
Din
3. Write Enable
WE
dato
2. Memorizza indirizzo di
colonna e modifica, nei CAS
latch dati, il bit da scrivere
4. RAS alto: ricopia, dai latch dati, la riga modificata
5. CAS alto: termina il ciclo di scrittura
Architettura degli Elaboratori
© 2010
Fast Page Mode (FPM) DRAM
11
È un esempio della strategia 3): sfrutta il fatto che accessi
consecutivi spesso interessano colonne successive della stessa riga.
RAS\ rimane attivo per un intero ciclo di riga (=“pagina”): basta
fornire l’indirizzo di riga una sola volta all’inizio dell’accesso.
44
Ogni ciclo di CAS\ include: impostazione dell’indirizzo di colonna,
attivazione di CAS\, attesa del dato in uscita, latch del dato,
refresh, disattivazione di CAS\ (necessaria per segnalare il
termine del ciclo).
Timing: indica il numero di cicli di clock necessari per il primo
accesso a un dato della riga, seguito da quelli per gli accessi ai dati
successivi nella medesima riga.
Valori tipici per FPM: 6-3-3-3 o 5-3-3-3 con celle da 70 ns o 60 ns
(bus a 66 MHz).
Architettura degli Elaboratori
© 2010
Fast Page Mode: temporizzazioni
tRCD
tPC
12
= RAS to CAS delay = 3 Tc
= page (CAS) cycle = 3 Tc
tPC
44
tPC
timing:
5-3-3-3
Tc
tRCD
tCAC
tRAC
clock
il primo dato della riga è disponibile
con un ritardo (tRAC) di 5 Tc dopo RAS\
i dati successivi sono
disponibili ogni 3 Tc
Architettura degli Elaboratori
FPM: temporizzazioni in dettaglio
© 2010
13
44
Architettura degli Elaboratori
© 2010
Extended Data Output (EDO) DRAM
14
Vengono aggiunti dei latch dati che mantengono
il dato appena letto, consentendo di anticipare
la disattivazione di CAS\ e l’invio dell’indirizzo
della colonna successiva.
Si può così ridurre il periodo tPC del segnale
CAS\ dopo il primo accesso: il segnale CAS\
rimane disattivato per il minimo intervallo di
tempo.
44
Timing: 5-2-2-2 o 5-3-3-3 con celle da 50..70 ns
(bus a 66 MHz)
© 2010
Architettura degli Elaboratori
EDO DRAM: temporizzazioni
15
44
tCAC
= column access time
Architettura degli Elaboratori
tPC
= page (CAS) cycle
© 2010
EDO DRAM: temporizzazione in dettaglio
16
44
Architettura degli Elaboratori
© 2010
SIMM (Single In-line Memory Module)
17
DRAM 4M x32 - 72 pin SIMM (Micron), chip 4Mx4
44
DRAM 8Mx32, chip 4Mx4 su entrambe le facce
Architettura degli Elaboratori
© 2010
SIMM - 2
4Mx32 DRAM - 72 pin SIMM (Micron)
18
44
Architettura degli Elaboratori
Evoluzione dei moduli SIMM
• 30 pin, DB da 8 bit (primi anni ’90)
● per fornire 16 bit alla volta (286, 386 SX)
occorrevano 2 moduli giustapposti
● per fornire 32 bit alla volta (386 DX)
occorrevano 4 moduli giustapposti
© 2010
19
44
• 72 pin, DB da 32 bit (metà anni 90)
● con l’avvento del Pentium e del bus PCI
● per fornire 64 bit alla volta (Pentium)
occorrevano 2 moduli giustapposti
Architettura degli Elaboratori
© 2010
Evoluzione dei moduli SIMM → DIMM
20
DIMM (Dual In-line Memory Module):
● una schedina su cui sono collocati i chip di memoria,
44
caratterizzata da un bus dati da 64 bit;
● i moduli DIMM hanno ormai sostituito i moduli SIMM
(Single In-Line Memory Module), nei quali il bus dati è
da 32 bit;
● nei moduli SIMM (72 pin), i contatti sulle 2 facce
della scheda sono uniti e formano un contatto unico;
nei DIMM (168 pin), i contatti opposti sono
elettricamente isolati e formano 2 contatti separati;
● le attuali DDR3 usano DIMM da 240 pin e DB da 128
bit
ECC (Error Correction Codes):
● un chip in più contenente bit aggiuntivi per consentire
la correzione di errori sui dati memorizzati.
Architettura degli Elaboratori
© 2010
Interfaccia sincrona (SDRAM)
21
Dopo l’accesso al primo dato di una riga, anziché attendere l’invio
degli indirizzi di colonna successivi, questi vengono generati
internamente alla DRAM con semplici incrementi (burst counter).
44
Le operazioni interne della DRAM sono strettamente regolate dal
clock, che è l’unico segnale di temporizzazione da fornire per i dati
della riga successivi al primo.
Più comandi possono essere accodati (pipelining): si ottengono così
prestazioni migliori e si possono usare bus a frequenze più elevate.
Il tempo per l’accesso al primo dato (SDRAM latency) è maggiore di
quello per i dati successivi della stessa riga (CAS latency).
SDRAM latency e CAS latency sono ancora espresse in numero di
cicli di clock: 5-1-1-1 (SDRAM Latency = 5, CAS Latency = 1).
La CAS latency è determinata dal column access time tCAC. Le
specifiche JEDEC prevedono valori di CAS latency pari a 1, 2, o 3.
Architettura degli Elaboratori
© 2010
JEDEC Synchronous DRAM (SDRAM)
22
JEDEC = Joint Electron Devices Engineering Council (1958)
Dal 1993 definisce i tipi base di DRAM sincrona.
44
Caratteristiche:
● interfaccia sincrona;
● architettura a banco multiplo: consente di avviare un accesso
ad un altro banco, prima che sia completato l’accesso
precedente (su un banco diverso);
● burst mode.
Una volta selezionata la riga, CS\, RAS\, CAS\, WE\ codificano
il comando da eseguire (sincronizzato dal clock).
Un registro “programmabile” di modo stabilisce:
● il tipo (sequential o interleaved) e le modalità di burst;
● la lunghezza del burst (1 bit, 2 bit, 4 bit, …);
● la CAS latency (1, 2 o 3).
Architettura degli Elaboratori
SDRAM: diagramma a blocchi
© 2010
23
44
Architettura degli Elaboratori
© 2010
SDRAM: esempio di architettura interna
SDRAM 4Mb (512 KB)
divisa internamente in
2 banchi 512x256x16
24
44
ind. di riga: 10 bit
(A9 seleziona banco,
A8..A0 → 512 righe)
ind. di colonna: 8 bit
(A7..A0 → 256 col)
Architettura degli Elaboratori
SDRAM: lettura SDRAM
© 2010
25
44
Architettura degli Elaboratori
© 2010
SDRAM: comando READ
26
44
Architettura degli Elaboratori
SDRAM: CAS latency
© 2010
27
44
Architettura degli Elaboratori
© 2010
CAS latency: determinazione
28
All’inizio di un ciclo di lettura burst viene impostato
l’indirizzo di riga e, nel successivo fronte di salita del
clock, vengono attivati i segnali RAS\ e CS\. Ciò avvia
il recupero dell’intera riga selezionata.
Trascorso un tempo pari a tRCD (RAS\ to CAS\ delay),
nel successivo fronte di salita del clock può essere
attivato CAS\.
44
Trascorso un ulteriore tempo pari a tCAC (column access
time), il primo dato è leggibile sulle linee d’uscita.
Perché tutto funzioni deve essere:
CASLatency * tCLK ≥ tCAC
Architettura degli Elaboratori
© 2010
SDRAM: evoluzione
29
SDR (Single Data Rate) SDRAM PC100
● Specifiche Intel per sistemi con bus a 100 MHz
● Timing 4-1-1-1
44
DDR (Double Data Rate) SDRAM
● L’output ha luogo su entrambi i fronti del clock
● Frequenze di clock fino a 200 MHz
DDR-2 SDRAM
● Aumenta la dimensione della minima unità di lettura/scrittura;
questo vincolo permette ottimizzazioni, con clock fino a 400 MHz.
DDR-3 SDRAM
● Ulteriore raddoppio della minima unità di lettura/scrittura, e
quindi della frequenza di clock (400÷800 MHz)
Enhanced SDRAM (ESDRAM)
● SDRAM con una porzione di cache statica on-chip
(fino a 200 MHz)
Architettura degli Elaboratori
© 2010
Caratteristiche delle DDR SDRAM
30
44
Architettura degli Elaboratori
Timing per SDRAM DDR-n
• misurati in periodi di system clock
• 4 valori
● tCL
CAS latency
tempo tra comando READ e
dato disponibile in uscita
● tRCD
RAS to CAS delay
tempo tra comando ACTIVE e
comando READ/WRITE
● tRP
Row Precharge
tempo tra comando PRECHARGE e
comando ACTIVE
● tRAS
Row Active time
tempo tra un comando ACTIVE e un
comando PRECHARGE
© 2010
31
44
es: DDR3 OCZ HPC1333 standard PC3-10600
(3/2008)
Clock 1.333 MHz
timing 6-5-5-20
Architettura degli Elaboratori
© 2010
32
44
Architettura degli Elaboratori
© 2010
33
44
Architettura degli Elaboratori
© 2010
Interfaccia basata sul protocollo
34
Indirizzi (row e col) e dati vengono trasmessi
in parallelo con modalità pipelined sul medesimo bus
(mentre nelle SDRAM gli indirizzi seguono percorsi
diversi da quelli dei dati).
44
RDRAM (Rambus DRAM), DRDRAM (Direct Rambus DRAM)
● Soluzione proprietaria (Rambus Inc.)
● Adotta un approccio diverso rispetto a DDR e DDR2:
anziché usare bus dati con molte linee, usa un bus
da 16 bit con una elettronica progettata in modo da
assicurare alte frequenze operative
● I dati sono trasferiti su entrambi i fronti del clock
(come DDR)
● Data rate fino a 1.6 GB/s (standard PC800) e 2.1 GB/s
(standard PC1066)
Architettura degli Elaboratori
© 2010
Principali produttori di DRAM – 3Q 2009
35
44
(ROK)
(ROK)
(J)
(USA)
(Taiwan)
(Taiwan)
(Taiwan)
(Taiwan)
(Taiwan)
I primi 4 produttori detengono più dell’80% del mercato!
Il mercato delle memorie DRAM è molto dinamico …
Architettura degli Elaboratori
© 2010
Principali produttori di DRAM – Q1 2008
36
44
• Nel 2007 è iniziato un sensibile calo delle entrate dovuto a sovrapproduzione
• Nel 2009 Qimonda (D) (ex Infineon) è fallita ed ha cessato la produzione, in
parte rilevata dalla rivale Micron.
© 2010
Architettura degli Elaboratori
Principali produttori di semiconduttori
Revenue
(million
$ USD)
2009/2008
changes
Market
share
USA
32 095
-5.0%
14.2%
South Korea
17 123
+1.3%
7.6%
10 640
-4.0%
4.7%
9 612
-13.2%
4.2%
8 400
-18.6%
3.7%
USA
6 475
0.0%
2.9%
Hynix
South Korea
5 940
-1.4%
2.6%
6
Renesas Technology
Japan
5 664
-19.3%
2.5%
9
12
AMD
USA
5 038
-7.6%
2.2%
10
7
Sony
Japan
4 670
-32.8%
2.1%
11
11
NEC
Japan
4 403
-24.4%
1.9%
12
10
Infineon
Germany
4 340
-27.1%
1.9%
13
14
Broadcom
USA
4 198
-9.6%
1.9%
14
16
Micron Technology
USA
3 995
-9.9%
1.8%
15
24
MediaTek
Taiwan
3 524
+21.7%
1.6%
16
19
Elpida Memory
Japan
3 498
-2.8%
1.5%
17
13
Freescale
USA
3 344
-32.7%
1.5%
18
15
Panasonic
Japan
3 330
-25.6%
1.5%
19
17
NXP
Netherlands
3 247
-19.9%
1.4%
20
18
Sharp
Japan
2 886
-20.0%
1.3%
Top 20
142 422
-10.7%
62.8%
All Other companies
84 313
-15.2%
37.2%
TOTAL
226 735
-12.4%
100.0%
Rank
2009
Rank
2008
Company
1
1
Intel Corporation
2
2
Samsung Electronics
3
3
Toshiba
Japan
4
4
Texas Instruments
USA
5
5
STMicroelectronics
France
6
8
Qualcomm
7
9
8
Architettura degli Elaboratori
Country of origin
Italy
37
44
© 2010
Sviluppo tecnologico
38
44
Architettura degli Elaboratori
© 2010
Sviluppo tecnologico nelle DRAM
39
TECNOLOGIA
(anno) ’90 ’95
’00
’05
09
(μm) 0.35 - 0.25 - 0.22 - 0.18 - 0.15 - 0.13 - 0.11 –(nm) 90 – 60 - 45
(wafer) 200mm
300mm
(chip) 4Mb 16Mb 64Mb 256M
1G
2G
4G
44
DENSITÀ DEI CHIP DRAM
64 Mb $2-3 | $0.25/Mbyte
128 Mb $3-5 |
256 Mb $4-7 (0.18-0.13 μm)
512 Mb in produzione, 0.13 - 0.11 μm
1 Gb
in produzione, 0.11 μm - 90 nm
4 Gb
30/1/09: SAMSUNG annuncia DDR3 DRAM chip da 4Gb (50nm)
Architettura degli Elaboratori
© 2010
Capacità dei chip di DRAM
40
1G
106 Kb
256M
44
105
64M
16M
104
4M
1M
103
256K
102
64K
16K
10
1977
1980
1983
1986
1989
1992
1995
1998
2001
Legge di Moore (x 4 ogni 3 anni)
2004
© 2010
Architettura degli Elaboratori
Capacità e Velocità dei chip di DRAM
DRAM:
Disk:
Capacity
4x in 3 years
4x in 3 years
Speed (latency)
2x in 10 years
2x in 10 years
DRAM
Year
Size
19801000:1! 64 Kb 2:1!
1983
256 Kb
1986
1 Mb
1989
4 Mb
1992
16 Mb
1995
64 Mb
Architettura degli Elaboratori
2007
41
44
Cycle Time
250 ns
220 ns
190 ns
165 ns
145 ns
120 ns
© 2010
Sviluppi futuri → memorie non volatili
42
Potranno sostituire le attuali NAND Flash, ma anche le DRAM:
• PRAM (PCRAM) (Phase Change RAM): sfruttano le proprietà 44
di una lega calcogenura (Ge2Sb2Te5), in grado di cambiare
fase (cristallina o amorfa) in modo controllato elettricamente;
• FRAM (FeRAM) (Ferroelettric RAM): usano uno strato di
materiale ferroelettrico il cui stato è controllabile da un
campo elettrico;
• MRAM (Magnetoresistive RAM): usano uno strato di
materiale ferromagnetico il cui stato è controllabile da un
campo magnetico;
• NRAM (Nano-RAM): sfruttano la proprietà dei nanotubi di
carbonio di cambiare posizione meccanica (toccarsi o non
toccarsi) in modo controllato elettricamente.
Architettura degli Elaboratori
Magnetoresistive RAM (MRAM)
© 2010
43
● Ancora allo stato sperimentale
44
● Per memorizzare i dati utilizzano la polarità di minuscoli
elementi magnetici, anziché la presenza o l’assenza di cariche
elettriche (come avviene nelle DRAM)
● Non volatili: i dati non scompaiono quando manca l’alimentazione
● Nel giugno 2003 IBM e Infineon hanno presentato un chip
MRAM da 128Kbit, costruito con tecnologia da 0.18 µm
● Con memoria MRAM non volatile un calcolatore potrebbe essere
avviato istantaneamente all’accensione, con il sistema operativo
già presente in memoria
● Le memorie dei primi calcolatori (1950-1960) erano costituite
da nuclei di ferrite (non volatili): forse le RAM future saranno
basate sullo stesso principio fisico, pur con dimensioni
decisamente più ridotte
Architettura degli Elaboratori
© 2010
MRAM (IBM)
44
44
Architettura degli Elaboratori
© 2010
Fine
01.c
Le memorie dinamiche