Collegata alla scheda madre tramite connettori chiamati socket,
la memoria primaria, anche chiamata memoria centrale o memoria
principale, serve 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 accesso 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 System).
-
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 funzionamento del
computer.