DRAM

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi dram.

La DRAM, acronimo di Dynamic Random Access Memory, è 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.

Principio di funzionamento della DRAM[modifica | modifica wikitesto]

Attualmente le DRAM sono organizzate in un insieme di matrici quadrate di condensatori allo stato solido, la cui dimensione minima è tipicamente 1024 x 1024 bit cioè 1 M bit, ma nelle memorie recenti è anche maggiore. Di fatto, le prime DRAM (fino ad una capacità di qualche M bit), erano costituite da una sola matrice di elementi; l'aumento esponenziale della capacità della memoria ha reso necessaria l'adozione di una struttura multipla per ottimizzare le prestazioni e le capacità di recovery delle memorie.

Durante l'operazione di lettura si vuole acquisire il valore di un bit della matrice, identificato dal suo numero di riga e di colonna. Tuttavia per ottenere la lettura di questa cella, in realtà vengono letti e riscritti tutti gli elementi della riga della matrice a cui appartiene la cella. L'operazione di riscrittura è necessaria perché durante l'operazione di lettura la carica elettrica contenuta nelle celle viene degradata; così i dati devono essere ricaricati riscrivendoli. Dai dati così ottenuti viene poi selezionato, per l'uscita, un unico bit, cioè quello relativo alla colonna della cella indirizzata. L'operazione di scrittura di una cella avviene in modo simile; l'unica differenza è che nell'operazione di riscrittura viene inviato sulla colonna della cella da modificare il valore del bit che si vuole scrivere sulla cella.

Principio di funzionamento di un'operazione di lettura di una DRAM costituita da una matrice di 4 per 4 bit.

Ciascuna cella di una DRAM richiede un condensatore allo stato solido per memorizzare il bit di informazione e un transistore MOS per controllare l'accesso alla cella. Per questo motivo le celle DRAM sono più piccole e più economiche delle celle utilizzate per le RAM statiche SRAM, le quali usano latch che richiedono l'uso di quattro o sei transistori MOS, due o quattro per la realizzazione di un doppio inverter logico, e altri due per controllare l'accesso alla cella. Ciò significa che a parità di tecnologia e di anno di produzione le memorie DRAM disponibili hanno tipicamente una capacità quadrupla rispetto alle SRAM disponibili. Questo vantaggio ha però un prezzo. Infatti, come visto, nelle DRAM le operazioni di lettura sono distruttive, richiedono cioè la riscrittura del dato; questo non è necessario nelle SRAM in cui le operazioni di lettura non alterano il valore memorizzato. Inoltre, purché la memoria sia alimentata elettricamente, la cella SRAM può mantenere il dato memorizzato per un tempo indefinito. Ciò non accade per la cella DRAM; infatti poiché il bit di informazione è memorizzato come carica (presente o assente) su un condensatore, e poiché il transistore della cella non isola completamente il condensatore dalla sua colonna, il risultato è che anche se non letta la carica del condensatore si degrada rapidamente e diventa inutilizzabile in tempi dell'ordine delle decine di msec. Quindi, indipendentemente dalle operazioni di lettura-scrittura, è necessario effettuare periodicamente (a frequenze dell'ordine dei KHZ) un'operazione di lettura+riscrittura fittizia di ogni riga della matrice (refreshing). Da questa necessità deriva il termine dinamica che caratterizza questo tipo di memoria. Mentre nelle prime memorie DRAM questa operazione doveva essere comandata esternamente, attualmente questa operazione è comunemente automatizzata direttamente all'interno del circuito integrato della memoria utilizzando una unità logica dedicata; questo complica il circuito e ne diminuisce la capacità.

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.

Interfaccia DRAM[modifica | modifica wikitesto]

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 Strobe), che ordina al circuito di leggere l'indirizzo presente in entrata. Internamente, la DRAM collega la fila ad una serie di amplificatori chiamati sense amplifier, che leggono il contenuto di tutti i condensatori della fila e ne effettuano il refresh. Il circuito di controllo manda quindi il numero di colonna agli stessi pin del circuito, ed attiva il CAS (Column Address Strobe), 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.

Tipi di DRAM[modifica | modifica wikitesto]

Fast page mode DRAM[modifica | modifica wikitesto]

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.

Extended data out (EDO) DRAM[modifica | modifica wikitesto]

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 migliori moduli, ed un'alimentazione di 5.0V. Le memorie EDO su zoccolo SIMM hanno un bus di 32 bit ed 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 ed una frequenza di lavoro di 66MHz per una banda passante di 528milioni di Byte/sec (528MB/Sec)

Burst EDO (BEDO) DRAM[modifica | modifica wikitesto]

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.

Synchronous dynamic RAM (SDRAM)[modifica | modifica wikitesto]

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.

Double data rate (DDR) DRAM[modifica | modifica wikitesto]

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 di salita del segnale ed ignora quello di discesa. 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 DDR3. Lo standard DDR2 è il più usato dal 2005, mentre il DDR-3 è largamente utilizzato nelle schede video di fascia medio-alta dal 2008, e dal 2010 utilizzato nelle memorie centrali, non solo in sistemi di fascia alta. La differenza tra DDR, DDR2, e DDR3 è soprattutto nel voltaggio, nella gamma di velocità, e in alcune particolarità nell'interfaccia.

  • DDR: 2,5 V
  • DDR2: 1,8 V
  • DDR3: 1,5 V

Frequenze DDR:

Samsung ha sviluppato 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, 512 e 1024 MB. La caratteristica principale di queste memorie è una banda passante pari a 3,2 GB/s, garantiscono prestazioni tre volte superiori a quelle fornite dalle PC133 e il 50% superiori a quelle delle DDR 266.

Frequenze DDR2:

  • DDR2-400
  • DDR2-533
  • DDR2-667
  • DDR2-800
  • DDR2-1066

Frequenze DDR3:

  • DDR3-800
  • DDR3-1066
  • DDR3-1333
  • DDR3-1600
  • DDR3-1866
  • DDR3-2000
  • DDR3-2133
  • DDR3-2400
  • DDR3-2666

Direct Rambus DRAM (DRDRAM)[modifica | modifica wikitesto]

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 DRAM di Rambus nella PlayStation 3.

Video DRAM (VRAM)[modifica | modifica wikitesto]

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.

Synchronous graphics RAM (SGRAM)[modifica | modifica wikitesto]

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).

Pseudostatic RAM (PSRAM)[modifica | modifica wikitesto]

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.

Legge di crescita delle DRAM[modifica | modifica wikitesto]

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:

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 bottiglia nell'esecuzione dei programmi. Lo sviluppo di grandi memorie 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.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica