Percorso: ilMac.net > Macopinioni > Articoli > La storia dell'informatica


La storia dell'informatica

2 - Eniac ed i computer della prima generazione

Dopo la fine della guerra, la neonata IBM commissionò la costruzione di uno dei primissimi computer “pubblicamente conosciuti”, il Mark I, che fu realizzato presso l'università di Harvard. Questo computer era ancora essenzialmente meccanico, con circa tremila relé che controllavano ruote dentate e contatori, conferendo alla macchina dimensioni veramente notevoli; il problema delle dimensioni dei computer, come si vedrà in seguito, poté essere risolto solo con molti decenni di ricerca e con l'avvento dei computer quasi completamente elettronici.

ENIAC, ad esempio, fu il primo computer a minimizzare la componente meccanica. Commissionato dall'Esercito degli Stati Uniti durante la guerra per velocizzare complessi calcoli balistici, entrò in funzione solo nel '44 e subì continue revisioni per tutto il biennio '45-'47 prima di entrare effettivamente in attività. L'innovazione più grande fu la sostituzione dei meccanismi di calcolo con valvole, che avevano una velocità di molto superiore a quella delle ruote dentate (si pensi che Mark I poteva moltiplicare due numeri di 23 cifre in circa 6 secondi, mentre ENIAC era in grado di effettuare nell'arco di un solo secondo ben trecento moltiplicazioni simili); la nuova macchina inoltre possedeva dimensioni realmente “mostruose”, coprendo ben 180 m2, con diciottomila valvole e seimila interruttori. Nonostante la bassa affidabilità (ENIAC si rompeva ogni poche ore a causa del calore sprigionato, rendendo necessaria una squadra di tecnici sempre all'erta e pronta a intervenire), nessun computer costruito nell'“epoca ENIAC” (ovvero dalla sua entrata in funzione fino al suo spegnimento definitivo alla metà degli anni '50) riuscì a raggiungerne la velocità di calcolo.


Fotografia di una parte di ENIAC.

ENIAC soffriva però di un problema: era sì programmabile nel senso moderno del termine, ma solo modificando la disposizione di un grande numero di fili collegati a uno dei suoi pannelli; programmare ENIAC era una questione non solo di algoritmi ma anche di saldature e collegamenti elettrici, rendendo l'operazione molto difficoltosa. L'ingresso e l'uscita dei dati avveniva invece su schede di carta perforate. Fu un grande passo in avanti dunque l'architettura a programma e dati registrati insieme; l'origine di questo tipo di architettura è controversa: essa è contenuta in una bozza di rapporto scritta da John von Neumann nel '45 (e per questo è spesso indicata impropriamente col termine di architettura di von Neumann) pure se von Neumann non fu l'unico ideatore di questa innovazione che fu in realtà realizzata dalla squadra di lavoro dell'elaboratore EDVAC (ed anche molti altri studiosi, tra cui Konrad Zuse stesso, affermarono di aver avuto idee simili all'epoca). é molto probabile che sia davvero accaduto che molte persone siano giunte a una stessa conclusione contemporaneamente (è già accaduto molte volte nella storia dell'informatica), e come in molte altre occasioni è spesso più interessante per l'implementatore di un sistema l'innovazione stessa piuttosto che l'individuazione esatta del suo autore.


Uomini alla console e all'unità nastro di EDVAC, il primo computer progettato secondo l'architettura di von Neumann.

Indipendentemente da ciò, le innovazioni principali del rapporto di von Neumann, basato sul computer EDVAC che egli aveva contribuito a costruire, diventeranno parte del patrimonio comune dei progettisti di computer: non solo l'ingresso dei programmi insieme ai dati su schede perforate, ma anche l'invio di più bit (stati logici 1 oppure 0) in contemporanea, anziché uno dopo l'altro come nei computer precedenti, e l'uso della memoria interna non solo per registrare i dati parziali e finali delle operazioni da compiere ma anche le operazioni stesse, rendendole facilmente modificabili.

Con questa innovazione, siamo definitivamente entrati nella prima generazione dello strumento informatico. Con l'architettura di von Neumann affermatasi come “standard” di realizzazione (e lo rimarrà fino ai nostri giorni: i moderni computer sono tutti basati sulle idee dell'architettura di von Neumann), iniziò un processo di innovazione serratissimo che non si interromperà più.

I computer della prima generazione sono pochi e costosi, costruiti soprattutto dalle università che vedono così aumentare il proprio prestigio, e più raramente usati anche da altri soggetti (tra cui spiccano soprattutto gli enti governativi americani), insieme ai primi accenni di “industrializzazione” dell'informatica. I computer dell'epoca erano costruiti principalmente con valvole; la struttura dell'unità centrale non aveva una separazione tra logica di governo della macchina e le altre funzioni; in particolare non aveva una logica di governo separata per le periferiche esterne (il che voleva dire che il computer, per fare un'operazione come leggere un dato da una scheda, doveva fermare tutte le altre operazioni che stava facendo e attendere fino all'arrivo del dato). I dati venivano inseriti “a lotti”; questi ultimi venivano elaborati completamente e poi restituiti. Un computer di questo tipo poteva eseguire una sola istruzione per volta, e soffriva del limite indicato sopra relativo alla logica di governo, un problema che piagherà i computer ancora per molto tempo (si consideri però che questi primi computer, essendo i primi, erano dei veri e propri “prodigi” di ingegno e tecnologia, veri pionieri in un campo scientifico che aveva appena cominciato ad esistere).

Molte società decisero di iniziare la costruzione di computer, intravvedendo nel neonato settore un mercato completamente nuovo e quindi denso di profitti. Leader di mercato era Remington-Rand, una ex azienda di macchine da scrivere che aveva progettato e costruito il modello UNIVAC (che verrà per tutti gli anni '50 associato all'idea di “computer” dalla popolazione americana, come in Italia si associa la parola “kleenex” ai fazzoletti di carta), il quale divenne famoso agli occhi dell'opinione pubblica per aver previsto, facendo le proporzioni sul 7% dei voti, la sconfitta di Eisenhower alla sua seconda candidatura in diretta sul canale televisivo CBS. Altre aziende dell'epoca erano IBM, nata nel 1924 dalla fusione della compagnia di Hollerith con altre, che produceva un'intera gamma di sistemi, e la Compagnie des machines Bull, che produceva macchine come la serie Gamma. Non era ancora nato un concetto vero e proprio di software: la macchina non era altro che una gigantesca, rapidissima calcolatrice, e veniva usata spesso in modo un po' “empirico”; erano necessarie competenze tecniche molto ampie per effettuare lavori tutto sommato molto limitati, e ancora non si erano intuite le potenzialità del calcolatore in ambiti che non fossero il calcolo.


John Backus, progettista principale del Fortran.

Uno dei problemi più “pesanti” per un programmatore era di dover obbligatoriamente creare programmi nel linguaggio macchina, ovvero con l'insieme di istruzioni comprese dalla circuiteria interna dell'apparato, indicate tramite numeri scritti in base 2 (“binari”); tutta la gestione della macchina era delegata al programma, dalla gestione degli apparati di ingresso dei dati, all'elaborazione, al posizionamento dei dati in memoria, all'uscita. Fu così una forte innovazione la creazione, nel '57, del FORTRAN (“Formula Translator”), che possiamo considerare come uno dei primissimi linguaggi di programmazione cosiddetti di alto livello, ovvero costituiti da istruzioni scritte in una “lingua” artificiale che, nel caso specifico di questo linguaggio, ricalcava la simbologia matematica (e infatti il linguaggio Fortran fu espressamente scritto per la realizzazione di programmi che risolvessero problemi di calcolo scientifico) e che dunque non richiedesse una completa conoscenza della macchina per essere usata. Un programma fornito a parte, detto compilatore, avrebbe letto il codice sorgente scritto in quel linguaggio e lo avrebbe interpretato, fornendo in uscita il codice compilato nella “lingua” originale della macchina. Fortran, come più tardi anche Cobol, ebbero un impatto straordinario iniziando la riduzione dei “tecnici in camice bianco” e creando la moderna figura del programmatore, separato dal progettista e/o dall'esecutore del programma. Fortran fu il frutto di un progetto di IBM iniziato partendo dalle idee di John Backus, creatore insieme al suo collega Naur di un formalismo noto come BNF, Backus-Naur form, una simbologia che consente di descrivere rapidamente la grammatica di un linguaggio (naturale o, più spesso, artificiale come i linguaggi di programmazione). Una curiosità per sottolineare l'importanza del lavoro di Backus: quando, per raggiunti limiti di età, quest'ultimo dovette andare in pensione, l'IBM gli regalò una splendida villa sulla baia di San Francisco e lo pagò a vita per studiare qualsiasi argomento preferisse, a patto che però egli non lavorasse per nessuno dei loro concorrenti.



Data di pubblicazione: 20-11-2004
L'intero contenuto di questo sito è © dal 1998 del Team di ilMac.net, è vietata ogni riproduzione senza il consenso scritto da parte degli autori.