CULTURA

ENIAC, EDVAC e la nascita dei laboratori di informatica

Tutto questo intreccio di storie dimostra che la realizzazione del computer elettronico non è un fulmine a ciel sereno, ma lo sbocco di un lungo processo che subisce una formidabile accelerazione a ridosso della guerra e a causa della guerra. È infatti l’esercito degli Stati Uniti che il 31 maggio 1943 affida a John Mauchly e a John Eckert, dell’università della Pennsylvania, la realizzazione di ENIAC, un computer interamente elettronico, sulla base di un rapporto che i due hanno presentato nell’agosto 1942.

ENIAC entra in funzione il 16 febbraio 1946 presso il poligono di tiro del comando di artiglieria di Aberdeen, nel Maryland. A guidare il gruppo di ricerca, che raccoglie almeno trenta matematici oltre a innumerevoli tecnici, sono Eckert, Mauchly e il capitano Hermann H. Goldstine, che è direttore del Centro studi balistici dell’esercito ospite dell’università della Pennsylvania di Filadelfia. Il budget preventivato parte da 150.000 dollari, me poi lievita fino a quasi 500 milioni di dollari.  I circuiti di ENIAC sono tutti elettronici e non c’è alcuna parte meccanica in movimento. Ed è automatico. Ottenuto un programma, elaborato da un operatore esterno e immesso nel computer sotto forma di schede perforate, lo porta a compimento da solo, senza ulteriori interventi umani. Processa informazioni di cui John Tykey ha individuato l’unità elementare, il bit (da binary digit) che designa uno dei due soli stati possibili: 1 o 0, acceso o spento.

ENIAC, il primo computer. Video prodotto dall'università della Pennsylvania.

ENIAC è un gigante: occupa un salone di 9 metri per 15, pesa 30 tonnellate, impiega 17.468 valvole di 16 tipi differenti che producono 100.000 impulsi al secondo, 70.000 resistenze, 10.000 condensatori. Quando è in funzione assorbe 170 kilowatt. È costato tantissimo. Ma costituisce una svolta autentica: effettua 5.000 addizioni o 300 moltiplicazioni al secondo. Il che significa che è grosso modo mille volte più veloce di qualsiasi altro computer meccanico o elettromeccanico. 

Il motivo per cui un computer elettronico può essere di diversi ordini di grandezza più veloce di uno elettromeccanico è facile da spiegare. In quest’ultimo un elemento decisivo della velocità di calcolo sta nei relè, dove un impulso elettrico si trasforma nel movimento meccanico, che per realizzarsi compiutamente impiega tra 1 e 10 millesimi di secondo. In un computer elettronico, che utilizza solo valvole termoioniche, gli unici elementi che si muovono sono elettroni, che viaggiano in buona sostanza alla velocità della luce. E, dunque, i calcoli possono essere effettuati, in linea di principio, in tempi pressoché reali. Detto in altri termini: con il computer elettronico il sogno di Leibniz si è davvero avvicinato. 

E a dimostrarlo è il fatto che non viene impiegato solo nei calcoli balistici cari all’esercito (realizzando in 30 secondi quello che una macchina elettromeccanica realizzerebbe in 20 ore), ma anche in ambito scientifico: in ricerche sui raggi cosmici  e per l’applicazione dell’energia nucleare (anche per la costruzione della bomba H a fusione), la progettazione di gallerie del vento, gli studi meteorologici. 

La nascita delle simulazioni al computer

Ecco, nel campo della meteorologia la novità è palpabile. Nessuno, prima di ENIAC, avrebbe potuto immaginare di effettuare previsioni meteo utili, perché il tempo di calcolo delle equazioni note di dinamica dei fluidi necessarie per descrivere la dinamica dell’atmosfera sarebbe stato enorme e non solo con il “computer uomo”, ovvero con i calcoli a mano, ma anche con i computer meccanici ed elettromeccanici. Con la sua velocità, ora il computer elettronico consente questi calcoli. E spalanca la strada a un nuovo modo di fare ricerca: la simulazione al computer. Che altro non è se non la capacità di fare previsioni sulla dinamica di sistemi anche complessi, date certe leggi note. 

Il computer elettronico, sostiene uno che se ne intendeva, Kenneth May, matematico dell’università di Toronto, è uno degli eventi più importanti non solo nella storia della matematica, ma nella storia dell’umanità. ENIAC tuttavia ha anche dei limiti. Alcuni piuttosto vistoso. Non è molto affidabile: subisce un guasto, in media, ogni 5 ore e mezza e in un anno brucia tutte le valvole di cui dispone. Inoltre non è una “macchina di von Neumann”: ha una memoria, ma questa non contiene il programma. Il che significa che ogni volta che si vuole utilizzare ENIAC per risolvere un nuovo problema, occorre fermarlo, modificare a mano la posizione di 6.000 interruttori ed eseguire una serie di altre operazioni che portano via alcuni giorni. Pur con tutti questi limiti, ENIAC sarà operativo per nove anni. Verrà fermato solo il 2 ottobre 1955, alle ore 23.45.

