Tutte le celle di memoria hanno il loro livello, o 0
o 1
. La CPU indica al dispositivo di memoria di quali celle ha bisogno i valori binari e fornisce questo indirizzo al dispositivo di memoria. All'interno del dispositivo di memoria l'indirizzo viene decodificato in un indirizzo di riga e colonna e la cella in quella posizione nella matrice può ottenere i suoi dati nel databus, cioè il pin dei dati.
Diciamo che abbiamo un indirizzo a 8 bit 01100101
. Questo verrà suddiviso in un indirizzo di riga 0110
(il nibble di ordine superiore) e un indirizzo di colonna 0101
(il nibble di ordine basso). L'indirizzo di riga seleziona la riga # 06, quindi tutte le celle connesse a questa riga avranno i dati pronti. L'indirizzo di colonna seleziona la cella nella colonna # 05 di questa riga, in modo che alla fine solo una singola cella possa posizionare i suoi dati sul pin di output.
La memorizzazione dei dati segue lo stesso modello: è selezionata solo una riga e la cella nella colonna specificata in quella riga otterrà i dati presenti sul pin memorizzati.
Questo è per 1 bit. L'operazione avviene simultaneamente per l'intera larghezza della parola dati, quindi se si dispone di una memoria a byte, vengono recuperati 8 bit e il loro valore viene posizionato su 8 pin del databus.
modifica
Questa immagine dovrebbe aiutarti a vedere meglio le cose:
Questa è una rappresentazione di un array DRAM , in cui i dati sono memorizzati nella carica dei condensatori , ogni condensatore è un bit. La parte riga dell'indirizzo (qui A1..A0) seleziona una riga, il che significa che attivano tutti i FET su quella riga, in modo che i livelli dei condensatori per quella riga diventino disponibili sulla colonna corrispondente. Quindi il blocco di selezione dell'indirizzo di colonna, controllato dall'altra parte dell'indirizzo, A3..A2, seleziona un bit dal quale vogliamo i dati.
La DRAM è facile da costruire, ma presenta un brutto svantaggio: la lettura dei dati scarica il condensatore, quindi i dati vengono persi. Per contrastare questa DRAM sono presenti amplificatori di rilevamento, che rilevano lo stato corrente della cella di memoria e lo aggiornano quando vengono letti. Inoltre, questo aggiornamento deve essere eseguito periodicamente perché la carica dei condensatori si disperde anche quando la memoria non viene letta. La necessità di circuiti di aggiornamento è facilmente compensata grazie alla compattezza delle celle della DRAM.
SRAM utilizza un paio di transistor per archiviare i dati e non è volatile come la DRAM (sebbene i dati siano ancora spariti quando si spegne). Con EEPROM e Flash i dati vengono archiviati nel gate flottante (isolato) di un FET, e quindi non perderanno i suoi dati quando viene spenta.
Ulteriori letture:
questa risposta sulla conservazione dei dati nella memoria Flash.