memoria
pagina
iniziale
In ambito informatico la memoria è la parte del computer destinata a
conservare informazioni per un certo periodo di tempo. La memorizzazione di
informazioni in memoria, e il successivo recupero delle medesime, sono funzioni
fondamentali nel funzionamento del computer.
Una memoria può essere considerata astrattamente come una sequenza finita di
celle in cui ogni cella contiene una sequenza finita di bit. Normalmente i bit
sono gestiti a gruppi di otto, detti byte. Pertanto lo spazio fisico della
memoria può essere immaginato come una sequenza di locazioni, ognuna contenente
un byte. Ogni locazione è individuata da un preciso indirizzo normalmente
indicato da un numero intero positivo.
Operazioni
Le operazioni effettuate sulla memoria di un computer sono fondamentalmente
le seguenti:
-Inizializzazione. È il trattamento che
subisce la memoria prima dell'uso normale. Alcuni tipi di memoria (per esempio
la RAM elettronica) non hanno bisogno di inizializzazione; per tali memorie, il
contenuto iniziale è impredicibile. Per le memorie a sola lettura,
l'inizializzazione consiste nella scrittura dei dati effettuata in fase di
produzione. Per i dischi magnetici, l'inizializzazione consiste nella scrittura
di dati che costituiscono un casellario in cui porre le informazioni utili (la
cosiddetta formattazione).
-Scrittura. È l'operazione di
memorizzazione delle informazioni. Un esempio di scrittura è assegnare il byte
123 alla cella di indirizzo 1000.
-Lettura. È l'operazione di recupero di
informazioni memorizzate. Un esempio di lettura è chiedere alla memoria il
contenuto della cella di indirizzo 1000.
Per parlare indifferentemente di lettura o di scrittura, si usa il termine
accesso. Per esempio, per indicare che una memoria è veloce sia in lettura che
in scrittura, si dice che ha un basso tempo di accesso.
Classificazione
La memoria informatica si può classificare secondo vari
criteri:
- ordine di accesso (memorie ad accesso diretto o memorie ad accesso
sequenziale);
- possibilità di scrittura (memorie a lettura-scrittura, memorie scrivibili una
sola volta, memorie a sola lettura);
- velocità di lettura;
- velocità di scrittura;
- costo unitario;
- volatilità;
- tecnologia (elettronica, magnetica, ottica, magneto-ottica).
Le memorie per computer possono usare varie tecnologie che forniscono
prestazioni e costi molto variabili. Spesso per le memorie veloci ma dall'alto
costo unitario si usa l'espressione "memoria centrale" o "memoria primaria",
mentre per le memorie dal basso costo unitario ma lente si usa l'espressione
"memoria di massa" o "memoria secondaria".
Per funzione
Classificazione sulla base della gerarchia
Collegate alla scheda madre tramite dei connettori
chiamati socket, le memorie primarie (chiamate anche memorie centrali o memorie
principali), servono a contenere i programmi ed i dati nel momento in cui
vengono elaborati.
Per realizzare una memoria principale vengono normalmente utilizzate tecnologie
a semiconduttore (cioè vengono utilizzati circuiti integrati a base di silicio).
La memoria centrale è organizzata come una tabella di celle, ciascuna delle
quali è denotata da un indirizzo (celle che contengono una sequenza di bit; ogni
bit può rappresentare l'informazione 0 oppure 1 tramite un diverso stato
elettrico). Ogni cella ha una dimensione prefissata e gli indirizzi delle celle
variano tra 0 e n, dove n è una potenza di 2.
Le operazioni che la memoria può effettuare sono due: lettura e scrittura.
La lettura consiste nelle seguenti operazioni:
- trasferimento dalla CPU all'address register
(abbreviato in AR) dell'indirizzo che si intende leggere;
- trasferimento dalla memoria al registro memory buffer (abbreviato in MB) del
contenuto della cella il cui indirizzo è presente nel AR;
- trasferimento del contenuto del MB alla CPU.
La scrittura consiste nelle seguenti operazioni:
- trasferimento dalla CPU all'AR dell'indirizzo che si intende scrivere e del
contemporaneo trasferimento nel MB del valore che si intende scrivere;
- trasferimento del valore del MB alla cella di memoria il cui indirizzo è
presente nel AR.
Bisogna distinguere tra vari tipi di memorie primarie, a seconda della funzione
svolta e delle loro caratteristiche peculiari. Di seguito vengono elencate
quelle più importanti.
- RAM, l'acronimo per
"random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui
vengono caricati i dati che devono essere utilizzati dal calcolatore per
elaborare. La RAM può essere volatile (si cancella spontaneamente ed ha bisogno
di essere aggiornata), statica o tamponata (mantiene l'alimentazione anche a
macchina spenta). Il processore identifica le celle della RAM tramite indirizzi
preassegnati che ne specificano la posizione: la memoria si presenta, quindi,
come un enorme vettore (stringa ordinata di elementi detti byte, ciascuno
individuabile con un indirizzo). Il termine "random" evidenzia che non ci sono
differenze ad accedere alle varie celle della memoria. Le caratteristiche della
RAM vengono ereditate anche da tutte le altre memorie ad accesso casuale
(individuabili facilmente dal fatto che contengono RAM alla fine).
Sostanzialmente le memorie RAM si suddividono in DRAM (dinamiche), SRAM statiche
e che vengono utilizzate per la memoria cache.
- Cache RAM, una
memoria associativa integrata nel processore, che ha la caratteristica di essere
molto veloce; dato l'elevato costo, viene utilizzata esclusivamente per
contenere i dati e le istruzioni utilizzati più di frequente (in modo da
migliorare notevolmente le prestazioni del processore).
- ROM, l'acronimo per
"read only memory", ovvero "memoria in sola lettura (o solamente leggibile)", è
una memoria permanente (cioè ha un contenuto fisso che non può essere cancellato
ed inoltre non è volatile), presente sulla scheda madre, che contiene le
istruzioni che la CPU deve caricare per consentire l'avvio del sistema e le
routine di base che prendono il nome di BIOS (Basic I/O Sistem).
- EPROM, l'acronimo
per "eresable programmable read only memory", ovvero "ROM cancellabile e
programmabile", che è una memoria in sola lettura, ma ha la particolarità di
poter essere cancellata in particolari condizioni.
- MRAM, l'acronimo per
"magnetic ram", ovvero "RAM magnetica", è una memoria ad accesso casuale di
"nuova generazione", che utilizza le proprietà del magnetismo, al posto di una
serie di impulsi elettrici, per conservare le informazioni.
La fase di trasferimento da memoria di sistema a memoria cache viene attuata da
un appostito circuito che prende il nome di MMU (Memory Management Unit). La MMU
svolge anche il compito di gestione virtuale della memoria.
Inoltre c'è da far notare che a causa della dispersione della carica del
condensatore, di capacità estremamente piccola, vi è bisogno di un rinfresco
continuo dell'informazione. A questo compito è dedicato un canale del circuito
di DMA che ad intervalli regolari (153 ms) deve necessariamente rinfrescare
l'intera memoria del sistema per evitare la perdita irrimediabile dei dati e qui
il collasso di funzionamneto del computer.
Tipi di memoria secondaria
Qui sotto sono elencate le varie categorie di memorie secondarie:
- I dischi magnetici, composti da uno o più dischi
(i disk pack) ricoperti di materiale ferromagnetico, vengono "letti e scritti"
(cioè su questi dischi vengono salvati e recuperati i dati) mediante un braccio
mobile dotato della "testina di lettura/scrittura". I dati vengono trasferiti ai
dischi magnetici tramite un buffer nella memoria centrale ed occupano successive
posizioni lungo le tracce, sotto forma di differenti stati di magnetizzazione. I
settori dei dischi vengono letti e scritti interamente utilizzando il numero
della superficie, della traccia e del settore. Il tempo di accesso ai dischi
magnetici è superiore rispetto a quello della memoria centrale, ma i costi, a
parità di quantità di informazione memorizzata, sono decisamente più bassi. Di
questa categoria fanno parte ad esempio gli hard disk e i floppy disk
(realizzati con materiale plastico flessibile).
- I dischi ottici, composti da materiale
riflettente ricoperto da una sostanza protettiva, dove l'informazione viene
registrata realizzando modificazioni della superficie riflettente e viene letta
mediante un raggio laser che riscontra le irregolarità della superficie
riflettente. I dischi ottici sono senza dubbio i supporti di memoria secondaria
più diffusi: ne esistono di vari tipi, alcuni riscrivibili (cioè una volta
scritti possono essere riscritti nuovamente) e non riscrivibili (una volta
immagazzinati dei dati sul disco, questo non è più riscrivibile con altri dati).
Fanno parte di questa categoria i CD, i CD-ROM e i DVD.
- I nastri magnetici, composti da fettucce di
nastri magnetizzabili e gestiti dalle unità a nastro (che dispongono della
testina lettura/scrittura), servono per svolgere funzioni di back-up e log
(registrazione delle operazioni effettuate in un certo tempo). I nastri
magnetici consentono solo un accesso sequenziale ai dati (cioè è necessario
leggere tutti i dati precedenti prima di accedere ad un certo dato). Tra i vari
tipi di nastri magnetici, le prestazioni migliori sono ottenute dagli streaming
tape.
- La Flash memory, memoria elettronica non volatile
di tipo EEPROM. Si presenta come Memory Card dall'ingombro ridotto.
Classificazione sulla base del tipo di accesso
- Le memorie ad accesso sequenziale possono
essere lette e scritte solamente all'indirizzo immediatamente successivo
all'indirizzo a cui è avvenuto l'accesso precedente. I principali esempi di
memorie ad accesso sequenziale sono i nastri magnetici.
- Le memorie ad accesso diretto possono essere
lette e scritte a qualunque indirizzo, indipendentemente dalle operazioni
eseguite in passato. Sono dette anche memorie ad accesso casuale, in quanto, dal
punto di vista del costruttore, la memoria non è in grado di prevedere il
prossimo indirizzo a cui l'utente della memoria vorrà accedere.