Andare «oltre l’ENIAC» è tuttavia un’esigenza immediata, che nasce mentre la realizzazione di quel primo computer digitale elettronico è ancora in corso. Tutto nasce, come spesso succede nella storia della scienza, da un fatto del tutto casuale: l’incontro al binario di un treno della stazione di Filadelfia tra il capitano Hermann Goldstine, che sta lavorando a ENIAC, e un matematico, molto famoso e tra i più grandi del XX secolo: John Janos von Neumann. Da qualche tempo l’ungherese, che è un matematico puro, si interessa di applicazioni, segnatamente di dinamica dei fluidi. Per le sue competenze e per il suo genio sta lavorando a Los Alamos al Manhattan Project, il progetto ultra segreto che sta realizzando la prima bomba atomica al mondo. John von Neumann è impegnato in un passaggio decisivo, l’implosione che deve portare il materiale fissile a sviluppare la reazione nucleare a catena. 

Goldstine invita il grande matematico a visitare ENIAC e gli prospetta le sue idee per andare oltre. Il prossimo computer che ha già un nome EDVAC (Electronic Discrete Variable Automatic Calculator), sostiene Goldstine, deve contenere in uno spazio più compatto molte meno valvole e deve essere più facile da usare; deve essere capace di affrontare molte più tipologie di problemi di ENIAC e deve avere la capacità di passare da un problema a un altro in maniera facile e veloce; deve infine immagazzinare facilmente e velocemente una grande quantità di dati. 

John von Neumann è come folgorato dal problema e, a partire dall’agosto 1944, inizia a frequentare Goldstine e i suoi colleghi alla Moore School, lasciandosi coinvolgere intensamente nel tentativo di andare “oltre ENIAC”. Il frutto di questo lavoro è contenuto in un rapporto di 101 pagine, First Draft of a Report on the EDVAC, che l’ungherese consegna ai membri della Moore School il 30 giugno 1945, proprio mentre a Los Alamos è impegnato nel primo test della bomba atomica che sarà realizzato ad Alamogordo il successivo 16 luglio. Ma i geni sono tali anche perché sanno lavorare al massimo livello contemporaneamente su più fronti.

Il rapporto di von Neumann è considerato come il testo base della logica del computer moderno. E come tale, per dirla con Goldstine, è «il documento più importante mai scritto sulla computazione e sui computer». L’ungherese, infatti, propone “il modo” in cui deve essere realizzata l’architettura delle nuove macchine elettroniche.

John von Neumann sostiene – ed è il primo in assoluto a farlo – che il computer deve essere considerato una macchina che manipola funzioni logiche, tutti gli aspetti tecnici, compresa l’elettronica, sono ancillari, non prioritari. La prima cosa da fare, nel progettare EDVAC, è dunque stabilirne la logica di funzionamento. Se vogliamo che esso sia flessibile e “general purpose”, dobbiamo distinguere nettamente tra le istruzioni per affrontare un problema specifico e gli organi di controllo generale. La macchina, dunque, deve avere sia una componente CA (central arithmetical) capace di effettuare le operazioni aritmetiche, sia un sistema CC (central control) per gestire la logica di funzionamento complessiva. Poi deve avere una memoria interna, M. Queste tre componenti, sostiene von Neumann, funzionano in modo analogo ai neuroni del sistema nervoso di un uomo. Hanno dunque bisogno di un’altra componente, R, che governa gli input e gli output della macchina, e poi di un’altra componente ancora, I, che trasferisce gli input al CA, al CC e, preferibilmente, alla memoria, M. C’è poi la necessità di un’ulteriore componente, simmetrica a I, la O, che trasferisce gli output da CA, CC e preferibilmente da M a R. 

La “macchina di von Neumann”, in definitiva, prevede alcune novità decisive: una memoria elettronica interna; un codice (ovvero un linguaggio) numerico binario; un programma generale di funzionamento in grado di coordinare una serie vasta (virtualmente infinita) di programmi specifici.

L’EDVAC così progettato nelle sue generalità verrà ultimato alla Moore School solo sette anni dopo. È alto due metri e più, occupa 46 metri quadri, contiene 3.500 valvole di 19 tipi diversi, altre 27.000 componenti elettroniche e una memoria costituita da 128 linee di ritardo acustico lunghe 58 centimetri, ciascuna delle quali capace di 384 Byte (unità di misura dell’informazione formata da 8 bit che possono assumere 28, cioè 256 valori). L’EDVAC sarà dotata anche di una memoria ausiliaria a tamburo magnetico e consegnata all’esercito, portata ad Aberdeen dove va ad affiancare ENIAC. Sarà operativa fino al 1961.

La piazza dei computer elettronici è affollata

