15. La memoria centrale dei computer |
|
Nell'architettura di von Neumann la componente più
importante, dopo la CPU, è la memoria. Questa deve permettere di
conservare non solo le informazioni da elaborare ma deve consentire
la memorizzazione anche del codice del programma in esecuzione.
Inizialmente, la costruzione di unità di memoria anche di pochi
Kbyte rappresentò un grosso problema. Per la costruzione delle unità
di memoria furono quindi sperimentati vari tipi di dispositivi
basati su diversi principi e un po' alla volta si individuarono le
tecnologie adatte per la realizzazione di memorie sempre più
capienti e veloci.
La memoria dei calcolatori si divide in
due grandi categorie: memoria centrale (o primaria) e memoria di
massa (o secondaria). La prima è una memoria veloce direttamente
utilizzabile dalla CPU per eseguire le operazioni, mentre la seconda
è una memoria più lenta su cui la CPU non può lavorare direttamente,
ma disponibile in grande quantità. I costi di produzione della
memoria centrale sono maggiori di quelli per realizzare memoria
secondaria, pertanto al fine di ottenere un buon compromesso tra
costi e prestazioni i calcolatori dispongono in generale più di
memoria secondaria che non di memoria centrale. Infine, poiché i
dispositivi impiegati attualmente per la memoria centrale non
permettono di conservare i dati memorizzati dopo che il calcolatore
è stato spento, le informazioni vengono conservate nella memoria
secondaria in grado di mantenersi inalterata anche con il
calcolatore spento. |
|
Fig. 101. Circuito
dimostrativo: memoria per un singolo bit realizzata con un relè
passo-passo. Anche un semplice interruttore può funzionare come
memoria: nello stato chiuso memorizza un 1 mentre nello stato aperto
memorizza uno 0. Nei primi calcolatori venivano utilizzati come
memorie anche semplici interruttori, dato il loro costo molto
ridotto. L'inconveniente principale di questo tipo di memoria è
rappresentato dall'impossibilità di modificare automaticamente lo
stato dell'interruttore durante il funzionamento del calcolatore
poiché tale operazione deve essere svolta manualmente. Pertanto, un
simile dispositivo può essere impiegato unicamente come memoria a
sola lettura. Per avere una memoria "scrivibile" durante
l'esecuzione di un programma possiamo sostituire il semplice
interruttore con un relè. In questo caso lo stato dell'interruttore
può essere commutato mediante un opportuno segnale elettrico. Ad
esempio, la memoria del calcolatore Z3, realizzato da Zuse, era
costituita da 1408 relè. Per realizzare memorie di questo tipo è
possibile utilizzare anche particolari relè, chiamati relè
passo-passo. In questo, caso il relè può rimanere in uno qualsiasi
dei due stati anche se la bobina non è percorsa da corrente
elettrica. Il relè cambia alternativamente stato solo ogni volta che
giunge alla bobina un singolo impulso elettrico. |
|
|
Fig. 102. Flip-flop a
valvole termoioniche di elaboratore Burroughs (anni '50). Il
flip-flop costituisce una memoria elementare e può essere costruito
combinando insieme alcune porte logiche. Nei primi calcolatori
questo tipo di memoria, costruito dapprima con le valvole
termoioniche e poi successivamente con i transistor, veniva
utilizzato solo per realizzare le memorie interne della CPU (ossia,
i registri) molto veloci. |
|
|
Fig. 103. Memoria
magnetostrittiva – Olivetti (seconda metà degli anni '60). Le linee
di ritardo rappresentano uno dei metodi impiegati nel primi
calcolatori elettronici per memorizzare le informazioni.
Inizialmente, queste memorie erano basate sulla propagazione di
suoni lungo tubi riempiti di mercurio. La memoria magnetostrittiva,
inventata nel 1951, rappresenta un successivo perfezionamento delle
linee di ritardo a mercurio. |
|
|
Fig. 104. Memoria a tubi
catodici (tubi di Williams). La memoria a tubi catodici, realizzata
in Inghilterra da F.C. Williams e T. Kilburn tra il 1946 e 1947,
permise per la prima volta di realizzare memorie ad accesso diretto
in cui ogni bit è accessibile nello stesso tempo e indipendentemente
dalla sua posizione. Queste memorie furono sperimentate per la prima
volta nel calcolatore Manchester Mark I. |
|
|
Fig. 105. Memoria a
nuclei da 1 Kbyte (anni '60). Intorno al 150 si cominciò a
sperimentare la memoria centrale del calcolatore mediante la
tecnologia a nuclei di ferrite, inventate indipendentemente da J.
Forrester e A. Booth. Le memorie a nuclei rappresentarono il primo
tipo di memoria (centrale) veramente affidabile e costruibile in
grande quantità rispetto a tutti i dispositivi precedenti. Il primo
calcolatore elettronico a essere dotato di memoria a nuclei (1952)
fu il Whirlwind, progettato dallo stesso Forrester presso il MIT.
Questo tipo di memoria è stato ampiamente utilizzato fino ai primi
anni '70. |
|
|
Fig. 106. Ingrandimento
di una memoria a nuclei. Le memorie a nucleo magnetico sono
costituite da matrici composte di piccoli anelli di ferrite. La
magnetizzazione dei nuclei (secondo due possibili direzioni di
magnetizzazione) permette di memorizzare in ogni singolo nucleo un
bit di informazione. Ogni nucleo di ferrite, mediante i fili
elettrici che lo attraversano, può essere selezionato e magnetizzato
in uno dei due sensi e può così registrare convenzionalmente un 1 o
uno 0. |
|
|
Fig. 107. Blocco a 6
piani di memoria a nuclei. |
|
|
Fig. 108. Memoria da
256Kbit, realizzata mediante un circuito integrato a tecnologia
CMOS. A partire dai primi anni '70 la tecnologia dei semiconduttori
permise di realizzare memorie molto veloci mediante i circuiti
integrati. Nel giro di pochi anni queste nuove memorie hanno
sostituito le memorie a nuclei. |
|
|
Fig. 109. Memoria da 8 Mb
(personal computer, 1994), realizzata mediante circuiti integrati.
|
|
|
Fig. 110. Memorie a sola
lettura EPROM. Le EPROM sono un altro tipo di memoria veloce,
inventate nel 1971 presso la Intel da D. Frohman, che le concepì
come un mezzo economico per immagazzinare programmi (firmware) per
microprocessori. Benché il contenuto di queste memoria possa essere
modificato, esse servono per conservare informazioni per lunghi
periodi. |
|
|
Fig. 111. Scheda di
memoria da 2 Mb (calcolatore Siemens, 1988). |
|
|
Copyright 1999-2001 Paolo Giangrandi - realizzazione
web Tecnoteca
s.r.l.
|