Approfondimento del 16 febbraio 1998
Baby machine
Il
1998 è un anniversario importante per la storia del computer. Infatti, proprio 50 anni
fa, Tom Kilburn e Freddie Williams, due ricercatori dell'Università di Manchester in Gran
Bretagna, realizzarono il primo calcolatore digitale capace di memorizzare un programma e
poi eseguirlo: il primo computer come lo intendiamo noi oggi.
Si chiamava Small-Scale Experimental Machine, ma i suoi creatori lo chiamavano Baby
Machine. Il 21 giugno del 1948 Baby Machine eseguì il suo primo programma, scritto da Tom
Kilburn. Sentite il racconto di quella giornata memorabile, fatto da Freddie Williams
molti anni dopo.
"Inserimmo laboriosamente il programma e schiacciammo il pulsante
di accensione. Immediatamente le luci sul display iniziarono una danza folle. Negli
esperimenti precedenti era stata una danza di morte, che non aveva portato alcun risultato
e, quel che è peggio, non riuscivamo a capire dove fosse l'errore. Ma quel giorno le luci
si fermarono e comparve la risposta che aspettavamo. Fu un momento memorabile. Era il
giugno del 1948 e niente sarebbe stato più lo stesso".
La
storia dei calcolatori elettronici è cominciata all'inizio degli anni '40. Allora in
Europa si combatteva la Seconda Guerra Mondiale e i migliori esperti di criptografia
inglesi erano impegnati a decodificare le istruzioni che Berlino mandava ai sottomarini
tedeschi usando la macchina di cifra Enigma.
I calcoli erano lunghi e complicati e il tempo era prezioso. Così, nel 1943, gli
scienziati al servizio del governo britannico costruirono il primo computer elettronico
della storia: Colossus.
Il progetto e tutta la documentazione su Colossus sono rimasti coperti dal segreto
militare per 30 anni, anche dopo la fine della guerra, e non è mai stato costruito un
Colossus 2. Il segreto militare, però, non ha fermato il progresso e così, nel 1946, i
ricercatori dell'Università della Pennsylvania realizzarono ENIAC: l'Electronic Numerical
Integrator and Computer.
La macchina pesava 30 tonnellate, conteneva 18.000 valvole e 1.500 relé. Era un
computer universale, cioè poteva eseguire qualunque operazione, che ovviamente andava
programmata. A quell'epoca, però, non esisteva ancora il concetto di software, cioè una
serie di istruzioni immagazzinate nella memoria del calcolatore. Per cambiare la
programmazione di ENIAC, bisognava riconfigurare il suo hardware.
In pratica bisognava spostare 6.000 interruttori e cambiare la posizione di una foresta
di cavi. Per di più, ENIAC usava il codice decimale invece di quello binario, che usano i
computer moderni. Servivano dieci valvole per rappresentare una cifra da 0 a 9: uno,
quello corrispondente alla cifra, era attivo e gli altri nove no. Era un sistema piuttosto
lento e dispendioso.
Nel 1948, Tom
Kilburn, Freddie Williams e i loro colleghi dell'Università di Manchester trovarono una
soluzione al problema: la loro Baby Machine fu la prima macchina che non doveva essere
riconfigurata ogni volta ed era capace di memorizzare le istruzioni del programma.
La memoria del computer era un tubo catodico, come quello che si trova all'interno di
un comune televisore. Il tubo memorizzava le informazioni creando una serie di punti
luminosi su uno schermo. Un punto acceso rappresentava 1, invece un punto spento era lo 0.
Quindi un'altra differenza rispetto a ENIAC era che Baby Machine usava il codice
binario, le sequenze di 0 e 1 dei bit. La sua memoria poteva contenere 1024 bit. Lo
schermo su cui comparivano i punti luminosi era anche il display da cui i ricercatori
leggevano il risultato, interpretando la disposizione dei punti.
L'idea del tubo catodico era di Freddie Williams, il progetto del computer invece era
di Tom Kilburn. A giugno del 1948, Kilburn scrisse il primo programma per la macchina. Lo
vedete alle mie spalle. Serviva a calcolare i fattori del numero 262.144. Il programma
venne inserito, Baby Machine si animò, macinò i suoi dati per 52 minuti e, alla fine,
fornì il risultato corretto
Per cambiare programma alla macchina, era sufficiente cancellare le vecchie istruzioni
e inserire quelle nuove. Quindi con la riuscita dell'esperimento di Manchester è nato il
concetto di software. Kilburn aveva programmato il suo calcolatore direttamente in codice
binario, quello che oggi si chiama "linguaggio macchina".
Negli anni successivi, esperti inglesi e americani hanno creato i primi compilatori,
cioè programmi che traducono in codice binario espressioni algebriche e istruzioni in
inglese. Così chi programma può scrivere in un linguaggio più semplice, come il Fortran
o il C, e poi il compilatore provvede a tradurre in linguaggio macchina.
Per commemorare l'anniversario di Baby Machine, i
ricercatori dell'Università di Manchester stanno ricostruendo il computer, identico a
come era 50 anni fa, con l'aiuto del Museo della Scienza e dell'Industria ella città.
Un gruppo di volontari ha iniziato a lavorare il 5 marzo 1996 e conta di finire in
tempo per le celebrazioni a giugno di quest'anno. Il 21 giugno il vecchio programma di Tom
Kilburn verrà di nuovo inserito nel calcolatore.
Per l'occasione è stato anche indetto un concorso. I programmatori di tutto il mondo
sono invitati a scrivere un programma da inserire nella replica di Baby Machine. Sarà
premiata l'idea più originale. I concorrenti hanno tempo fino a marzo per presentare i
loro lavori. Tutti i dettagli, per chi fosse interessato, sono al sito http://www.computer50.org . |