RAM Memorie RAM. Dall'alto: DIP, SIPP, SIMM (30 pin), SIMM (72 pin), DIMM (168 pin), DDR DIMM (184 pin) La memoria ad accesso casuale, acronimo RAM (del corrispondente termine inglese RandomAccess Memory), è una tipologia di memoria informatica caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso. La memoria ad accesso casuale si contrappone alla memoria ad accesso sequenziale e alla memoria ad accesso diretto rispetto alle quali presenta tempi di accesso sensibilmente inferiori motivo per cui è utilizzata come memoria primaria. La tipologia di memoria ad accesso casuale più comune attualmente è a stato solido, a letturascrittura e volatile, ma rientrano nella tipologia di memoria ad accesso casuale la maggior parte delle tipologie di ROM (inteso nell'accezione più comune e non come memoria a sola lettura), la NOR Flash (una tipologia di memoria flash), oltre a varie tipologie di memorie informatiche utilizzate ai primordi dell'informatica e oggi non più utilizzate come ad esempio la memoria a nucleo magnetico. Esclusivamente l'acronimo RAM (non il termine "memoria ad accesso casuale") ha anche una seconda accezione più ristretta ma attualmente più diffusa secondo cui la RAM è una memoria ad accesso casuale della tipologia più comune cioè a stato solido, a lettura-scrittura e volatile. Approfondimento Memoria DIMM PC133 L'uso della memoria RAM è comune a tutte le architetture hardware, sia a singolo processore che multiprocessore e costituisce la memoria primaria dell'elaboratore. A seconda dell'architettura usata, la CPU può accedere direttamente alla memoria oppure accedervi tramite appositi controller. Nel caso di sistemi multiprocessore, la memoria primaria può essere condivisa da più processori oppure può essere partizionata, nel qual caso ogni processore dispone di una memoria privata. Esistono anche architetture miste dove è presente sia una memoria primaria condivisa da tutti i processori che una memoria privata dedicata ad ognuno di essi. Il processore carica dalla RAM, quando non presenti nella propria cache interna, le istruzioni da eseguire e i dati da elaborare per poi riscriverli nuovamente in RAM. Poiché generalmente è più lenta del processore, la sua velocità è un fattore determinante per le prestazioni dell'intero calcolatore. Caratteristica comune a tutti i tipi di RAM utilizzati per la memoria principale è quella di perdere il proprio contenuto nel momento in cui viene a mancare l'alimentazione elettrica. Sono allo studio altri tipi di memoria, basati su altri principi, che in futuro potrebbero consentire di superare questa limitazione. Tipologie SRAM Vecchia RAM a nuclei magnetici da 1,5 Megabit Nelle SRAM, acronimo di Static Random Access Memory, ovvero RAM statica ogni cella è costituita da un latch realizzato da due porte logiche. Le celle sono disposte a matrice e l’accesso avviene specificando la riga e la colonna. Consentono di mantenere le informazioni per un tempo infinito, sono molto veloci, consumano poco e quindi dissipano poco calore. La necessità di usare molti componenti, però, le rende molto costose, difficili da impacchettare e con una scarsa capienza. Proprio per la loro bassa capienza, sono solitamente usate per le memorie cache, dove sono necessarie elevate velocità in abbinamento a ridotti consumi e capienze non troppo elevate (dell'ordine di pochi Mb). DRAM Memoria DIMM DDR La DRAM, acronimo di Dynamic Random Access Memory, ovvero RAM dinamica, è costituita, a livello concettuale, da un transistor che separa un condensatore, il quale mantiene l'informazione, dai fili di dati. A livello pratico non viene usato un vero condensatore ma si sfruttano le proprietà elettrico/capacitive dei semiconduttori. È così possibile usare un solo componente per ogni cella di memoria, con costi molto ridotti e la possibilità di aumentare notevolmente la densità di memoria. A causa del non perfetto isolamento il condensatore si scarica, quindi dopo un breve lasso di tempo il suo contenuto diventa inaffidabile. Si rende necessario perciò ricaricarlo, l'operazione è detta di "refreshing", provvedendo ad eseguire un'operazione di lettura fittizia e riscrittura entro il tempo massimo in cui il contenuto può essere considerato ancora valido. Queste operazioni sono eseguite da un circuito interno alle memorie stesse. Oltre a comportare un certo dispendio di energia rendono più lenta la memoria in quanto, mentre si sta eseguendo il rinfresco, non è possibile accedervi. Le memorie DRAM si possono considerare abbastanza affidabili anche perché molto spesso ad ogni riga della memoria è associato un bit di parità, che consente di individuare eventuali errori singoli all'interno della riga, oppure una serie di bit (log n), che opportunamente impostati nel momento di ogni scrittura, generano il codice di Hamming corrispondente, che consente di individuare e correggere errori singoli e individuare errori doppi. È importante sottolineare come l'operazione di lettura sia distruttiva, in quanto nel momento in cui un dato viene letto viene anche perso; risulta quindi necessaria la sua riscrittura immediata e questo porta a uno spreco di tempo. Le DRAM sono asincrone, ovvero l'accesso in scrittura ed in lettura è comandato direttamente dai segnali in ingresso al contrario delle memorie sincrone in cui il passaggio da uno stato all'altro è sincronizzato ad un segnale di clock. Per ogni cella sono presenti un numero basso di componenti che permettono di ottenere un’alta capacità complessiva del dispositivo, un basso assorbimento di potenza e costi ridotti, sono dunque utilizzate generalmente per la memoria principale del sistema. SDRAM Memoria SODIMM DDR, utilizzata per i personal computer portatili. La SDRAM, acronimo di Synchronous Dynamic Random Access Memory, ovvero DRAM sincrone, si differenzia dalla DRAM normale per il fatto che l'accesso è sincrono, ovvero governato dal clock. Tale segnale di clock temporizza e sincronizza le operazioni di scambio di dati con il processore, raggiungendo una velocità almeno tre volte maggiore delle SIMM con EDO RAM. Tipicamente saldata in un modulo di tipo DIMM, è normalmente impiegata come memoria principale dei Personal Computer di tipo Pentium e successivi. Alcuni esempi sono classificati come : • SDR SDRAM : indica le originarie memorie SDRAM. Con l'evoluzione tecnica, questa tipologia ha preso il suffisso SDR ossia Single Data Rate, per differenziarle dalle successive SDRAM con controller DDR. Il single data rate indicava l'accettazione di un comando e il trasferimento di 1 word di dati per ciclo di clock (tipicamente 100 e 133 Mhz). Il data bus era diversificato ma tipicamente erano impiegate su moduli DIMM da 168 pin e potevano operare su 64 bit (non-ECC) o 72 bit (ECC) alla volta. • DDR SDRAM • DDR2 • DDR3 • SODIMM : da notare che il package SODIMM non necessariamente contiene memoria SDRAM FeRAM La FeRAM, acronimo di Ferroelectric Dynamic Random Access Memory, ha la peculiarità di mantenere i dati senza l'ausilio del refresh di sistema. Utilizzano un materiale denominato ferroelettrico che ha la capacità di mantenere la propria polarizzazione anche dopo esser scollegato dalla fonte energetica. Memoria a cambiamento di fase Le memoria a cambiamento di fase sono delle memorie ad accesso casuale che utilizzano il cambiamento di fase di un materiale per memorizzare le informazioni. Questo permette alle memoria di mantenere le informazioni anche senza alimentazione, come le memorie flash ma rispetto a queste hanno alcuni vantaggi. La principale è la velocità di scrittura che può arrivare ad essere più rapida di 30 volte, come ciclo di vita 10 volte maggiore e nota non trascurabile un costo minore dato dalla lavorazione più veloce. Si prevede che entro il 2010 questa tecnologia sostituirà l'attuale tecnologia NOR. Frequenze PC1600 200 MHz PC2100 266 MHz PC2700 333 MHz PC3000 366 MHz PC3200 400 MHz PC3500 433 MHz PC4200 533 MHz PC5300 667 MHz PC6400 800 MHz PC8500 1066 MHz PC10600 1333 MHz PC12800 1600 MHz PC14400 1800 MHz PC16000 2000 MHz PC17066 2133 MHz PC17600 2200 MHz RDRAM PC800 800 MHz RDRAM PC1066 1066 MHz RDRAM PC1200 1200 MHz