|
|
08. Babbage e il calcolatore programmabile |
|
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.
| |