VII. 4. I calcolatori degli anni '40
L'opera di Stibitz
[96] ebbe inizio nell'estate del 1937 con la costruzione di un
"addizionatore da cucina". Stibitz aveva portato a casa
alcuni relè telefonici e li aveva assemblati nella sua cucina
(da cui il nome dell'apparecchio), su di un supporto di legno. Vi
erano unicamente due lampadine che si accendevano se la somma era
1 e si spegnevano se corrispondeva a 0.
Da qui, Stibitz iniziò a costruire dei circuiti più
sofisticati, che potevano sottrarre, moltiplicare e dividere. Il
primo calcolatore a relè binario fu costruito tra l'aprile e e
l'ottobre del 1939 e venne chiamato "calcolatore a relè
telefonici dei laboratori Bell, modello 1". La sua struttura
era semplice: un'unità composta da 400-450 relè si occupava dei
calcoli e una telescrivente modificata serviva ad introdurre i
problemi e a leggere i risultati. La macchina poteva addizionare
due numeri decimali di otto cifre in un decimo di secondo e
moltiplicare due grandi numeri in un minuto. Pur non essendo
molto rapida, era facile da usare. Quattro altri modelli
seguirono questa macchina, fino al Model V, completato nel 1946,
sempre con una tecnologia basata sui relè. Era formato da 9000
relè, pesava 10 tonnellate e occupava una superficie di 105
metri quadrati.
L'idea di una macchina calcolatrice universale secondo la concezione di Babbage rivisse negli Stati Uniti e successivamente in Inghilterra (oltre che in Germania) a cominciare dal 1938, anno nel quale il prof. Aiken dell'Università di Harvard, con la collaborazione della IBM, iniziò il progetto del calcolatore Mark 1 (completato nel 1944). Si trattò del primo calcolatore con registro, ovvero memoria, governato da un programma. Esso operava in numeri decimali ed era, ovviamente, elettromeccanico: un motore elettrico azionava un asse di trasmissione centrale che correva lungo tutta la macchina. Il termine "registro" e l'idea che ne è alla base sembrano essere stati usati da Aiken per la prima volta, a proposito di questa macchina. Il registro è un dispositivo che permette di registrare la rappresentazione fisica dell'informazione nella macchina stessa. Quindi, costituisce quello che ormai viene chiamato "memoria". Il Mark 1 era costituito da relè e selettori rotanti ed eseguiva, su numeri decimali di 23 cifre, operazioni la cui successione era controllata da un nastro di carta perforata al ritmo di 200 operazioni al minuto. Il suo aspetto esteriore era impressionante: misurava 16,60 metri di lunghezza, 2,60 di altezza e conteneva 800000 elementi. Pesava 5 tonnellate e occorrevano enormi quantità di ghiaccio ogni giorno per raffreddarla. La programmazione fu tuttavia limitata, rispetto a quella concepita da Babbage, dal fatto che vi erano solo due alternative possibili: continuare con l'operazione successiva o fermarsi. Mark 1 venne intensamente usato per il calcolo di ogni genere di tabelle numeriche. Negli otto anni seguenti, Aiken costruì altri tre modelli di questo tipo. Il Mark 2 venne messo in cantiere fin dal 1944 e, a partire dal 1949, il Mark 3, che era elettronico con una memoria a tamburo. Il Mark 6 avrà, nel 1952, una delle prime memorie a tori di ferrite.
Lo Z1 di Konrad Zuse. |
A Konrad Zuse [97] spetta l'incontestabile merito di
aver costruito il primo calcolatore universale binario governato
da un programma. Questa macchina funzionava secondo una serie di
istruzioni che indicavano il codice operativo, la locazione di
memoria e quella del risultato (la locazione è un codice che
indica una specifica zona in una parte della memoria). La cosa
più stupefacente era che, mentre gli americani disponevano di
numerosi gruppi di ricerca e di un consistente aiuto finanziario
da parte dell'esercito, Zuse lavorava da solo, in un ambiente,
all'inizio, sfavorevole. Fortemente motivato dal desiderio di
trasferire a una macchina i calcoli più complessi che un uomo
potesse eseguire, dal 1936 al 1938 Zuse installerà, nel salotto
dei suoi genitori, un primo prototipo meccanico del suo progetto,
lo Z1. Questa macchina, completamente meccanica, era formata da
un insieme di ripiani mobili. Le varie posizioni assunte da uno
stilo in una fenditura su un ripiano rigato ne costituivano la
memoria. La posizione, a sinistra o a destra dello stilo,
rappresentava uno 0 oppure un 1. La memoria era formata da un
migliaio di ripiani, che costituivano altrettante cifre binarie.
Purtroppo, la macchina non funzionava molto bene e, inoltre, il
salotto di famiglia era troppo piccolo. Di conseguenza, Zuse
decise, per costruire lo Z2, di sostituire le parti meccaniche
dell'unità aritmetica con dei relè telefonici. Si trattava di
commutatori elettromeccanici del tipo "aperto/chiuso",
che aumentavano la velocità di calcolo, in quanto operavano
parecchie centinaia di volte al minuto. L'unità aritmetica era
connessa alla memoria, che rimaneva quella dello Z1.
Una volta richiamato alle armi e assegnato alla fabbrica di aerei
Henschel, Zuse costruì, con un gruppo di circa quindici persone,
lo Z3 [98], il primo calcolatore universale governato da un
programma, che venne completato nel dicembre del 1941. Si
trattava di una piccola macchina, con un lettore di nastri, una
console per l'operatore e due tipi di pannelli contenenti 2600
relè. Era fornita di una memoria di 64 numeri di 22 bit ed
eseguiva una moltiplicazione in tre-cinque secondi. Poteva anche
estrarre le radici quadrate, ma, in ogni caso, i valori iniziali
dovevano essere introdotti a mano nella memoria. Il programma era
costituito da una serie di istruzioni fornite progressivamente su
nastri alla macchina e che le indicavano le operazioni che doveva
eseguire. Un simile calcolatore era chiamato
"universale" dal momento che non era abilitato ad
eseguire una sola serie di calcoli.
Poco tempo dopo, Zuse costruì lo Z4, basandosi sullo stesso
principio, ma migliorandone la velocità e la potenza.
Durante i bombardamenti sistematici angloamericani del 1944, le
installazioni di Zuse furono frequentemente danneggiate e lo Z4
dovette essere spostato varie volte, mentre il modello
precedente, lo Z3, venne distrutto nell'aprile del 1945 da un
bombardamento. Proprio prima della fine della guerra, Zuse, col
suo gruppo di collaboratori, poté lasciare Berlino, portando con
sé il suo calcolatore, parzialmente smontato. Dopo varie
peripezie che lo hanno visto in viaggio per tutto il centro
Europa, Zuse poté portare la sua macchina a Zurigo, dove fu
installata, nel 1950, nel Politecnico federale.
Vi fu, in seguito, tutta una serie di macchine discendenti dallo
Z4, che rappresentarono per molto tempo, in Europa, i soli
calcolatori di una certa grandezza.
I primi a lanciarsi nell'avventura di un calcolatore che funzionasse con tubi a vuoto furono John V. Atanasoff e Clifford Berry [99] che, nel 1939, idearono insieme l'ABC (Atanasoff-Berry Computer). Questa macchina, decisamente rivoluzionaria, utilizzava, inoltre, il sistema binario derivato dall'algebra di Boole. Non essendo purtroppo programmabile, era, per questo motivo, molto lenta, in quanto non utilizzava la velocità potenziale di una macchina completamente elettronica. Il suo orologio interno aveva solo 60 pulsazioni al secondo, prestazione per la quale non era necessario servirsi dell'elettronica. L'unità di addizione e sottrazione conteneva 210 tubi: altri 30 controllavano il lettore e l'editore delle schede. La memoria era formata da due tamburi rotanti, versioni primitive di quelli della fine degli anni '40 e dell'inizio degli anni '50. La parte più fragile era l'editore delle schede perforate sul quale si leggevano i risultati: si guastava ogni centinaio di migliaia di volte circa, una frequenza sufficiente a escludere l'esecuzione delle equazioni lineari, che necessitava di un'infinità di cifre binarie. La macchina era stata ideata per risolvere simultaneamente equazioni lineari, differenziali e calcolare tavole per operazioni balistiche. La sua costruzione fu conclusa nella primavera del 1942. All'inizio, Atanasoff aveva chiamato il suo apparecchio semplicemente "macchina calcolatrice"; il nome ABC verrà coniato solo qualche anno dopo. L'ABC venne smantellato nel 1948 ed ispirerà direttamente le future macchine elettroniche, in particolare l'ENIAC.
Nel 1946 presso la Moore School of Electrical Engineering
dell'Università di Pennsylvania, J. W. Mauchly e J. P. Eckert
completarono la prima
macchina interamente elettronica [100] ad alta velocità,
chiamata ENIAC (Electronic Numerical Integrator and Calculator).
La sua struttura poteva considerarsi come un analogo elettrico
del Mark 1, rispetto al quale risultava molte centinaia di volte
più veloce.
L'ENIAC operava su variabili discrete: era capace di eseguire le
operazioni aritmetiche come l'addizione, la sottrazione, la
moltiplicazione, la divisione e l'estrazione di radici quadrate
su numeri (con segno) in forma decimale. Inoltre, si ricordava i
numeri letti da carte perforate o memorizzati sugli interruttori
delle sue "function table" o ottenuti nel processo di
elaborazione, e li rendeva disponibili quando necessario.
Registrava i suoi risultati su carte perforate dalle quali
potevano essere stampate automaticamente delle tabelle. Infine,
una volta comandato di eseguire una "routine"
consistente di operazioni del suo repertorio, eseguiva la
"routine" senza ulteriore intervento dell'uomo. Se
appropriatamente programmato, poteva eseguire operazioni
matematiche complesse come l'integrazione numerica e la
derivazione.
I segnali fondamentali usati dall'ENIAC erano generati dal suo
oscillatore ad una frequenza di 100000 al secondo. L'intervallo
tra segnali successivi, indicato col termine "pulse
time", era di 10 microsecondi: così un'addizione veniva
eseguita in 20 pulse time, mentre una moltiplicazione a 10 cifre
in 280 pulse time.
Concretamente, l'ENIAC consisteva di 40 pannelli disposti a forma
di U (pesavano circa 30 tonnellate e occupavano una superficie di
160 metri quadrati), 3 "function table" portatili, un
lettore e un perforatore di carte. Conteneva 70000 resistenze,
10000 capacità, 1500 relè, 6000 commutatori manuali, oltre a
17468 tubi a vuoto, il cui mancato funzionamento (anche di uno
solo) bastava a cancellare il calcolo in corso. Era azionata da
un motore equivalente a due potenti motori d'auto 4 cilindri,
mentre un enorme ventilatore raffreddava il calore disperso dai
tubi, consumava 150000 watt. Inoltre, la sua programmazione era
una cosa complessa: bisognava azionare a mano migliaia di
commutatori e collegare in modo adeguato centinaia di cavi.
Nel 1945, il famoso matematico John von Neumann si era aggiunto
al gruppo della Moore School. A quel tempo, stava cercando una
soluzione computazionale per le equazioni differenziali parziali
in collegamento con il Manhattan Project per lo sviluppo della
bomba atomica. L'ENIAC, che era nato per scopi militari, risultò
essere insufficiente per quel tipo di lavoro, ma fu proprio lo
studio dei suoi limiti che condusse von Neumann e i membri del
gruppo della Moore School a sviluppare il progetto di un computer
"moderno" con il programma memorizzato, che prenderà
il nome di EDVAC.