L'idea innovativa che permise di cambiare i calcolatori in modo
radicale rispetto alle macchine sin qui esaminate è legata al concetto di
programmazione, cioè alla possibilità di fornire in ingresso alla
macchina non solo i dati da elaborare, ma anche la sequenza di operazioni da
eseguire sui dati. Questa sequenza di operazioni viene detta programma e
guida il funzionamento della macchina nello svolgimento di attività di calcolo
complesse. Questo significa che il calcolatore agisce innanzi tutto come un
interprete delle istruzioni. Ogni istruzione rappresenta un singolo passo
necessario per la risoluzione dell'intero problema. Poiché le sequenze di
operazioni elementari che possiamo specificare alla macchina sono infinite, uno
strumento di calcolo di questo genere ha enormi potenzialità, di gran lunga
superiori rispetto alle normali calcolatrici.
L'idea del calcolatore
programmabile si concretizzò nella progettazione della Macchina Analitica
(Analytical Engine) che doveva essere, nei progetti di Babbage, uno
strumento di calcolo "universale" le cui operazioni possono essere di volta in
volta specificate insieme ai dati da elaborare. La Macchina Analitica
rappresentava un progetto estremamente innovativo, ma la complessità e la
precisione richiesta per i suoi meccanismi e la mancanza di fondi resero
impossibile la realizzazione concreta di tale strumento. |
Fig. 57. Charles Babbage (1791-1871),
intorno al 1847. |
|
Fig. 58. Antiche tavole logaritmiche
(1796). Il problema originario che portò Charles Babbage al concetto di
calcolatore programmabile è quello della realizzazione di tavole matematiche
precise e prive di errori. Egli, infatti, era particolarmente insoddisfatto di
quelle disponibili a quel tempo poiché erano affette da numerosi errori di
calcolo e di stampa. |
|
Fig. 59. Una parte della Macchina
delle Differenze (realizzata nel 1832). Il primo tentativo di Babbage per la
realizzazione di tavole matematiche precise e prive di errori è legato alla
progettazione della Macchina delle Differenze (Difference Engine), una
macchina per calcolare e stampare direttamente tavole matematiche sfruttando un
particolare metodo matematico di calcolo, noto come il metodo delle differenze.
Nonostante i numerosi tentativi, Babbage non riuscì mai a completare la
realizzazione della macchina a causa delle difficoltà tecniche per il montaggio
dei componenti meccanici richiesti e per la notevole precisione meccanica
necessaria nella preparazione di ogni singolo componente e, soprattutto, per la
mancanza di fondi sufficienti. Curiosamente, una versione semplificata della
macchina delle differenze fu invece progettata e realizzata dai tipografi
svedesi Scheutz (padre e figlio) nel 1843. Altre versioni migliorate della
macchina furono successivamente realizzate dagli stessi Scheutz e da altri
inventori. |
|
Fig. 60. Una parte della Macchina
Analitica (mill e parte di stampa) in costruzione nel 1871, alla morte di
Babbage. Sono visibili due colonne che permettevano di memorizzare due numeri.
L'idea di calcolatore programmabile si concretizzò nella progettazione della
Macchina Analitica (Analytical Engine), macchina a cui cominciò a
dedicarsi nel 1834, abbandonata l'esperienza con la Macchina delle Differenze.
Questa nuova macchina doveva essere, nei progetti di Babbage, un calcolatore
"programmabile", cioè uno strumento di calcolo "universale" le cui operazioni
possono essere di volta in volta specificate insieme ai dati da elaborare.
Secondo il progetto (1836), la Macchina Analitica, azionata da un motore a
vapore, avrebbe dovuto comporsi di quattro parti fondamentali: la memoria
(store), un’unità di calcolo (mill), la sezione di ingresso
(lettore di schede perforate, ispirate a quelle dei telai Jacquard) e la
sezione di uscita (stampa dei risultati). La memoria sarebbe stata
costituita da diverse colonne di ruote dentate in grado di raccogliere i numeri
da elaborare. I dati venivano trasferiti dalla memoria all'unità di calcolo dove
era possibile eseguire una delle quattro operazioni aritmetiche con un
procedimento meccanico. Tutto il processo di calcolo doveva essere governato da
speciali schede perforate (operation cards). |
|
Fig. 61. a. b. Schede progettate da
Babbage per la Macchina Analitica: sopra una scheda per i dati (number card) con
la costante p e sotto una scheda per le istruzioni (operation card). |
a. number card
b. operation card |
Fig. 62. Ada di Lovelace (1815-1852).
Nel suo lavoro Babbage fu aiutato da Ada Augusta Byron, contessa di Lovelace,
figlia del poeta George Byron. Lady Lovelace collaborò con Babbage seguendo i
progetti della Macchina Analitica e arricchendo con numerosi ed importanti
contributi il concetto di programmazione. Tra l’altro ella si spingerà ad
immaginare per questa macchina non solo compiti di tipo numerico ma anche
attività come il calcolo simbolico o la composizione automatica di musica. Nel
1840 Babbage fu l'ospite d'onore al convegno torinese dei matematici italiani e,
a seguito di ciò, L.F. Menabrea pubblicò il primo resoconto dettagliato
riguardante il progetto della Macchina Analitica. In ricordo di questo gradito
soggiorno a Torino, quando nel 1864 pubblicò la propria autobiografia, Babbage
vi antepose una dedica al re Vittorio Emanule II. |
|
Copyright 1999-2001 Paolo Giangrandi - realizzazione web
Tecnoteca s.r.l. |