Le RAM (Random Accesso Memory) costituiscono la forma meglio
conosciuta di memorie per computer. La Ram è considerata ad accesso casuale
poiché si può accedere ad ogni cella di memoria direttamente. L’opposto delle Ram
sono le SAM (Serial Access Memory). Le SAM immagazzinano i dati in una serie di
celle di memoria cui si può accedere solo in sequenza come in un nastro di
audiocassetta in cui si può accedere ad una canzone del nastro solo dopo aver
fatto scorrere tutta la porzione precedente del nastro. Se il dato richiesto
non è nella locazione corrente , viene controllata ogni cella di memoria
seguente finche non viene trovato il dato richiesto. Le memorie SAM funzionano
molto bene per i buffer di memoria, in cui i dati vengono immagazzinanti
normalmente nell’ordine in cui dovranno essere utilizzati ( un buon esempio è
il buffer di memoria di una scheda video). Dall’altro lato ai dati della RAM si
può accedere in qualsiasi ordine.
Un chip di memoria è un circuito integrato fatto di milioni
di transistor e condensatori . Nella forma più comune di memorie per computer ,
le memorie rAm dinamiche (DRAM Dynamic Random Access Memory) sono accoppiati un
transistor e un condensatore per creare una cella di memoria, che rappresenta
un singolo bit. Il transistor agisce come un interruttore che permette alla
cir5cuiteria di controllo esterna di leggere lo stato di tensione del
condensatore cambiare il suo stato.
Un condensatore può essere visto come un piccolissimo
secchio capace di immagazzinare elettroni. Pe immagazzinare il bit 0, il
secchio va svuotato. Il problema con questo tipo di memorie è che il “secchio
perde”. In pochi millisecondi la cella di memoria si scaricherebbe . perciò per
poter lavorare con memorie dinamiche , la CPU o il controller di memoria deve
ricaricare tutti i condensatori che immagazzinano un 1 prima che essi si
scarichino. Per fare questo il controller di memoria legge la memoria e la
riscrive . questa operazione di refresh avviene migliaia di volte al secondo.
< |
IL nome di memorie dinamiche deriva da questa operazione. Le
RAM dinamiche devono essere rinfrescate continuamente o perdono il loro contenuto.
Il lato negativo sta nella lentezza che si introduce in queste memorie.
Le celle di memoria sono ricavate in un wafer di silicio in
un array di colonne (linee dei bit) e righe (linee delle parole).
L’intersezione di una colonna e di una riga costituisce l’indirizzo della
singola cella di memoria
Le RAM dinamiche lavorano inviando una carica attraverso la
colonna appropriata per attivare il transistor di ogni bit della colonna. In
scrittura le linee di riga contengono lo stato che dovrà possedere ogni bit .
in lettura un rilevatore determina il livello di carica della cella. Se esso è più del 50% del valore massimo
possibile, si ha la lettura di un 1, altrimenti si ha la lettura di uno 0. Il
tempo necessario per effettuare queste operazioni è dell’ordine dei
nanosecondi.
Le celle di memoria da sole sarebbero inutili senza qualche
mezzo per ottenere informazioni o immagazzinare informazioni. Così le celle
hanno un’intera struttura di supporto di altri circuiti specializzati. Questi
circuiti effettuano operazioni come
identificazione di ogni riga e colonna
( row address select e column address select).
Tenere traccia della sequenza di
rinfresco ( contatore)
Lettura e ripristino del segnale in
ogni singola cella (sense amplifier)
Ordine ad una cella di immagazzinare
una carica o meno (write enable)
Altre funzioni del controller di
memoria includono una serie di compiti che includono l’identificazione del
tipo, velocità ed ammontare di memoria e controllo degli errori.
Le RAM statiche utilizzano una
tecnologia completamente differente. In esse un flip flop contiene ogni bit di
memoria. Un flip flop per ogni cella necessita di 5-6 transistor e qualche filo
ma non ha bisogno dell’operazione di rinfresco. Questo rende4 le Ram statiche
significativamente più veloci delle RAM dinamiche. Dall’altro lato esso occupa
più spazio a causa della circuiteria più complessa. In sostanza abbiamo meno
memoria per chip e molto più costosa. Per tale motivo le memorie statiche sono
riservate alla realizzazione delle memorie cache e le RAM dinamiche per la
realizzazione dei banchi di memoria RAM del computer.
I chip di memoria originariamente
utilizzati in un desktop computer utilizzavano una configurazione dei pin detta
dual in-line package (DIP). Questa configurazione consentiva la saldatura dei
pin in fori nella motherboard o l’incastro in un socket saldato sulla scheda.
Questo metodo lavorava bene quando i computer avevano tipicamente una coppia di
megabyte di RAM, ma con la crescita della memoria il numero di chip da
collocare sulla motherboard crebbe enormemente.
La soluzione fu quella di
piazzare i chip di memoria insieme a tutti i componenti di supporto us un
circuito stampato separato (printed circuit board PCB) che poteva essere
serrato in un connettore speciale (banco di memoria) sulla scheda madre. La
maggior parte di questi chip usa una configurazione detta small outline J-lead
(SOJ), ma pochi produttori utilizzano anche la configurazione del tipo thin
small outline package (TSOP). La differenza chiave fra questi nuovi tipi di pin
e il DIP è che SOJ e TSOP sono a montaggio superficiale. In altre parole i pin
sono saldati direttamente sulla superficie della scheda e non inseriti in fori
o socket.
I chip di memoria sono ora
normalmente disponibili soltanto montati come parte di una card detta modulo.
Avrete probabilmente sentito parlare di chip 8 X 32 o 4 X 16 . Questi numeri
rappresentano il numero di chip moltiplicato la capacità di ogni singolo bit ,
misurata in megabit. Per esempio 4 X 32 significa che abbiamo 4 chip da 32
megabit che fa un numero totale di 128 megabit. Dividendo per otto abbiamo che
si tratta di un chip da 16 megabyte.
Il tipo di schede e connettori
per desktop computer si è evoluto negli ultimi anni. I primi tipi erano proprietari il che significa che ogni
produttore di computer realizzava chip di memoria utilizzabili soltanto sui
loro specifici sistemi. Poi vennero le SIMM (somale in.line memory module).
Questa scheda di memoria usava un connettore a 30 pin. Nella maggior parte dei
computer si dovevano installare questi moduli a coppie di uguale capacità e
velocità . questo perché l’ampiezza del bus è più grande di quella di una
singola SIMM.
Tabella 1 dall'alto in basso: SIMM; DIMM e SODIMM
Cona la crescita di velocità e ampiezza di banda dei
processori , l’industria adottò il nuovo standard dual in-line memory module (DIMM) con un connettore di
168 o 184 pin le DIMM possono giungere alla capacità di 1 Gigabyte per modulo.
Un altro standard Rambus inline module (RIMM) è comparabile in ampiezza e
configurazione dei pin alle DIMM ma usa uno speciale bus di memoria per
incrementare la velocità.
Molte marche di notebook usano moduli di memoria proprietari
, ma diversi produttori usano Ram basate sulla configurazione small outline dual in-line memory module
(SODIMM).
La maggior parte delle memorie attuali sono molto
affidabili. La maggior parte dei sistemi hanno semplicemente un controllo sulla
presenza di errori alla partenza e fanno completo affidamento su di esso. I
chip di memoria con controllo di errore integrato utilizzano tipicamente il
control di parità. Il problema con il controllo di parità è che esso rileva gli
errori ma non fa nulla per correggerli. Computer in ruoli critici abbisognano
di livelli di sicurezza superiore per cui si utilizzano sistemi di correzione
dell’errore (ECC Error Correction Code)