# ENIAC

L'Electronic numerical integrator and computer (ENIAC) è, tra quelli di cui si ha notizia, il quarto computer elettronico digitale della storia, il quarto computer Turing completo della storia, il secondo computer elettronico Turing completo della storia e il primo computer elettronico general purpose della storia. Suo successore fu l'EDVAC.
Progettato e costruito alla Moore School of Electrical Engineering, una ex scuola universitaria dell'Università della Pennsylvania, per il Ballistic Research Laboratory, un ex centro di ricerca dell'esercito degli Stati Uniti d'America, fu presentato ufficialmente il 16 febbraio 1946 e progettato da J. Presper Eckert e John Mauchly (il team di sviluppo includeva Bob Shaw (tabelle funzionali), Chuan Chu (divisione/radice quadrata), Kite Sharpless (programmatore principale), Arthur Burks (moltiplicatore), Harry Huskey (lettore/stampante) e Jack Davis (accumulatori)).

## Storia

Durante la Seconda guerra mondiale, nel 1943, il Governo degli Stati Uniti subì una forte pressione ai fini della realizzazione di una macchina da calcolo. Questa doveva essere capace di risolvere i problemi di calcolo balistico per il lancio dei proiettili d'artiglieria.
Il progetto denominato "Project PX" venne affidato ai due scienziati J. Mauchly e J. Eckert che, dopo ben 7.237 ore di lavoro, lo portarono a compimento. Furono necessarie 18.000 valvole termoioniche che portarono l'ambiente ad una temperatura superiore ai 50 °C. Il computer occupava una superficie di 180 metri quadrati e aveva un peso di 30 tonnellate. Era il 1946. Un anno dopo si assisterà all'invenzione del transistor, il componente elettronico che soppianterà la valvola termoionica nella realizzazione del computer elettronico.
Inizialmente era stata prevista una spesa complessiva di 61 700 dollari, ma a lavori ultimati erano stati spesi 486 804, una somma otto volte maggiore di quella preventivata. L'ENIAC assorbiva talmente tanta energia elettrica che, alla sua prima messa in funzione, causò un black-out nel quartiere ovest di Filadelfia.
La programmazione fu eseguita da un gruppo di sei donne chiamate ENIAC girls: Jean Jennings, Frances Elizabeth "Betty" Snyder, Kathleen "Kay" McNulty, Marlyn Wescoff, Ruth Lichterman e Frances "Fran" Bilas. I loro nomi compaiono nella Women in Technology International Hall of Fame. Insieme a Ada Lovelace, furono le prime programmatrici della storia. Il loro ruolo fu taciuto dai giornali dell'epoca.
Durante la presentazione ufficiale nel 1946 l'ENIAC fu in grado, in meno di un secondo, di effettuare 5.000 volte la moltiplicazione di 97.367 per se stesso. Alla presentazione del calcolatore seguirono, oltre ai comunicati del Dipartimento di guerra, vari articoli in giornali popolari, quali ad esempio Newsweek, a dimostrazione dell'attenzione suscitata dall'ENIAC nell'opinione pubblica.
Nell'inverno del 1946-1947 l'ENIAC venne smantellato dalla Moore School of Electrical Engineering e nel gennaio del 1947 la prima unità arrivò ad Aberdeen Proving Ground, nel Maryland. Nell'agosto del 1947 l'ENIAC divenne nuovamente operativo. Questo primo calcolatore elettronico digitale general purpose apriva nuove strade, non solo in campo scientifico. Nel 1973 il brevetto di Mauchly e Eckert venne annullato dal giudice federale Earl Larson, del distretto degli Stati Uniti nel Minnesota, che stabilì che l'ENIAC derivava dal computer che John Vincent Atanasoff e Clifford E. Berry costruirono nel 1939, l'Atanasoff-Berry Computer, noto anche con la sigla "ABC".

## Descrizione
### Composizione

Come tutti i primi computer era di grandi dimensioni, occupava una stanza di m 9 x 30 per una superficie complessiva di 180 m$^2$ e pesava 30 tonnellate. Era costituito principalmente da 42 pannelli disposti su tre pareti della stanza. Ogni pannello era alto circa 2.74 metri, largo circa 60 cm e spesso circa 30 cm. Sopra i pannelli erano stati sistemati i condotti di aria per il raffreddamento. C'erano inoltre 5 pannelli portatili che potevano venir spostati da un posto all'altro.
L'ENIAC impiegava 18.000 valvole termoioniche, collegate da 500.000 contatti saldati manualmente, 1.500 relè e dissipava in calore una potenza termica di circa 200 kW. Ciò creava seri problemi di affidabilità perché il grande calore generato faceva bruciare le valvole con la frequenza di una ogni 2 minuti. Lo stress termico era maggiore soprattutto durante le fasi di accensione e di spegnimento del calcolatore per cui venne deciso di lasciarlo sempre in funzione. Questo provvedimento, insieme all'adozione di valvole più affidabili a partire dal 1948, fece ridurre la frequenza di rotture ad una media di una ogni due giorni, con un periodo massimo di 116 ore ininterrotte nel 1954. Si calcola che, nel periodo in cui l'ENIAC è stato in funzione, abbia richiesto la sostituzione di 19.000 valvole termoioniche.
J. Mauchly e J. Eckert erano riusciti a costruire il primo calcolatore con soli circuiti elettronici non in movimento.
Gli unici elementi meccanici nel prodotto finale erano realmente esterni al calcolatore. Questi erano un lettore di schede della International Business Machines Corporation (IBM) per l'input, un punzone di scheda sempre dell'IBM per l'output ed i 1.500 relé associati.

