DRAM
Da Wikipedia, l'enciclopedia libera.
DRAM è un acronimo che sta per Dynamic Random Access Memory. Essa è un tipo di RAM che immagazzina ogni bit in un diverso condensatore. Il numero di elettroni presenti nel condensatore determina se il bit è 1 o 0. Se il condensatore perde la carica, l'informazione è perduta: nel funzionamento la ricarica avviene periodicamente. Da qui la definizione di memoria dinamica, opposta alle memorie statiche come la SRAM. Per la caratteristica di perdere le informazioni in mancanza di energia, la DRAM viene definita anche volatile; è detta anche memoria solida.
Indice |
[modifica] Principio di funzionamento della DRAM
La DRAM è generalmente organizzata in un insieme quadrato di condensatori, tipicamente 1024 x 1024. Durante la lettura di una cella, tutta la fila e la colonna cui appartiene vengono lette e riscritte, in modo da essere ricaricate. In scrittura succede la stessa cosa: vengono letti tutti questi dati e riscritti, col valore da cambiare modificato.
Le celle della DRAM sono più piccole e più economiche della SRAM, che usano flip-flop e non condensatori (un transistor e un condensatore occupano meno spazio che sei transistor).
In genere i produttori indicano che ogni fila dovrebbe essere ricaricata ogni 64 ms o meno. Questa operazione è comunemente automatizzata con una unità logica dedicata, che complica il circuito, ma che non rende la DRAM meno conveniente rispetto alla SRAM. Alcuni sistemi ricaricano tutte le file in un ciclo che dura circa 64 ms; altri ricaricano una fila alla volta. Entrambi i metodi necessitano di un contatore per segnalare quale fila deve essere rinfrescata nel ciclo successivo. Alcuni sistemi includono questo contatore; altri richiedono una logica esterna (in alcune condizioni, l'informazione può essere recuperata anche dopo diversi minuti senza ricaricamento).
Un'alternativa alla DRAM è la memoria flash. La memoria flash disponibile attualmente costa leggermente meno della DRAM, non è volatile, ma è più lenta della DRAM in lettura e decisamente non paragonabile in scrittura.
Può accadere che, per interferenze interne al computer, un singolo bit della DRAM cambi spontaneamente stato, passando a quello opposto. Alcune ricerche hanno dimostrato che la maggior parte degli errori della DRAM contenuti in un singolo bit sono causati da raggi cosmici, che possono cambiare il contenuto di una o più celle della memoria, o interferire col circuito di lettura/scrittura. C'è la preoccupazione che con la miniaturizzazione di questa memoria e la diminuzione della tensione dei suoi circuiti, questi eventi possano accadere con frequenza sempre più alta, dato che particelle con minore energia potrebbero riuscire a interferire e provocare errori. D'altro canto la miniaturizzazione rende le celle "bersagli" meno facili per queste particelle, e la tecnologia SOI potrebbe renderle meno suscettibili agli urti con queste e quindi compensare questo fenomeno.
Nei sistemi cui è richiesta altissima affidabilità (per esempio server) o che sono esposti in modo particolare a radiazioni (satelliti) vengono usati moduli speciali di DRAM, che includono bit extra di memoria: i controllori ECC possono così scansionare e quindi correggere gli errori che possono capitare. Le versioni per PC di questi programmi possono in genere correggere errori di un bit in una parola di 64 bit, e trovare, ma non correggere, errori di più bit in una parola di tali dimensioni.
[modifica] Interfaccia DRAM
Una caratteristica importante della DRAM è chiamata address multiplexing. Questa tecnica divide l'indirizzo delle celle in due parti e le manda in successione al chip agli stessi pin. Molti microprocessori includono il controllo logico della DRAM, evitando la necessità di un controllo dedicato nella memoria.
Il chip possiede un gran numero di condensatori organizzati in righe e colonne. Per leggere una cella dell'insieme, il circuito di controllo calcola per prima cosa il numero di riga del dato, che manda ai pin del circuito di ingresso della memoria, quindi attiva il pin RAS (Row Address select), che ordina al circuito di leggere l'indirizzo presente in entrata. Internamente, la DRAM collega la fila ad una serie di amplificatori chiamati di senso, che leggono il contenuto di tutti i condensatori della fila. Il circuito di controllo manda quindi il numero di colonna agli stessi pin del circuito, ed attiva il CAS (Column Address Select), facendo leggere al circuito l'indirizzo di colonna del dato. La DRAM lo usa per identificare il dato necessario all'interno dell'output degli amplificatori. Dopo un intervallo di tempo chiamato CAS access time, il dato viene trasmesso all'esterno tramite il pin I/O della DRAM.
Per la scrittura il procedimento è lo stesso, ma il controllo invece di ricevere dalla DRAM il dato alla fine, lo fornisce all'inizio.
Dopo un'operazione di lettura o scrittura, il controllo riporta i pin della memoria allo stato di riposo, per prepararla all'operazione successiva. La DRAM necessita di un intervallo di riposo tra un'operazione e la successiva, chiamato precharge interval.
Una volta che il circuito ha selezionato una riga, può scegliere vari dati in successione comunicandone l'indirizzo di colonna ed attivando il CAS. Questo metodo è più veloce del processo intero, e può essere usato soprattutto per le istruzioni del processore, che tendono ad essere immagazzinate consecutivamente.
La descrizione fatta sopra riguarda le DRAM a singolo bit. Molte DRAM sono multibit (spesso a quattro od otto), dato che possiedono più insiemi di celle che operano contemporaneamente, ognuno fornito di un pin I/O, e permettono il trasferimento di più bit contemporaneamente. Questo è grossomodo equivalente ad avere più DRAM che operano insieme, ma permette di risparmiare spazio dato che condividono i pin di indirizzo e di controllo.
[modifica] Speciali tipi di DRAM
[modifica] Fast page mode DRAM
La Fast page mode DRAM è anche chiamata FPM DRAM, Page mode DRAM, Fast page mode memory, o Page mode memory.
In page mode una riga può essere mantenuta aperta, in modo da non dover soffrire di precharge interval se il sistema torna su quella riga. Questo velocizza i procedimenti che comportano grossi trasferimenti di dati.
La Static column è una variante della page mode in cui l'indirizzo di colonna non necessita di essere introdotto.
La Nibble mode è un'altra variante con cui si può accedere a quattro indirizzi consecutivi della stessa riga.
[modifica] Extended data out (EDO) DRAM
La EDO DRAM (acronimo di Extended Data Output) è simile alla FPM DRAM, con l'aggiunta che l'indirizzo di riga può essere introdotto mentre il dato precedente viene comunicato in output. Questo permette un accavallarsi delle operazioni (pipelining) che migliora le prestazioni. Era più veloce della FPM DRAM del 5% circa quando cominciò a rimpiazzarla nel 1993. Le memorie EDO sono una stretta evoluzione delle memorie FP alle quali aggiungono una "funzione" in grado di mantenere validi i dati anche dopo la fine dell'impulso di richiesta. In questo modo il processore ottimizza il suo lavoro prelevando i dati nella memoria dopo che sono stati resi disponibili dalla RAM senza aver tempi morti per la ricerca dei dati nella ram stessa. Le memorie con tecnologia EDO sono state costruite sia nel formato di SIMM a 72 contatti, sia che nel formato DIMM a 168 contatti; hanno entrambi un tempo di accesso che varia dai 60ns ai 45ns, nel caso dei migliri moduli, ed un'alimentazione d 5.0V. Le memorie EDO su zoccolo SIMM hanno un bus di 32 bit e una frequenza di lavoro di 8MHz per una banda passante di 32 milioni di Byte/Sec (32MB/Sec) Le memorie EDO su zoccolo DIMM hanno un bus di 64 bit e una frequenza di lavoro di 66MHz per una banda passante di 528milioni di Byte/sec (528MB/Sec)
[modifica] Burst EDO (BEDO) DRAM
Evoluzione della precedente, la BEDO DRAM poteva elaborare quattro indirizzi in una operazione, per un massimo di 5-1-1-1, risparmiando tre ulteriori cicli di clock rispetto ad una EDO DRAM in condizioni ottimali. Ciò era ottenuto inserendo un contatore di indirizzo che teneva traccia dell'indirizzo successivo. Inoltre introdusse una specie di pipeline che permetteva di scomporre il ciclo di accesso in due stadi. Durante un'operazione di lettura, il primo componente trasferiva il dato dalla memoria allo stadio di output. Questo lo mandava all'appropriato livello logico. Dato che il dato è già nel buffer di output, il processo avviene più velocemente (fino al 50% per grandi quantità di dati rispetto alla EDO DRAM).
Nonostante la BEDO DRAM fosse migliorata rispetto alla EDO, nel momento in cui si rese disponibile il mercato si stava muovendo significativamente verso la SDRAM.
[modifica] Synchronous dynamic RAM (SDRAM)
La SDRAM è un tipo aggiornato di DRAM. Mentre la DRAM ha un'interfaccia asincrona, cioè risponde immediatamente agli input, la SDRAM è sincrona, cioè attende il segnale di clock successivo per rendere effettivi i cambiamenti ordinati. Il clock è usato per guidare una macchina a stato finito che ha capacità di pipelining sui comandi in ingresso. Questo le permette di avere un modo di operare più complesso rispetto alla semplice DRAM.
Grazie alla pipeline la memoria può accettare un comando in arrivo prima di aver completato lo svolgimento del precedente. Così possono essere trasmessi in sequenza più comandi di scrittura senza aspettarne il completamento. In lettura il dato compare dopo un determinato numero di cicli di clock rispetto al comando, ma non è necessario aspettare che appaia prima di mandare il comando successivo. Questo intervallo è definito latenza ed è un fattore molto importante per le prestazioni della memoria.
La SDRAM fu introdotta nel 1997 e per il 2000 aveva sostituito la DRAM nei personal computer per le sue migliori prestazioni. Il consorzio di produttori JEDEC sta sviluppando lo standard per le memorie DDR SDRAM, le quali risultano al giorno d'oggi il migliore compromesso fra prezzo e prestazioni.
[modifica] Double data rate (DDR) DRAM
La DDR SDRAM è un ulteriore miglioramento della SDRAM, usata nei PC a partire dal 2000. Tutti i tipi di SDRAM usano come segnale di clock un'onda quadra: ciò significa che il segnale cambia alternativamente tra due voltaggi (0 e 1), generalmente milioni di volte al secondo. La tradizionale SDRAM, come la maggior parte dei circuiti sincroni, si attiva sul fronte crescente del segnale ed ignora quello opposto. La DDR opera in entrambi gli istanti, a volte raddoppiando la quantità di dati trasferiti nello stesso tempo.
Lo standard DDR si sta evolvendo, da DDR a DDR2 a DDR-3. Ci si aspetta che il DDR2 diventi lo standard più usato nel 2005, mentre è iniziato lo sviluppo del DDR-3 e la standardizzazione con il JEDEC. La differenza tra DDR, DDR2, e DDR-3 è soprattutto nel voltaggio, nella gamma di velocità, e in alcune particolarità nell'interfaccia.
- DDR: 2,5 V
- DDR2: 1,8 V
- DDR-3: non ancora specificato (si ipotizza tra i 1,2 e 1,5 V)
Samsung sviluppa per prima chip DDR 400, banchi di memoria con frequenza di funzionamento a 200 MHz (400 MHz effettivi). Altri tipi di DDR sono presenti:
- DDR 200
- DDR 266
- DDR 333
- DDR 400, il consorzio JEDEC rinomina questo tipo di memoria con il nome di PC3200 nei tagli da 128, 256 e 512 MB. La caratteristica principare di queste memorie è una banda passante pari a 3,2 GB/s, garantiranno prestazioni tre volte superiori a quelle fornite dalle PC133 e il 50% superiori a quelle delle DDR 266.
[modifica] Direct Rambus DRAM (DRDRAM)
La Direct Rambus DRAM, spesso chiamata DRDRAM, è internamente simile alla DDR SDRAM, ma usa per il segnale una speciale tecnologia sviluppata da Rambus che permette velocità di clock maggiori. I chip RDRAM sono divisi in moduli chiamati RIMM, non compatibili con i DIMM della SDRAM. Intel ha ottenuto la licenza per la tecnologia e ha sviluppato dei chipset con supporto per la RDRAM. I primi sistemi con Pentium 4 potevano usare solo RDRAM ma, dato che i prezzi della memoria rimanevano alti, alla fine fu introdotto il supporto anche per la DDR (la VIA Technologies aveva già sviluppato un chipset per Pentium 4 con supporto DDR, ma ne fu impedito l'utilizzo per vie legali, così VIA decise di costruirci schede madri proprie, ma non ebbero molto successo). La RDRAM quasi scomparì dai nuovi sistemi nel 2003, per la presenza del supporto di DDR da parte del Pentium 4 e per il minor costo della SDRAM. Sony ha usato le memorie RDRAM per la sua PlayStation 2 ed ha annunciato che userà le memorie XDR di Rambus nella PlayStation 3.
[modifica] Video DRAM (VRAM)
La VRAM è una memoria DRAM con doppio ingresso prima usata nelle schede video. Al momento è praticamente obsoleta, sostituita da SDRAM e SGRAM. La VRAM possiede due ingressi alla memoria che possono essere usati contemporaneamente. La prima porta può essere usata come una normale DRAM. La seconda è di sola lettura e serve a fornire al display un flusso continuo di dati. Per usarla il controllo video usa per prima cosa la porta DRAM per selezionare una riga, che viene interamente copiata in un registro principale. Il controllo può quindi continuare ad usare la porta DRAM per disegnare oggetti sullo schermo. Nel frattempo fornisce alla porta video un segnale di clock chiamato shift clock (SCLK). Ad ogni impulso di questo la VRAM fornisce i dati contenuti nel registro alla porta video. Per semplicità le schede video sono programmate per fare in modo che una linea contenuta nella memoria, e quindi nel registro, corrisponda ad una linea di pixel completa nel display.
[modifica] Synchronous graphics RAM (SGRAM)
La SGRAM è un tipo di SDRAM adattata per le schede video. Include funzioni quali quella di bit masking (dà la possibilità di scrivere un bit specifico senza influire sugli altri) e quella di block writing (permette di riempire un intero blocco di memoria con un solo colore).
[modifica] Pseudostatic RAM (PSRAM)
La PSRAM è una DRAM con circuiti di controllo degli indirizzi e del ricaricamento integrati, in modo tale da risultare analoga ad una SRAM. Essa combina l'alta capacità della DRAM con la semplicità d'uso della SRAM. Alcune DRAM possiedono sia la modalità di auto-ricaricamento che quella normale con controllo esterno.
[modifica] Legge di crescita delle DRAM
Dal 1977, questo componente ha avuto una notevole e costante crescita sia in termini di capacità che (in misura minore) di velocità di accesso. L'industria delle DRAM ha quadruplicato la capacità di memoria ogni 3 anni, con un incremento che si aggira attorno al 60% annuo, in pratica "quattro volte ogni tre anni"; questa affermazione viene chiamata la legge di crescita delle DRAM.
Questo rapporto è molto simile alla legge di Moore, l'osservazione empirica che l'evoluzione elettronica porta a un raddoppio della capacità elaborativa (dei computer) ogni 18 mesi. Tale "legge" si è mantenuta vera fino ad oggi, ma arriverà un momento in cui si andrà incontro al limite fisico dei materiali.
La crescita delle memorie è in parte dovuta all'utilizzo del silicio. Considerato come un cattivo conduttore in forma grezza, il silicio, sottoposto a speciali processi chimici, può comportarsi in 3 diversi modi:
- Come un eccellente conduttore elettrico,
- Come un eccellente isolante elettrico,
- Come un'area che può condurre oppure non condurre sotto particolari condizioni (drogaggio).
Sviluppando sempre più intensamente questo materiale, si sono raggiunti risultati sempre maggiori, aumentando la densità di memoria del singolo chip.
Bisogna tener presente che nella valutazione generale delle prestazioni, anche il costo del prodotto finito ha un peso molto importante: senza una diminuzione costante dei prezzi, non avremmo avuto la crescita che si è vista in questi ultimi anni
Prendendo in esame il costo di 1 Mbyte di memoria DRAM abbiamo un fattore di:
- 5000 nel 1977
- 32 nel 1990
- 0.25 nel 2000
- 0.125 nel 2001
Il costo sta via via diminuendo, quasi a dimezzarsi ogni anno.
Se il progresso tecnologico è stato rapido, si deve anche al fatto che è stato incentivato dalle richieste del mercato: sono aumentati i linguaggi di programmazione, gli stessi programmi sono diventati più complessi e richiedono una CPU veloce, ma anche una memoria in grado di caricare velocemente il codice in esecuzione.
Anche se la crescita della capacità di memoria è andata di pari passo con l'incremento delle prestazioni dei processori, un problema grave è rimasto nel tempo di accesso: in origine le CPU funzionavano a frequenze simili a quelle delle memorie, ma negli ultimi anni il loro aumento di velocità è stato molto più rapido. Il risultato è che un processore moderno funziona a frequenze anche 10 volte più elevate di quelle della RAM che gli fornisce i dati, creando un ovvio collo di bottoglia nell'esecuzione dei programmi. Lo sviluppo di grandi memoria cache ha permesso di risolvere, sebbene solo in parte, questo problema.
Prendendo in considerazione questo aspetto, l'aumento delle prestazioni cala portandosi a una crescita complessiva del 9% annuo, ovvero le prestazioni (intese come spazio della memoria e velocità) raddoppiano ogni 10 anni Considerando questo nuovo punto di vista, ogni anno abbiamo un divario tra prestazioni della CPU e memoria RAM che s'incrementa del 50%
Dalle stime economiche del 2004, i dati sono più che positivi per il mercato delle DRAM, che porta a casa un incremento del 20%, raggiungendo un fatturato di 6.7 miliardi di dollari. Per gli analisti però il comparto avrebbe oramai raggiunto il suo massimo, e nel corso del 2005 potrebbe già iniziare una fase di recessione. La maggior parte dei produttori, sostengono gli analisti, sta investendo molto su nuove strutture produttive, grazie ai profitti che stanno registrando, e questo porterà a un eccesso di produzione verso la fine del 2005, inizio 2006. Ciò vuol dire che per il futuro si cercheranno altri sistemi che possano prendere il posto delle odierne DRAM.