Intanto John von Neumann, tornato all’Istituto di Studi Avanzati di Princeton, mette a punto una “sua” macchina, molto più compatta (è alta 2,50 metri di altezza ma occupa uno spazio inferiore ai due metri quadri), con meno valvole di ENIAC e notevole, per l’epoca, potenza di calcolo. Il nuovo computer è pronto proprio nel 1952. Ma ormai la piazza dei computer elettronici è affollata. Sempre sulla base del progetto di von Neumann vengono infatti realizzate l’ORDVC presso il laboratorio di ricerche balistiche di Aberdeen e l’ILLIAC presso la University of Illinois di Urbana-Champaign. A stretto giro i computer elettronici  diventano prodotti commerciali, a opera in primo luogo di industrie come la IBM, e soprattutto (per quanto riguarda la nostra storia) entrano nell’università e nei centri di ricerca, prima negli USA e in Gran Bretagna, poi in tutto il mondo. Consentendo non solo sviluppi enormi in varie discipline scientifiche, come sognato da Leibniz, ma anche la nascita di nuove discipline.

Già nel 1950, per esempio, John von Neumann utilizza il computer elettronico per la formulazione di previsioni meteorologiche con risultati soddisfacenti, mentre  Claude Shannon pubblica un articolo in cui propone le basi teoriche per un computer capace di giocare (e vincere) a scacchi. In quel medesimo anno Eckert e Mauchly, messisi in proprio, iniziano la produzione di computer in serie, gli UNIVAC-1. Senza molta fortuna, per la verità: la Eckert & Mauchly Computer Corporation si trova presto in difficoltà economiche e deve vendere il suo know how. Ma ormai la strada è spianata: nel 1953 la IBM presenta, con successo, il Sistema 650: un computer di medie dimensioni che può essere utilizzato sia a fini scientifici che commerciali. Dopo un anno la IBM propone il Sistema 704: un computer più potente, capace di 42.000 addizioni al secondo, con una memoria a nuclei magnetici con una capacità di un milione di cifre e una velocità di accesso mille volte superiore a quella del Sistema 604. Questo computer è particolarmente adatto a soddisfare le esigenze degli scienziati: a Cambridge, in Inghilterra, gli astrofisici lo utilizzano per ricostruire l’evoluzione del Sole. In quattro ore riescono a effettuare calcoli che, se eseguiti a mano, avrebbero richiesto 30.000 anni. Fosse stato vivo, a questo punto Leibniz avrebbe applaudito: c’è finalmente lo schiavo (elettronico) che può liberare gli astronomi dalla fatica e dalla noia di montagne di calcoli.

Ormai la Moore School di Filadelfia, l’Istituto di Studi Avanzati di Princeton, i Los Alamos Laboratories non sono ormai gli unici posti dove si fa ricerca con i computer. Già nel 1944, su iniziativa della IBM è nato, presso la Columbia University di New York, il primo centro universitario di ricerca informatica: il Watson Scientific Computing Laboratory

Nel 1954, infine, John Bakus e colleghi alla IBM mettono a punto il FORTRAN  (formula translator): un linguaggio simbolico universale che può essere utilizzato su qualsiasi computer elettronico. Il linguaggio è particolarmente adatto ad affrontare problemi matematici e, più in generale, scientifici. Il FORTRAN può essere scritto in lettere e dunque si possono comporre della frasi – secondo un linguaggio più amichevole per l’operatore – che vengono poi introdotte nel computer e tradotte nel “linguaggio macchina”, ovvero in stringhe con lunghe successioni di 0 e di 1. 

Nel 1947, intanto, presso i Bell Thelephone Laboratories, John Bardeen, Walter Houser Brattain e William Bradford Shockley inventano il transistor. Una versione, per così dire, solida, molto più compatta e resistente e molto meno energivora delle valvole a vuoto. I transistor sono costituiti da costosi cristalli di germanio. Nel 1954 il germanio è sostituito dal più economico silicio. I transistor possono così diffondersi senza ostacoli: nel 1957 se ne producono in tutto il mondo 30 milioni di esemplari.  

Dalla metà degli anni ’50 i transistor iniziano, così, a sostituire le valvole e a dar vita alla “seconda generazione” dei computer, che non hanno solo migliori prestazioni ma sono accessibili a migliaia di centri tecnici e scientifici nel mondo. Nel 1959 l’ingegnere italo-cinese Mario Tchou della Olivetti realizza Elea 9003, il primo calcolatore elettronico interamente a transistor italiano. L’affidabilità dei computer, davvero scarsa in ENIAC, aumenta di un fattore 10 con l’introduzione dei transistor e di 10.000 volte con i circuiti integrati. 

L’uso dei transistor e, poi, dei circuiti integrati consentiranno un’autentica esplosione nella velocità di calcolo, nella potenza e nella capacità di memoria dei computer, inaugurando una nuova era nella storia delle comunicazioni, nella storia della scienza e, dunque, nella storia della civiltà umana.

Puoi leggere le prime tre puntate di questa storia del computer:

Pietro Greco - La storia del computer 

Dalle macchine di Charles Babbage ai computer meccanici

Pionieri e sperimentatori: la grande corsa degli anni '30 e '40. Poi scoppia la guerra

© 2018 Università di Padova
Tutti i diritti riservati P.I. 00742430283 C.F. 80006480281
Registrazione presso il Tribunale di Padova n. 2097/2012 del 18 giugno 2012