### Funzionamento

L'ENIAC, pur essendo digitale, utilizzava il sistema numerico decimale. La sua memoria poteva contenere solo 20 numeri di 10 cifre, era di tipo flip-flop, l'input era consentito da schede di carta perforate. Era in grado di riconoscere il segno di un numero, confrontare numeri, e di eseguire le operazioni di addizione, sottrazione, moltiplicazione, divisione e radice quadrata.
I maggiori limiti, oltre al calore prodotto, consistevano nei tempi piuttosto lunghi richiesti per la programmazione, nell'affidabilità e nella quantità di memoria. Nonostante tutto, l'ENIAC processava ad una velocità 1000 volte superiore a quella dell'Harvard Mark I.

## Programmazione

L'ENIAC poteva essere programmato per eseguire sequenze complesse di operazioni tra cui loop, branch e subroutine. Diversamente dai computer a programma memorizzato che esistono quest'oggi, l'ENIAC era costituito da un ampio sistema di calcolatrici elettroniche. Esse presentavano programmi a codifica fissa con tabelle di funzioni contenenti ciascuna 1200 interruttori a dieci vie.
L'operazione di mappatura di un problema sulla macchina era estremamente complessa e poteva richiedere diverse settimane di lavoro. A causa delle complessità insite in quest'operazione, i programmi erano in genere modificati dopo un grande numero di test del programma corrente. Una volta che il programma era stato definito su carta, il processo di inserimento dello stesso nell'ENIAC, attraverso la manipolazione di interruttori e cavi, poteva richiedere diversi giorni. Questa fase era seguita da un periodo di verifica e debugging, facilitato dal fatto che l'ENIAC era in grado di eseguire programmi un passo alla volta.
Le sei programmatrici primarie dell'ENIAC, Kay McNulty, Betty Jennings, Betty Snyder Holberton, Marlyn Wescoff, Fran Bilas e Ruth Lichterman, non solo determinarono come dare i programmi in pasto alla macchina, ma svilupparono anche una profonda conoscenza del funzionamento interno della stessa. Le programmatrici appresero come effettuare operazioni di debugging e manutenzione infilandosi all'interno della struttura dell'ENIAC per individuare valvole e collegamenti danneggiati.

### ENIAC Girls

Kathleen Antonelli, Jean Bartik, Betty Holberton, Marlyn Meltzer, Frances Spence e Ruth Teitelbaum sono spesso ricordate come le prime “ENIAC Girls”. Queste programmatrici furono selezionate da un gruppo di circa 200 “computatrici” che studiavano alla Moore School of Electrical Engineering presso l'Università della Pennsylvania. Dopo la fine della Seconda Guerra Mondiale, quando le altre computatrici furono sostituite dai soldati di ritorno dal fronte, le ENIAC Girls continuarono a lavorare sul progetto, ma il loro contributo non fu mai celebrato ufficialmente. Durante la conferenza stampa del 1946 dedicata alla presentazione dell'ENIAC al grande pubblico americano le programmatrici non ottennero alcun riconoscimento. Molte delle programmatrici non furono invitate alla celebrazione del cinquantenario dell'invenzione dell'ENIAC.
Herman Goldstine selezionò le programmatrici dal bacino di computatrici che si occupavano di calcoli balistici tramite l'utilizzo di calcolatrici da tavolo e dell'analizzatore differenziale. Sotto la direzione di Herman e Adele Goldstine, le programmatrici studiarono gli schemi elettrici e la struttura fisica dell'ENIAC. Infatti per programmare l'ENIAC era necessario agire sugli interruttori e il sistema di cavi della macchina. All'epoca la programmazione era considerata un compito di natura impiegatizia e quindi poco qualificato. Antonelli, Bartik, Holberton, Meltzer, Spence e Teitelbaum furono celebrate nei decenni successivi per il loro contributo allo sviluppo dell'informatica.

### Los Alamos e la bomba-H

Sebbene il Ballistic Research Laboratory fosse lo sponsor dell'ENIAC, il primo problema mai testato proveniva dal Los Alamos National Laboratory, dove il matematico John von Neumann stava lavorando alla bomba ad idrogeno. Le programmatrici utilizzarono un milione di schede perforate IBM per la programmazione del problema e l'operazione richiese un mese di lavoro.

## Attività

L'attività dell'ENIAC venne finanziata inizialmente dalla United States Navy, la marina militare degli Stati Uniti, interessata al calcolo delle traiettorie balistiche che il computer poteva effettuare in una grande varietà di situazioni diverse, trovando soluzioni numeriche di alcune equazioni differenziali; da ciò deriva il nome di integratore numerico.
L'ENIAC era abbastanza flessibile da permettere una vasta gamma di calcoli su larga scala per cui vide l'applicazione anche in campi non militari. Infatti successivamente l'ENIAC venne usato anche per scopi civili, come la classificazione dei dati dei censimenti.
Inoltre l'ENIAC venne utilizzato per applicazioni scientifiche. Per esempio John von Neumann se ne servì per realizzare la prima previsione meteorologica al computer. In quel particolare esperimento processò 250.000 operazioni in virgola mobile in circa 24 ore e realizzò una previsione di 24 ore dai dati di ingresso.
L'ENIAC rimase in funzione fino al 2 ottobre 1955; venne poi trasferito al museo Smithsonian Institution, a Washington, dove è ancora esposto.