Memorie Dinamiche

Transcript

Memorie Dinamiche
DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
1
•
•
•
•
•
•
Memoria centrale:
è costituita da una sequenza ordinata di registri;
ciascun registro è individuato da un indirizzo;
se l’indirizzo è specificato con N bit, sono indirizzabili 2N registri e i loro indirizzi
sono i numeri naturali da 0 a 2 N-1 (con N=32 bit, è possibile indirizzare una
memoria contenente 4G registri);
nei calcolatori attuali i registri di memoria indirizzabili sono registri da 8 bit (un
byte); ma generalmente il numero di linee dati del bus che accede alla memoria è
tale da consentire di scrivere e leggere, con un unico accesso alla memoria, anche
coppie di byte (word, da 16 bit), quaterne di byte (long word, da 32 bit) e, in alcuni
calcolatori più recenti, anche gruppi di 8 byte (quadword, da 64 bit);
si definisce tempo di accesso ta il tempo necessario per completare un’operazione
di lettura o di scrittura;
i valori dei tempi di accesso per le memorie attualmente utilizzate sono:
- memorie statiche (SRAM):
- 1.4 ÷15 ns (high speed)
- 35 ÷ 100 ns (low power)
- memorie dinamiche (DRAM):
- 50 ÷70 ns (DRAM asincrone)
- 7 ÷ 12 ns (SDRAM sincrone) (+ latenza: per il primo dato ci vuole
un tempo 4-5 volte quello per i dati successivi)
Classificazioni delle memorie
• Tecnologia:
o BIPOLARI (BIT)
o MOS (FET)
• Principio di funzionamento:
+ veloci
+estese
o STATICHE (SRAM) flip-flop
o DINAMICHE (DRAM) carica di un condensatore (refresh)
• Funzioni:
o RAM (rwm)
o ROM
−
−
−
−
PROM
EPROM
E2PROM
FLASH
erase
20 m (chip)
5 ms (byte)
1 s (sector)
read-write
read-only
write
100 µs
5 ms
100 µs
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
read
200 ns
35 ns
200 ns
2
esempi d’uso
bios, monitor, …
cellulari, sintonizzatori, …
foto digitali, mp3, bios, …
Memorie dinamiche (DRAM)
cella DRAM:
row select
transistor
condensatore
bit line
Operazione di scrittura:
1. imposta il valore (H o L) nella bit line,
2. seleziona la riga (attiva row select): il transistor diventa un interruttore chiuso e la tensione
della bit line si trasferisce ai capi del condensatore (caricandolo o scaricandolo); quando il
row select viene disattivato, il transistor diventa un interruttore aperto e il condensatore
conserva la carica (mantiene memorizzato il bit).
Operazione di lettura:
1. precarica la bit line a circa metà della tensione H,
2. seleziona la riga (attiva row select): il transistor diventa un interruttore chiuso e la corrente
che circola tra il condensatore e la bit line rivela il bit memorizzato (rivela se il
condensatore memorizzava un valore H o L); così però viene alterata la carica del
condensatore;
3. riscrivi il valore (H o L) letto (ripristina la carica del condensatore).
Operazione di refresh:
1. esegui un’operazione di lettura su tutte le celle della stessa riga.
Esempio di refresh:
si consideri un chip DRAM da 64k ×1 (256 righe × 256 colonne) con ta = 60 ns;
sia necessario operare il refresh di ciascuna cella ogni 4 ms.
Poiché una operazione di refresh interessa una intera riga alla volta, ne vanno fatte 256 ogni 4 ms;
cioè una ogni 4/256 ms ≈16 µs (periodo di refresh)
Per il refresh viene usato un ciclo di memoria (da 60 ns) ogni circa 16 µs,
cioè ogni 16000/60 = 267 cicli.
Il ciclo impegnato per il refresh non è disponibile per le altre operazioni di accesso alla memoria
“normali”.
Pertanto, in questo esempio, l’operazione di refresh impegna meno del 0.4% dei cicli di memoria.
Se l’operazione di refresh dovesse essere eseguita su ciascun singolo elemento, anziché su tutti
gli elementi di una riga, servirebbe un refresh ogni 4/(256×256) ms ≈61 ns: verrebbero così
impegnati per il refresh tutti i cicli della memoria (la quale, non essendo possibile accedervi per
leggere o scrivere, non servirebbe a nulla!)
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
3
Memorie dinamiche (DRAM)
Interfaccia asincrona
Il processore deve attendere idle il completamento dell'operazione su memoria
Page Mode Address
Architettura base, accesso a locazioni successive, segnali RAS\ e CAS\
Fast Page Mode (FPM DRAM)
Realizzazione effettiva, RAS\ rimane attivo per l'intero ciclo di pagina, l'output si spegne
quando CAS\ si disattiva, bus a 66MHz, timing 6-3-3-3 o 5-3-3-3 con celle da 70ns, 60ns
Extended Data Output (EDO DRAM)
L'output rimane impostato durante l'accesso alla colonna successiva, bus a 66MHz, timing
5-2-2-2 con celle da 50..70 ns
Burst Extended Data Output (BEDO DRAM)
Viene aggiunto un contatore interno per i successivi accessi a colonna, bus a 66MHz timing
5-1-1-1 con celle da 50..70 ns (poco sviluppato)
Interfaccia sincrona
I segnali sono direttamente in sincronia con il bus e, con l'uso di opportuni latch, si aumenta il
parallelismo con la CPU (bus oltre i 66MHz)
CasLatency * ClockPeriod ≥ ColumnAccessTime
JEDEC Synchronous RAM (SDRAM)
Tipo base di SDRAM, architettura a banco doppio, regolazione del CAS latency (1,2 o 3),
bus a 66 MHz, timing 5-1-1-1 con celle da 35..60 ns
PC100 SDRAM
Standard Intel per sistemi con bus a 100 MHz, timing 4-1-1-1
Double Data Rate (DDR SDRAM)
L'output ha luogo su entrambi i fronti del clock
Enhanced SDRAM (ESDRAM)
SDRAM con una porzione di cache statica on-chip per (fino a 200 MHz)
Interfaccia basata su protocollo
Per ridurre i tempi di trasmissione, indirizzi e dati vengono codificati sul medesimo bus.
Direct Rambus DRAM (DRDRAM)
Soluzione proprietaria con promessa fino a 800 MHz; ha presentato svariati problemi e
attualmente supporta una velocità circa doppia delle attuali SDRAM
SyncLink DRAM (SLDRAM)
Soluzione open-standard, a costi più bassi di DRDRAM, con velocità di almeno 200 MHz,
output sui due fronti del clock
(vedi:
http://www6.tomshardware.com/mainboard/index.html
http://www6.tomshardware.com/mainboard/19981024/)
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
4
PRINCIPALI PRODUTTORI DI CHIP DI MEMORIA
SAMSUNG
(Sud Corea)
MICRON
(USA)
HYNIX (ex HYUNDAI)
(Sud Corea)
NEC
(Giappone)
ELPIDA
HITACHI
(Giappone)
MITSUBISHI
TOSHIBA
FUJITSU
INFINEON
(Germania)
1999: Giappone > 50%
2001 Gippone ~26%
MERCATO DEI SEMICONDUTTORI
USA ~35%
USA ~53%
TECNOLOGIA
(µm) 0.35 - 0.25 - 0.22 - 0.18 → 0.15 → 0.13 - 0.11
DENSITÀ DEI CHIP SDRAM
64 Mb
$2-3
128 Mb
256 Mb
512 Mb
1 Gb
4 Gb
$0.25/Mbyte
$3-5
$4-7 (0.18-0.13 µm)
in produzione, 0.13 - 0.11 µm
in produzione, 0.13 - 0.11 µm,
campioni, 0.11 µm
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
5
Esempio di chip di memoria dinamica SDRAM da 64 Mbit (disponibikle in tre versioni: 4M×4, 2M×8, 1M×16):
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
6
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
7
Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche
8