| PrecedenteMemoria | La memoria viva (RAM o memoria PC) | SeguenteMemoria morta (ROM) |
Si distinguono generalmente due grandi categorie di memorie vive :
La memoria viva è costituita da centinaia di migliaia di piccoli condensatori che immagazzinano delle cariche. Una volta caricato, lo stato software del condensatore è pari a 1, in caso contrario esso è a 0, il che significa che ogni condensatore rappresenta un bit della memoria.
Dato che i condensatori di scaricano, bisogna costantemente ricaricarli (il termine esatto è rafraîchir, en anglais refresh) ad un intervallo di tempo regolare detto ciclo di refresh. Le memorie DRAM hanno ad esempio bisogno di cicli di refresh ogni 15 nanosecondi (ns) circa.
Ogni condensatore è accoppiato ad un transistor (di tipo MOS) che permette di « recuperare » o di modificare lo stato del condensatore. Questi transistor sono disposti sotto forma di tabella (matrice), cioè si accede ad una case memoria (detta anche punto memoria) per una linea e una colonna.

Ogni punto memoria è quindi caratterizzato da un indirizzo, corrispondente ad un numero di linea (in inglese row) e un numero di colonna (in inglese column). Ora questo accesso non è istantaneo e si effettua durante un periodo dettotempo di latenza. Di conseguenza, l'accesso ad un dato in memoria dura un tempo uguale al tempo di ciclo al quale bisogna aggiungere il tempo di latenza.
Così, per una memoria di tipo DRAM, il tempo di accesso è di 60 nanosecondi (35ns di periodo di ciclo e 25 ns di tempo di latenza). In un computer, il tempo di ciclo corrisponde al contrario della frequenza dell'orologio, ad esempio per un computer cadenzato a 200 MHz, il tempo di ciclo è di 5 ns (1/(200*106)).
Di conseguenza, un computer con una frequenza elevata e che utilizzi delle memorie il cui tempo di accesso è molto più lungo del tempo di ciclo del processore deve effettuare dei cicli di attesa (in inglese wait state) per accedere alla memoria. Nel caso di un computer cadenzato a 200 MHz che utilizza delle memorie di tipo DRAM (il cui tempo di accesso è di 60ns), vi sono 11 cicli di attesa per un ciclo di trasferimento. Le performance del computer diminuiscono con l'aumento dei cicli di attesa, si consigli dunque di utlizzare delle memorie più rapide.
Esistono numerosi tipi di memoria viva. Queste si presentano tutte sotto forma di barrette di memoria inseribili nella scheda madre.
Le prime memorie si presentavano sotto forma di chip dette DIP (Dual Inline Package). Ormai le memorie si trovano generalmente sotto forma di barrette, cioè delle schede inseribili in connettori previsti a questo compito. Abitualmente si distinguono tre tipi di barrette di RAMnbsp;:



