La memoria RAM

Nozioni di base


Simile ad un microprocessore, un circuito integrato di memoria è un circuito integrato (IC) fatto di milioni di transistori e di condensatori. Nella forma più comune di memoria ad accesso diretto, dynamic random access memory (DRAM), un transistor ed un condensatore sono accoppiati per generare una cella di memoria, che rappresenta un singol bit di dati. Il condensatore mantiene il bit di informazione 0 o 1 (vedi Comefunzionano Bits e Bytes). Il transistor funge invece da interruttore e permette di leggere il condensatore o di modificargli lo stato.

Un condensatore è come un piccolo secchio che può immagazzinare gli elettroni. Per immagazzinare un 1 nella cella di memoria, il secchio viene riempito di elettroni. Per immagazzinare uno 0, viene invece svuotato. Il problema del condensatore è che ha una perdita. Nel giro di alcuni millisecondi quindi il secchio da pieno diventa vuoto. Di conseguenza, affinchè la memoria dinamica funzioni, la CPU o il controller della memoria devono intervenire e ricaricare tutti i condensatori che contengono elettroni (ovvero il valore 1) prima che essi si scarichino.

Per fare questo, il controller legge la memoria e la riscrive, migliaia di volte al secondo.


Il processo di refresh di una DRAM rappresentato con il nostro secchio bucato


La DRAM deve essere rinfrescata dinamicamente tutto il tempo o si dimentica che cosa sta tenendo. Il lato negativo di questo tipo di RAM è che occorre tempo per compiere questi continui refresh e questo rallenta la memoria.

Le cellule di memoria sono incise su una lastra di silicio in una griglia di colonne (bitlines) e righe (wordlines). L'intersezione di un bitline e di un wordline costituisce l'indirizzo della cella di memoria.

Le DRAM funzionano trasmettendo una carica attraverso la colonna appropriata (CAS) per attivare il transistor ad ogni bit nella colonna. Nella scrittura, le righe contengono lo stato che il condensatore deve mantenere. Nella lettura, altrimenti come uno 0.

Un contatore traccia la sequenza di refresh basata sull' ordine delle righe che sono state processate. Il tempo necessario per fare questo è pressocchè istantaneo: 70 nanosecondi (1 nanosecondo = 1 miliardesimo di secondo).

Le celle di memoria da sole sarebbero inutilizzabili senza un modo per leggere e scrivere le informazioni. Per questo motivo c'è un'infrastruttura intera di sostegno di altri circuiti specializzati che si occupano di:
  • Identificare ogni riga e colonna
  • Tenere traccia della sequenza di refresh
  • Leggere e restorare il segnale in una cella
  • Stabilire se una cella può essere scritta o meno


La RAM statica usa una tecnologia completamente differente. Nella RAM statica, una forma del flip-flop tiene ogni bit della memoria (vedi Come funziona la Logica Booleana per i particolari sui flip-flop).

Un flip-flop per una cella di memoria prende quattro o sei transistori con alcuni collegamenti, e non deve essere rinfrescato mai. Questo fa si che la RAM statica sia più veloce di quella dinamica. Tuttavia, essendo composta da più parti, una cella di memoria statica prende molto più spazio su un circuito integrato di una cella di memoria dinamica. Di conseguenza, su uno stesso chip la memoria statica sarà minore e anche un pò più costosa.

Ricapitolando quindi la RAM statica è più veloce ma costosa, quella dinamica è più economica ma più lenta. Le RAM statiche vengono usate per creare la velocissima cache della CPU mentre la RAM dinamica per gestire la maggior parte della memoria di un PC.