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. |