Esistono inoltre dei moduli più piccoli, detti SO DIMM (Small Outline DIMM), destinati ai computer portatili. Le barrette SO DIMM comportano unicamente 144 PIN per le memorie a 64 bits e 77 per le memorie a 32 bits.
Tenendo conto della loro elevata velocità di trasferimento, le barrette RIMM hanno un film termico incaricato di migliorare la dispersione del calore.
Come nel caso delle DIMM, esistono dei moduli di dimensioni ridotte, dette SO RIMM (Small Outline RIMM), destinati ai computer portatili. Le barrette SO RIMM hanno unicamente 160 PIN.
La DRAM (Dynamic RAM, RAM dinamica) è il tipo di memoria più diffuso all'inizio del millennio. Si tratta di una memoria i cui transistor sono sistemati in una matrice secondo delle linee e delle colonne. Un transistor, accoppiato ad un condensatore da l'informazione di un bit. 1 byte che comprende 8 bits, una barretta di memoria DRAM da 256 Mb conterrà quindi 256 * 2^10 * 2^10 = 256 * 1024 * 1024 = 268 435 456 bytes = 268 435 456 * 8 = 2 147 483 648 bits = 2 147 483 648 transistor. Una barretta da 256 Mb ha quindi in realtà una capacità di 268 435 456 bytes, ossia 268 Mb! Queste sono delle memorie il cui tempo di accesso è di 60 ns.
D'altra parte, gli accessi memoria si fanno generalmente su dati sistemati consecutivamente in memoria. Così la modalità di accesso a raffica (burst mode) permette di accedere ai tre dati consecutivi al primo senza tempo di latenza supplementare. In questa modalità a raffica, il tempo di accesso al primo dato è pari al tempo di ciclo al quale bisogna aggiungere il tempo di latenza, e il tempo di accesso ai tre altri dati è unicamente pari ai tempi di ciclo, quindi se si annotano sotto la forma X-Y-Y-Y i quattro tempi di accesso, ad esempio l'annotazione 5-3-3-3 indica una memoria per cui sono necessari 5 cicli di orologio per accedere al primo dato e poi ai tre seguenti.
Per accelerare gli accessi alla DRAM, esiste una tecnica, detta impaginazione che consiste nell'accedere ai dati posti su una stessa colonna modificando unicamente l'indirizzo della linea, cosa che permetta di evitare la ripetizione del numero di colonna tra la lettura di ciascuna delle linee. Si parla allora di DRAM FPM (Fast Page Mode). La FPM permette di ottenere dei tempi di accesso nell'ordine da 70 a 80 nanosecondi per una frequenza di funzionamento che può andare da 25 a 33 Mhz.
La DRAM EDO (Extended Data Out, ossia Uscita migliorata dei dati talvolta detta anche "hyper-page") è comparsa nel 1995. La tecnica utilizzata con questo tipo di memoria consiste nell'indirizzare la colonna successiva durante la lettura dei dati di una colonna. Questo crea uno scavallamento degli accessi che permette di guadagnare tempo su ogni ciclo. Il tempo di accesso alla memoria EDO va quindi da 50 a 60 nanosecondi circa per una frequenza di funzionamento che va da 33 a 66 Mhz.
Così, la RAM EDO, quando utilizzata in modalità a raffica permette di ottenere dei cicli di forma 5-2-2-2, ossia un risparmio di 4 cicli sull'accesso a 4 dati. Dato che la memoria EDO non accetta frequenze superiori a 66 Mhz, è scomparsa a beneficio della SDRAM.
La SDRAM (Synchronous DRAM, tradotta RAM sincrona), comparsa nel 1997, permette una lettura sincronizzata dei dati con il bus della scheda madre, contrariamente alle memorie EDO e FPM (qualificate comeasincrone) aventi un proprio orologio. La SDRAM permette quindi di liberarsi dei tempi di attesa dovuti alla sincronizzazione con la scheda madre. Questa permette di ottenere un ciclo in modalità a raffica in forma 5-1-1-1, cioè un guadagno di 3 cicli rispetto alla RAM EDO. In questo modo la SDRAM è capace di funzionare con una cadenza che arriva fino a 150 Mhz, permettendogli di ottenere dei tempi di accesso di circa 10 ns.
La DR-SDRAM (Direct Rambus DRAM o ancora RDRAM) è un tipo di memoria che permette di trasferire i dati su un bus a 16 bit di larghezza ad una cadenza di 800Mhz, cosa che gli conferisce una banda passante di 1,6 Gb/s. Come per la SDRAM, questo tipo di memoria è sincronizzata con l'orologio del bus per migliorare gli scambi di dati. D'altra parte, la memoria RAMBUS è una tecnologia proprietaria, il che significa che ogni azienda che vuole costruire delle barrette di RAM con questa tecnologia deve pagare dei diritti (royalties) alle società RAMBUS e Intel.
La DDR-SDRAM (Double Data Rate SDRAM) è una memoria basata sulla tecnologia SDRAM che permette di raddoppiare il tasso di trasferimento della SDRAM a pari frequenza.
Le lettura o scrittura dei dati in memoria è realizzata sulla base di un orologio. Le memorie DRAM standard utilizzano un metodo chiamato SDR(Single Data Rate) che consiste nel leggere o scrivere un dato ad ogni fronte montante.

La DDR permette di raddoppiare la frequenza delle letture/scritture, con un orologio cadenzato alla stessa frequenza, inviando i dati ad ogni fronte montante, nonché ad ogni fronte discendente.

Le memorie DDR hanno generalmente una denominazione commerciale di tipo PCXXXX dove «XXXX» rappresenta la capacità di banda in Mb/s.
La memoria DDR2 (o DDR-II) permette di raggiungere delle capacità di banda due volte maggiori rispetto alla DDR a frequenza esterna pari.
Si parla di QDR (Quadruple Data Rate o quad-pumped) per designare il metodo di lettura e di scrittura utilizzato. La memoria DDR2 utilizza in effetti due canali separati per la lettura e per la scrittura, anche se è capace di inviare o ricevere due volte più dati che la DDR.

La DDR2 ha inoltre un numero maggiore di connettori rispetto alla DDR classica (240 per la DDR2 contro i 184 della DDR).
La tabella sottostante da la corrispondenza tra la frequenza della scheda madre (FSB), quella della memoria (RAM) e la sua capacità di banda :
| Memoria | Denominazione | Frequenza (RAM) | Frequenza (FSB) | Capacità di banda |
|---|---|---|---|---|
| DDR200 | PC1600 | 200 MHz | 100 MHz | 1,6 Gb/s |
| DDR266 | PC2100 | 266 MHz | 133 MHz | 2,1 Gb/s |
| DDR333 | PC2700 | 333 MHz | 166 MHz | 2,7 Gb/s |
| DDR400 | PC3200 | 400 MHz | 200 MHz | 3,2 Gb/s |
| DDR433 | PC3500 | 433 MHz | 217 MHz | 3,5 Gb/s |
| DDR466 | PC3700 | 466 MHz | 233 MHz | 3,7 Gb/s |
| DDR500 | PC4000 | 500 MHz | 250 MHz | 4 Gb/s |
| DDR533 | PC4200 | 533 MHz | 266 MHz | 4,2 Gb/s |
| DDR538 | PC4300 | 538 MHz | 269 MHz | 4,3 Gb/s |
| DDR550 | PC4400 | 550 MHz | 275 MHz | 4,4 Gb/s |
| DDR2-400 | PC2-3200 | 400 MHz | 100 MHz | 3,2 Gb/s |
| DDR2-533 | PC2-4300 | 533 MHz | 133 MHz | 4,3 Gb/s |
| DDR2-667 | PC2-5300 | 667 MHz | 167 MHz | 5,3 Gb/s |
| DDR2-675 | PC2-5400 | 675 MHz | 172,5 MHz | 5,4 Gb/s |
| DDR2-800 | PC2-6400 | 800 MHz | 200 MHz | 6,4 Gb/s |
Non è raro vedere delle annotazioni tipo 3-2-2-2 o 2-3-3-2 per descrivere il parametraggio della memoria viva. Questa serie di quattro cifre descrive la sincronizzazione della memoria (in inglesetiming), cioè la successione di cicli d'orologio necessari per accedere ad un dato immagazzinato nella memoria viva. Queste quattro cifre corrispondono generalmente, nell'ordine, ai seguenti valori :
Le schede di memoria sono dotate di un dispositivo detto SPD(Serial Presence Detect), che permette al BIOS di conoscere i valori nominali del settaggio definito dal produttore. Si tratta di una EEPROM i cui dati saranno caricati dal BIOS se l'utente sceglierà il settaggio « auto ».
Alcune memorie hanno dei meccanismi che permettono di rimediare agli errori per garantire l'integrità dei dati che queste contengono. Questo tipo di memoria è generalmente utilizzata su sistemi che lavorano con dati critici, ed è la ragione per cui troviamo questo tipo di memoria nei server.
Le barrette con bit di parità permettono di assicurare che i dati contenuti nella memoria siano effettivamente quelli voluti. Per questo, uno dei bit di ogni byte immagazzinato in memoria serve a conservare la somma dei bit di dati.
Il bit di parità vale 1 quando la somma dei bit di dati è dispari e 0 nel caso contrario.
In questo modo le barrette con bit di parità permettono di verificare l'integrità dei dati ma non permettono di correggere gli errori. Inoltre per 9 Mb di memoria, solo 8 serviranno a stoccare i dati, dato che l'ultimo megabyte conserverà i bit di parità.
Le barrette di memoria ECC (Error Correction Coding) sono delle memorie che hanno più bit dedicati alla correzione degli errori (vengono allora dette bit di controllo). Queste barrette, utilizzate principalmente nei server, permettono di rilevare gli errori e di correggerli.
Alcuni controllori di memoria propongono un canale doppio (in inglese Dual Channel) per la memoria. Si tratta di sfruttare i moduli di memoria a coppia per accumulare la banda passante e così sfruttare al massimo le capacità del sistema. E' essenziale, durante l'utilizzo del Dual Channel, di usare delle barrette indentiche nella coppia (frequenza, capacità e di preferenza della stessa marca).
Ultime modificazione illunedì 27 aprile 2009 alle 13:44:40.