SlideShare a Scribd company logo
1 of 71
Charles Babbage e le sue macchine:
un contributo divulgativo per
contestualizzare la figura di Ada Lovelace
Carlo Randone
carlornd@libero.it
carlo_randone@it.ibm.com
1
Friend of
Pisa, 14 Dicembre 2015
www.ibm.com www.cbi.umn.edu www.mupin.it
Nota: è disponibile anche una versione in inglese di questa presentazione
Note: it is available also an English version of this presentation
• Charles Babbage ed il contesto in cui visse e lavorò
• Una introduzione cronologica alle macchine di Charles Babbage
• I "Difference Engine"
• Il calcolo della tavole e il metodo delle "differenze finite"
• Introduzione al Difference Engine No. 1 ed alla D.E. No. 1 “portion"
• Introduzione al Difference Engine No. 2
• La costruzione del Difference Engine No. 2 allo Science Museum di Londra
• L'Analytical Engine
• Introduzione all'Analytical Engine
• Charles Babbage a Torino (1840), con Plana e Menabrea
• L'architettura dell'Analytical Engine (il “Plan 25”) ed i suoi meccanismi
fondamentali
• La programmazione dell'Analytical Engine
• Analytical Engine "Plan 28": 1842-1846
• Comparazione sintetica tra le caratteristiche delle macchine di Charles Babbage
• Ada Lovelace: “la prima programmatrice”
• “Plan 28”: una iniziativa di John Graham-Cumming per costruire l'Analytical Engine
• I lavori e le ricerche di Sydney Padua
• La "macchina analitica" nella fantascienza e nello steampunk
• Documentazione e riferimenti specifici
Agenda
- C. Randone - 2
Intro
D.E.
A.E.
Ada
Now
Docs
• Charles Babbage nacque a Londra il 26 dicembre 1791
• Fin dagli studi giovanili dimostrò una propensione all'algebra ed
agli studi matematici, tanto da distinguersi al Trinity College di
Cambridge, dove entrò nel 1811.
• E' stato un matematico e filosofo, scienziato e "proto-
informatico" che per primo ebbe l'idea di un calcolatore
programmabile.
• Dal 1828 al 1839 occupò la cattedra lucasiana di matematica a
Cambridge.
• Nel mondo dell'informatica è conosciuto grazie alle sue
macchine: la Macchina alle differenze ("Difference Engine"), di
cui realizzò un prototipo (parziale) e la Macchina analitica
("Analytical Engine").
Charles Babbage
- C. Randone - 3
Ritratto di C. Babbage,
pubblicato nel 1871 e ricavato da
una fotografia del 1860
• Nel 1833 incontrò Ada Lovelace (10/12/1815 - 27/11/1852), che negli anni successivi studiò le
macchine di Babbage e scrisse nel 1842-43 le famose "note" sulla macchina analitica.
• Alcune parti dei meccanismi incompleti di Babbage sono in mostra al Museo della Scienza
di Londra. Nel 1991, lavorando a partire dai suoi progetti originali, fu completata una
macchina alle differenze perfettamente funzionante, assemblata seguendo gli standard
disponibili nel XIX secolo, il che sta a indicare che la macchina alle differenze di Babbage
avrebbe potuto funzionare.
• Babbage morì a Londra, il 18 ottobre 1871, all'età di 79 anni.
Intro
Una sintesi delle attività di Charles Babbage sulle macchine da calcolo
- C. Randone - 4
"A timeline of Babbage’s life", da "The Evolution of Babbage’s Calculating Engines", di Allan Bromley
(1947–2002), IEEE Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136
(1822 - 1833)
(1834 - 1846)
(1847 - 1849)
(1856 - 1871)
Questa alternanza di
attività, unita al fatto che
furono progettati due
diversi "Difference Engine",
e che l' "Analytical Engine"
è molto diverso dai
"Difference Engine", ha
contribuito a creare non
poca confusione circa le
cosiddette Macchine di C.
Babbage.
In questa presentazione,
per semplicità, si parlerà
prima dei due Difference
Engine, e poi dell'Analytical
Engine.
Intro
Macchine alle Differenze e Macchina Analitica: due "motori" molto diversi…
- C. Randone - 5
Come vedremo, le "Macchine alle Differenze" (Difference Engines) e la "Macchina Analitica"
(Analytical Engine) di Charles Babbage realizzano funzionalità e sono ispirate a principi
significativamente diversi:
• Le Macchine alle Differenze svolgono sostanzialmente un solo "algoritmo" o processo di
calcolo (pur se parametrizzabile), e cioè come vedremo quello delle cosiddette "differenze
finite" e supporto del calcolo di funzioni polinomiali
• I principi di progettazione della Analytical Engine si prefiggevano invece di risolvere un
tema più ampio ed esteso: quello di un "motore analitico" in grado – potenzialmente – di
implementare un qualsivoglia algoritmo di calcolo; di essere cioè – diremmo oggi –
"programmabile".
Questa significativa differenza è ribadita più volte dalla stessa Ada Lovelace nelle sue "note"
sulla Macchina Analitica, in cui si legge tra l'altro:
The Analytical Engine is an embodying of the science of operations, constructed with peculiar
reference to abstract number as the subject of those operations. The Difference Engine is the
embodying of one particular and very limited set of operations […] while the Difference Engine can
merely tabulate, and is incapable of developing, the Analytical Engine can either tabulate or
develope. The former engine is in its nature strictly arithmetical, and the results it can arrive at lie
within a very clearly defined and restricted range, while there is no finite line of demarcation which
limits the powers of the Analytical Engine.
Intro
• Nel 1822 Charles Babbage propose lo sviluppo della macchina alle differenze in un
articolo inviato il 14 giugno alla Royal Astronomical Society e dal titolo "Note on the
application of machinery to the computation of very big mathematical tables". La
macchina avrebbe utilizzato il sistema decimale e sarebbe stata alimentata in modo
meccanico tramite il movimento di una maniglia che avrebbe fatto girare gli ingranaggi.
Macchina alle Differenze (Difference Engine) – La "Tables Crisis"
- C. Randone - 6
Von Vega – Tavola dei logaritmi (1794)
La produzione manuale di una
tavola dei logaritmi prevedeva:
• Calcolo manuali
• Trascrizione dei risultati
• Composizione tipografica
• Verifica
Con la macchina alle differenze
Babbage si proponeva di
risolvere contemporaneamente
tutte queste possibili fonti di
errore.
D.E.
• Il principio di funzionamento: metodo delle differenze finite
Consideriamo ad esempio il polinomio p(x) = 2x2 – 3x + 2
Supponendo di voler tabulati i valori p(0), p(1), p(2), p(3), p(4) ecc., la tabella viene
costruita nel seguente modo: la prima colonna è la variabile (x), la seconda colonna
contiene il valore del polinomio, la terza colonna contiene la differenza dei valori
contenuti nella seconda colonna, la quarta colonna contiene la differenza dei valori
contenuti nella terza colonna:
Macchina alle Differenze (Difference Engine) – Metodo delle differenze finite
- C. Randone - 7
x p(x) = 2x2 − 3x + 2 diff1(x) = ( p(x+1) - p(x) ) diff2(x) = ( diff1(x+1) - diff1(x) )
0 2 -1 4
1 1 3 4
2 4 7 4
3 11 11
4 22
Si noti che il valore dell'ultima colonna è costante. Questo non è un caso: per ogni
polinomio di grado n la colonna n+1 contiene un valore che è costante; questo è
cruciale per il funzionamento della Macchina alle differenze.
5
4
15
37
D.E.
• Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842
ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina
sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque
già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una
locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre,
l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George
Biddell Airy.
Macchina alle Differenze (Difference Engine) n. 1
- C. Randone - 8
• Il dispositivo, secondo il progetto, avrebbe
dovuto essere di una notevole complessità e
di grandi dimensioni strutturali: basti
pensare che richiedeva l'assemblaggio di
25.000 parti (di cui circa 12.000 per la
"stampante") e la macchina completa
sarebbe stata alta circa due metri e mezzo,
larga due metri e profonda uno, con un peso
di varie tonnellate.
Disegno per il Difference
Engine n.1, 1830
D.E.
• Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842
ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina
sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque
già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una
locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre,
l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George
Biddell Airy.
Macchina alle Differenze (Difference Engine) n. 1
- C. Randone - 9
• Il dispositivo, secondo il progetto, avrebbe
dovuto essere di una notevole complessità e
di grandi dimensioni strutturali: basti
pensare che richiedeva l'assemblaggio di
25.000 parti (di cui circa 12.000 per la
"stampante") e la macchina completa
sarebbe stata alta circa due metri e mezzo,
larga due metri e profonda uno, con un peso
di varie tonnellate.
Disegno per il Difference
Engine n.1, 1830
D.E.
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 10
Parte ("portion" o "the beautiful
fragment") del Difference Engine (n. 1),
assemblata nel 1832 (dall'ingegnere Joseph
Clement, che lavorava con Babbage per la
costruzione dei componenti delle
macchine).
Costituisce circa un settimo della macchina
completa.
La realizzazione di questo prototipo
rappresenta comunque un passo
importante, in quanto la facoltà umana e
mentale del "calcolare" viene portata a
livello meccanico, e l'operatore non deve
necessariamente conoscere il
comportamento interno della macchina ed i
principi matematici su cui è basata, per
ottenerne facilmente dei risultati utilizzabili
ed affidabili.
Parte del Difference Engine n.1 (Science Museum, Londra)
D.E.
Un video sull'uso del "beautiful fragment" (da 2:14 in poi):
https://www.youtube.com/watch?v=QVxbNZWLP60
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 11
Parte ("portion" o "the beautiful
fragment") del Difference Engine (n. 1),
assemblata nel 1832 (dall'ingegnere Joseph
Clement, che lavorava con Babbage per la
costruzione dei componenti delle
macchine).
Costituisce circa un settimo della macchina
completa.
La realizzazione di questo prototipo
rappresenta comunque un passo
importante, in quanto la facoltà umana e
mentale del "calcolare" viene portata a
livello meccanico, e l'operatore non deve
necessariamente conoscere il
comportamento interno della macchina ed i
principi matematici su cui è basata, per
ottenerne facilmente dei risultati utilizzabili
ed affidabili.
"The marvelous pulp and fibre of the brain had been substituted by
brass and iron, he [Babbage] had taught wheelwork to think, or at least
to do the office of thought."
[La meravigliosa polpa e le fibre del cervello erano state sostituite da ottone e ferro,
egli [Babbage] aveva insegnato a pensare agli ingranaggi, o almeno a svolgere l'ufficio
del pensiero]
Harry Wilmot Buxton (1843-1911), nella biografia di C. Babbage intitolata
"Memoir of the Life and Labours of the Late Charles Babbage", del 1870
(pubblicata solo nel 1988 da MIT Press)
Parte del Difference Engine n.1 (Science Museum, Londra)
D.E.
Un video sull'uso del "beautiful fragment" (da 2:14 in poi):
https://www.youtube.com/watch?v=QVxbNZWLP60
Macchina alle Differenze (Difference Engine) n. 1 (Portion replica) – IBM, Milano
- C. Randone - 12
Una replica in scala 3/4 della sezione ("portion") del Difference Engine del 1832 è esposta
all'IBM Forum di Segrate (MI). Fa parte di una serie di repliche costruite nel 1980 per la
mostra IBM "A Calculator Chronicle: 300 Years of Counting and Reckoning Tools", tenutasi a
New York nel 1981, ed è stato uno dei pochi esemplari poi inviati a vari uffici IBM in quel
periodo. Repliche simili sono esposte in alcuni musei nel mondo.
D.E.
Una replica simile è esposta anche al Museo
Nazionale della Scienza e Tecnologia "Leonardo Da
Vinci" di Milano.
(http://www.museoscienza.org/dipartimenti/catalogo_collezioni/scheda_oggetto.asp?id
k_in=ST120-00193&arg=Macchine%20da%20calcolo)
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 13
Il disegno qui utilizzato è
quello del prototipo del
D.E. n. 1 del 1832/1833,
così come riportato in
"Passages from the life of
a phylosopher" del 1864.
Le note operative
riportate sono tratte dal
"Chapter V"dello stesso
testo (sezione
"Description of the
existing portion of
Difference Engine No. 1").
Unità
Decine
Centinaia
Migliaia
Decine di Migliaia
T T = valore di f(x)12
"Table column"
"First Difference column"
"Second Difference column"
Singolorisultatotabulato(T)
Singoladifferenzadiordine1
Singoladifferenzadiordine2
"Cages"
D.E.
Le azioni di base del modello sono:
• 1° Half Cycle: T  T + 1
• 2° Half Cycle: 1   1 +  2
(si noti che la temporizzazione è invertita
rispetto a quella che sarebbe stata adottata nel
D.E. No. 1 completo)
Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London
- C. Randone - 14
Un esempio operativo sul prototipo del primo D.E., con la funzione T(x) = x2 + x + 41 (spesso usata
da Babbage, che genera alcuni primi):
2 1 T(x) x
41 0
2 43 1
2 4 47 2
2 6 53 3
2 8 61 4
2 10 71 5
2 12
2
Configurazioni "istantanee" del prototipo
del D.E. n.1:
T T = valore di f(x)12
1
4
2
0
2
0
3
4
4
0
2
0
7
4
6
0
2
0
3
5
8
0
2
0
1
6
0
1
2
0
1
7
2
1
2
0
Ruota delle Unità
Ruota delle Decine
T0
T1
T3
T2
T4
T5
2 1
34
56
78
910
Tempo
(preset)
x Steps #
6+7 = 13 (3 unità e riporto 1)
8+3 = 11 (1 unità e riporto 1)
2+8 = 10 (0 unità e riporto 1)
D.E.
Si veda anche: http://sydney.edu.au/engineering/it/research/tr/tr304.pdf
• Babbage, durante e dopo la progettazione della prima macchina alle differenze, aveva
lavorato alla più complessa Macchina analitica (descritta nel seguito). L'esperienza dello
sviluppo di quest'ultima gli aveva permesso di migliorare il progetto della Macchina alle
differenze e di svilupparne una seconda versione ("Second Difference Engine" o "D.E.
no. 2") tra il 1847 e il 1849.
• Questa versione prevedeva circa 8.000 parti (di cui 4.000 per la sola "stampante").
Macchina alle Differenze (Difference Engine) n. 2
- C. Randone - 15
Difference Engine n.2
Progetto del meccanismo di stampa
(Science Museum Library Babbage Papers,
drawing BAB [A] 173, “Plan of Inking Printing
& Stereotype Apparatus,” undated)
D.E.
Macchina alle Differenze (Difference Engine) n. 2
- C. Randone - 16
Design drawing: Difference Engine No. 2 (1847). Main elevation showing crank handle
(right), calculating section (center), and output apparatus (left). Science Museum Library
Babbage Papers, drawing BAB [A] 163, “Elevation for Difference Engine No. 2.” (Science
Museum, London)
~ 3,4 m
~ 2,1 m
D.E.
• Ispirandosi al progetto di Babbage, Per Georg Scheutz (1785-1873) costruì diverse
Macchine alle differenze a partire dal 1855; una di queste venne venduta al governo
Britannico nel 1859. Martin Wiberg (1826-1905) migliorò le macchine di Scheutz e le
utilizzò per produrre delle tavole logaritmiche che poi pubblicò.
• Basandosi sui progetti originali di Babbage lo Science Museum di Londra costruì una
copia funzionante della seconda versione della Macchina alle differenze. Questa venne
realizzata sotto la supervisione di Doron Swade che seguì il progetto tra il 1989 e il
1991.
• Nel 2000 venne realizzata anche la stampante che, ricevuti i dati dalla Macchina alle
differenze, ne permette la riproduzione su carta.
• La trascrizione dei disegni originali in disegni utilizzabili per la realizzazione dei
componenti mostrò che Babbage aveva commesso alcuni errori minori di
progettazione, ma nulla che potesse inficiare dal punto di vista logico il funzionamento
della macchina.
• La Macchina alle differenze e la stampante vennero costruite con i materiali e le
tolleranze disponibili nel XIX secolo e questo permise di dimostrare che il progetto di
Babbage, se fosse stato finanziato e gestito adeguatamente, avrebbe potuto realmente
portare alla realizzazione di una macchina funzionare.
Macchina alle Differenze (Difference Engine) n. 2 – Gli sviluppi successivi …
- C. Randone - 17
D.E.
Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991)
- C. Randone - 18
D.E.
Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991)
- C. Randone - 19
Doron Swade
D.E.
Macchina alle Differenze (Difference Engine) n. 2 – Computer History Museum (CA)
- C. Randone - 20
Dopo quella costruita nel 1991 allo Science Museum di Londra (con il meccanismo di
stampa terminato nel 2001), è stata realizzata nel 2008 una seconda copia del Difference
Engine n. 2, per Nathan Myhrvold , ex Chief Technology Officer in Microsoft.
Questa copia è esposta ("in prestito") al Computer History Museum
(http://www.computerhistory.org/) di Mountain View, in California, dal 2008.
Quello che segue è un video di questa installazione.
http://www.youtube.com/watch?v=tmmh7E8n0FY
D.E.
• Babbage, già durante lo sviluppo del suo primo progetto, la macchina alle differenze, si
era reso conto di poter ideare una macchina generica molto più potente e interessante
dal punto di vista pratico. Una macchina, cioè, che non si limitasse solo a sviluppare dei
calcoli matematici, ma che potesse elaborare complessi "ragionamenti". Chiamò
quest'ultimo sistema, appunto, Macchina analitica. Inizio a lavorarci dal 1834-35.
• La prima descrizione abbastanza dettagliata del progetto fu pubblicata il 26 dicembre
del 1837, nell'articolo On the Mathematical Powers of the Calculating Engine; in esso
Babbage chiariva l'organizzazione di una macchina capace di effettuare calcoli generali
sotto il pieno controllo automatico.
• La Macchina analitica doveva essere alimentata da un motore a vapore e doveva essere
lunga più di 30 metri per 10 metri di profondità. I dati d'ingresso e il programma
sarebbero stati inseriti tramite schede perforate, un metodo già utilizzato per
programmare i telai meccanici dell'epoca e che sarà utilizzato in seguito anche nei primi
computer. I dati di uscita sarebbero stati prodotti da una stampante e da una sorta di
"plotter". La macchina sarebbe stata in grado di perforare delle schede per
memorizzare dei dati da utilizzare successivamente, e utilizzava un'aritmetica in base 10
a virgola fissa. La memoria interna ("store") sarebbe stata in grado di contenere da 100
a 1000 numeri di 40 cifre. La componente "Mill", che costituiva l'idea di base dell'unità
aritmetica e logica (ALU) presente nelle moderne CPU, sarebbe stata in grado di
svolgere le quattro operazioni aritmetiche.
Macchina Analitica (Analytical Engine)
- C. Randone - 21
A.E.
Il "riporto anticipato" ("anticipating carriage") è un meccanismo complesso, e con esso
Babbage abbandonò l'idea (risalente al Difference Engine) di avere assi di
memorizzazione ("storage axes") parti integranti del meccanismo di calcolo. Invece,
separò la parte della macchina che memorizza i numeri, che chiamò il "magazzino"
("store"), dalla parte che effettua il calcolo, che chiamò "mulino" ("mill"). Il mill
comprende i meccanismi di anticipating carriage, e – dal punto di vista logico -
corrisponde alla unità centrale di elaborazione in un moderno elaboratore. Storicamente,
la separazione di Babbage tra "mill" e "store" è interessante perché la corrispondente
distinzione in macchine moderne non divenne chiara fino al lavoro del gruppo EDVAC nel
1945, anche se la si trova in parte anche nelle macchine di Atanasoff e nel Bell Model V.
Macchine moderne come l'ENIAC e l'Harvard Mark I, non hanno implementato questa
netta distinzione, e ogni elemento di memorizzazione era anche una adding unit.
«The most important part of the Analytical Engine was undoubtedly the mechanical
method of carrying the tens. On this I laboured incessantly, each succeeding improvement
advancing me a step or two. The difficulty did not consist so much in the more or less
complexity of the contrivance as in the reduction of the time required to effect the
carriage.»
C. Babbage, Passages from the Life of a Philosopher (1864).
Macchina Analitica (Analytical Engine) – "Anticipating carriage"
- C. Randone - 22
A.E.
Quando la ruota con le cifre
si muove da 9 a 0
(generando un riporto) il
braccio f agisce sul braccio e
segnalando un "carry
warning", e indicando che
un riporto è necessario nella
ruota di ordine superiore.
Un riporto dalla ruota
inferiore solleverà il "carry
sector" (il settore
parzialmente dentato)
sull'asse C ad innestare la
ruota con le cifre ed
avanzarla di una posizione.
Anticipating carriage (1/3) – Elementi del meccanismo di riporto
- C. Randone - 23
A.E.
Il "carry warning" viene
alzato con il suo asse E, e
tramite l'aletta m - che va a
sollevare l'aletta n sull'asse
W - solleva il "carry sector"
(il settore parzialmente
dentato sull'asse C) nella
posizione superiore,
innestandolo con la sua
relativa ruota numerata.
In figura vi è un riporto dalle
decine verso le centinaia,
ma nessuno dalle unità
verso le decine.
Anticipating carriage (2/3) – Il meccanismo di riporto
- C. Randone - 24
A.E.
Il "movable wire" 'w portato
dal braccio f della ruota
numerata può interporsi tra
il "fixed wire" w per
propagare un riporto a
diversi livelli.
In figura un riporto è
generato nella ruota delle
unità.
Siccome la ruota delle
decine è sul 9, un riporto
viene propagato sulle
centinaia.
La ruota delle centinaia non
è sul 9, e quindi interrompe
la catena di propagazione
dei riporti.
Anticipating carriage (3/3)
- C. Randone - 25
Per altri dettagli relativi al funzionamento dell'anticipating carriage si veda anche:
"Charles Babbage's Analytical Engine, 1838", A. G. Bromley, Annals of the History of
Computing, Volume 4, Number 3 (da pag. 202) e
"The evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the
History of Computing, Volume 9, Number 2, 1987 (da pag. 122)
"Fixed wire"
"Movable wire"
A.E.
Il meccanismo di "anticipating carriage" di Babbage può essere visto come
un esempio di manipolazione logica. Ogni "cage" (posizione di ruota
numerata) del meccanismo implementa l'equazione logica
dove C indica che un riporto deve essere fatto, G indica un riporto generato
da una ruota numerata che passa da 9 a 0, e P indica un riporto propagato
da una ruota numerata che è già sul 9 (il "+" è l'operatore OR).
Per sostituzione, il meccanismo di riporto in una posizione ("cage") agisce
su quello di ordine superiore, così si ha:
e così via.
Ma Babbage non aveva a disposizione questo tipo di formalismi logici, che
derivarono dal lavoro di George Boole (1815-1864) alla fine del 1840.
La logica dell' "anticipating carry"
- C. Randone - 26
A.E.
• Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati
Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche:
http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle
_scienze_3585.html e http://nexa.polito.it/macchina-analitica-babbage)
• Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo,
autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere
la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico
Menabrea (1809-1896).
• Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con
Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la
famosa nota "Notions sur la Machine Analytique de M. Charles Babbage".
• Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente
ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione
"Sketch of the Analytical Engine invented by Charles Babbage".
• In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il
primo programma informatico della storia, un algoritmo per il calcolo dei numeri di
Bernoulli.
Charles Babbage a Torino (1/3)
- C. Randone - 27
A.E.
• Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati
Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche:
http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle
_scienze_3585.html e http://nexa.polito.it/macchina-analitica-babbage)
• Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo,
autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere
la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico
Menabrea (1809-1896).
• Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con
Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la
famosa nota "Notions sur la Machine Analytique de M. Charles Babbage".
• Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente
ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione
"Sketch of the Analytical Engine invented by Charles Babbage".
• In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il
primo programma informatico della storia, un algoritmo per il calcolo dei numeri di
Bernoulli.
Charles Babbage a Torino (1/3)
- C. Randone - 28
A.E.
Charles Babbage a Torino (2/3)
- C. Randone - 29
Luigi Federico Menabrea
(1809 - 1896)
• In segno di apprezzamento e di riconoscenza
per l’attenzione ricevuta da parte di
Menabrea e degli altri amici torinesi,
Babbage offrì loro tutto il corredo di disegni
progettuali che aveva portato con sé da
Londra; questo prezioso lascito è tuttora
conservato presso l’Archivio dell’Accademia
delle Scienze di Torino.
A.E.
Charles Babbage a Torino (2/3)
- C. Randone - 30
Luigi Federico Menabrea
(1809 - 1896)
• In segno di apprezzamento e di riconoscenza
per l’attenzione ricevuta da parte di
Menabrea e degli altri amici torinesi,
Babbage offrì loro tutto il corredo di disegni
progettuali che aveva portato con sé da
Londra; questo prezioso lascito è tuttora
conservato presso l’Archivio dell’Accademia
delle Scienze di Torino.
A.E.
• I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò
la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio
Emanuele II, ormai Re d'Italia.
• Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore
dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande
evidenza, è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto:
"Sire,
nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti
della memoria di del Vostro illustre Padre.
Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito
del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical
Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti
figli d'Italia.
Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa
invenzione.
Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il
Paese di Archimede e Galileo".
Charles Babbage a Torino (3/3)
- C. Randone - 31
A.E.
• I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò
la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio
Emanuele II, ormai Re d'Italia.
• Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore
dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande
evidenza, è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto:
"Sire,
nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti
della memoria di del Vostro illustre Padre.
Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito
del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical
Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti
figli d'Italia.
Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa
invenzione.
Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il
Paese di Archimede e Galileo".
Charles Babbage a Torino (3/3)
- C. Randone - 32
A.E.
Analytical Engine – Linea temporale dei principali "Plans"
- C. Randone - 33
From "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987
A.E.
Macchina Analitica (Analytical Engine) – "Plan 25", 1840
- C. Randone - 34
Plan of the general arrangement of the Analytical Engine ("Plan 25", 1840).
~ 70 cm
Operation Cards Variable Cards
Number Cards
(~ 5 metri di alt.)
A.E.
Macchina Analitica (Analytical Engine) – I due livelli di controllo
- C. Randone - 35
Babbage individuò almeno due diversi "livelli di controllo" per la sua Macchina Analitica:
• Un livello più alto (diremmo "user level") supportato da una "programmazione" con
schede perforate
• Un livello più tecnico ed interno alla macchina, supportato da cosiddetti "barrel" con la
codifica (diremmo oggi in termini di "microprogramma") delle operazioni
fondamentali (es: addizione, sottrazione, moltiplicazione e divisione)
A.E.
Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate"
- C. Randone - 36
Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare
delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei
primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni
complessi .
A.E.
Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate"
- C. Randone - 37
Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare
delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei
primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni
complessi .
A.E.
Nei disegni di Babbage sono raffigurati tre tipi di schede:
• le Number Cards, con le quali si immettono nella MA i dati iniziali del calcolo, designati
come Primitive Data; la MA può anche "scrivere" delle card con i risultati
• le Operation Cards, ciascuna delle quali comanda l’esecuzione di una operazione
aritmetica; sono previste anche delle Combinatorial Cards per supportare salti e cicli
• le Variable Cards, che indicano l’indirizzo dei registri di memoria, chiamati Columns,
ove prelevare gli argomenti e depositare il risultato di ciascuna operation.
L’insieme di una Operation Card e delle Variable Cards ad essa associate corrisponde
concettualmente a una “istruzione” degli odierni computer, così come la sequenza delle
istruzioni corrisponde al nostro “programma”.
Macchina Analitica (Analytical Engine) – Le "card" (1/2)
- C. Randone - 38
A.E.
Macchina Analitica (Analytical Engine) – Le "card" (2/2)
- C. Randone - 39
Delle "card" per l'Analytical Engine
A.E.
Schede perforate degli anni 1960-1970
- C. Randone - 40
A.E.
Nastri perforati degli anni 1950-1970
- C. Randone - 41
Le schede che Babbage aveva in mente per la sua Macchina Analitica erano "legate"
l'una all'altra (sullo stile del telaio Jaquard), rendendo questo tipo di supporto di
memoria forse più simile ad un nastro perforato ("punched tape") che a delle schede
perforate come quelle illustrate nella slide precedente.
A.E.
Macchina Analitica (Analytical Engine) – I "microprogrammi"
- C. Randone - 42
Schema della "microprogrammazione" della Macchina Analitica, tratto da "Charles
Babbage’s Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing,
vol. 4, no. 3, July 1982, pp. 196-218.
A.E.
Analytical Engine – Meccanismo di controllo sui "barrel" (microprogrammazione)
- C. Randone - 43
Una "parola" di microprogramma
(un "passo") è rappresentato da
una fila verticale di perni avvitati al
cilindro. Questi perni agiscono sulle
estremità delle leve di comando
quando il cilindro si muove (trasla)
lateralmente. I "reducing sector" di
uno, due e quattro denti fanno
ruotare il cilindro di un
corrispondente numero di "passi"
verticali, e possono anche agire in
combinazione in una sola volta.
Nella figura, il reducing sector 1
viene messo in marcia
direttamente dal cilindro stesso,
tramite la leva di comando a.
Il reducing sector ‘1 è invece attivato dall'apparato di riporto (indicazione "Running Up"), se abilitato
a farlo dal cilindro e dalla leva b. L'effetto è quello di un trasferimento condizionato. Un "conditional
arm" sensibilizzato dalla leva di controllo c può fornire una azione condizionale su di un evento
precedente.
A.E.
Macchina Analitica (Analytical Engine) – Schema a blocchi
- C. Randone - 44
CPU ("Mill") and Memory
("Store")
Primary Storage
1,000 40 – digit numbers
ALU
< > = + - x ÷
Control Unit
Output
Cards
Input
Cards
Secondary Storage
Data on Cards
Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine
è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di
Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del
Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage.
A.E.
Macchina Analitica (Analytical Engine) – Schema a blocchi
- C. Randone - 45
CPU ("Mill") and Memory
("Store")
Primary Storage
1,000 40 – digit numbers
ALU
< > = + - x ÷
Control Unit
Output
Cards
Input
Cards
Secondary Storage
Data on Cards
Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine
è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di
Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del
Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage.
A.E.
Macchina Analitica (Analytical Engine) – Terminologia…
- C. Randone - 46
Babbage Analytical Engine Contemporary Computer
Axis Buffer / register
Barrel Microcode
Card (generic) Instruction
Carriage Carry propagation
Curve Drawing Apparatus Plotter
Column (of Rack) Memory (RAM) cell
Cycle Loop
Mill Arithmetic and Logical Unit (ALU)
Rack (of Columns) Random Access Memory (RAM)
Store Memory (RAM) Array / Storage
Turn of the Handle Clock cycle
E' possibile stabilire una significativa correlazione tra i vocaboli utilizzati da Babbage nel
descrivere la sua Macchina Analitica e la moderna terminologia informatica. Eccone
alcuni esempi:
A.E.
Questa figura illustra in una linea
temporale le diverse evoluzioni dei
progetti della Macchina Analitica fino al
1846. A destra sono indicati i principali
"Plans" per l'Analytical Engine e, a
sinistra, una serie di invenzioni di
meccanismi e gli algoritmi che hanno
influenzato lo sviluppo dei piani.
Il termine "Plan" utilizzato da Babbage
veicola due significati. In primo luogo
rappresenta i disegni relativi alla
disposizione fisica degli assi e delle altre
parti della macchina. In secondo luogo,
distintamente, i "plan" rappresentano
anche l'architettura logica della
macchina, un significato che è andato
assumendo via via maggior enfasi dal
1835 in poi.
Macchina Analitica (Analytical Engine) - Timeline
- C. Randone - 47
Tratto da "The Evolution of Babbage’s Calculating Engines", A. G. Bromley, Annals of the History of Computing, vol. 9,
no. 2, 1987, pp. 113-136
A.E.
Macchina Analitica (Analytical Engine) – "Plan 28", 1842 (first arrangement)
- C. Randone - 48
"Plan 28" dell'Analytical Engine (rif. "A.118 Figure 9"), datato 8 Dicembre 1842
A.E.
Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato)
- C. Randone - 49
A.E.
Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato)
- C. Randone - 50
Crystal Palace, Esposizione Universale del 1851, Londra
A.E.
Analytical Engine – "Plan 28", 1843-1846
- C. Randone - 51
Da "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987
Una diversa rappresentazione
del Plan 28 dell'Analytical
Engine. Questo disegno è stato
assemblato partendo da
diversi disegni del periodo
1843 - 1846.
L'architettura qui sintetizzata è
sostanzialmente più semplice
di quelle dei progetti
precedenti (ad es. del Plan 25).
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 52
Una parte del "mill" della Macchina Analitica, in costruzione nel 1871, alla morte di
Babbage. Science Museum, London
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 53
Una ulteriore realizzazione di parte della macchina analitica ("mill" e meccanismo di
stampa) realizzata nel 1910 dal figlio Henry Prevost Babbage. Science Museum, London
A.E.
Macchina Analitica (Analytical Engine)
- C. Randone - 54
Una ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe
potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno
parzialmente basato su alcuni elementi del "Plan 25" e del "Plan 28" dell'Analytical
Engine):
http://scientificillustration.tumblr.com/image/22977242992
A.E.
Comparazione sintetica tra le caratteristiche delle Macchine di Charles Babbage
- C. Randone - 55
Caratteristica Difference Engine n. 1 Difference Engine n. 2 Analytical Engine
Periodo di sviluppo 1822-1833 1847-1849 1834-1846 e 1856-1871
Numero totale di
parti
25.000
(di cui circa 12.000 per la
stampante)
8.000
(di cui circa 4.000 per la stampante)
Non definito.
(La stampante prevista è la
stessa del D.E. n. 2)
Sistema numerico Decimale Decimale Decimale
Capacità e
Precisione
6 assi da 12 (o 16, o 18) cifre 8 assi da 31 cifre >100 assi (fino a 1000) da 30 o
40 o 50 cifre
Gestione numeri
negativi
Complemento a 10 Complemento a 10 Segno-grandezza per l'I/O, con
rappresentazione interna in
complemento a 10
Gestione riporti Sequenziale Sequenziale (ottimizzata) Anticipating carriage
Programmazione Sequenza delle operazioni (di
somma) precodificata su
camme
Sequenza delle operazioni (di
somma) precodificata su 14 coppie
di camme
Microprogrammazione su
"barrel" e programmazione
"utente" tramite schede perforate
Realizzazioni Una parte (funzionante) grande
circa un settimo della macchina
completa fu assemblata nel
1832. In quella data erano già
state costruite (ma non furono
mai assemblate) più di 10.000
parti.
Da Babbage furono realizzate solo
alcune parti dimostrative. Partendo
dai disegni di Babbage, la macchina
fu realizzata nel 1991 allo Science
Museum di Londra (il meccanismo di
stampa nel 2001). Una seconda
copia completa fu realizzata per il
Computer Museum di Mountain View
in California nel 2008.
Una parte (semplificata) del
"mill" era in fase di realizzazione
nel 1871. Una ulteriore
realizzazione parziale del
meccanismo di calcolo e stampa
fu realizzata nel 1910 da Henry
Prevost Babbage, figlio di
Charles.
Iniziativa http://plan28.org/.
A.E.
Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 56
Augusta Ada Byron, meglio nota come Ada Lovelace, nome
che assunse dopo il matrimonio con William King, Conte di
Lovelace, è stata una matematica inglese, nota soprattutto per
il suo lavoro alla Macchina analitica ideata da Charles Babbage.
Ada fu la sola figlia legittima del poeta Lord Byron e della
matematica Anne Isabella Milbanke, e non ebbe alcuna
relazione con il padre, che morì quando lei aveva solo 9 anni.
Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage
(che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843
tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò
con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato
il primo programma di computer che consiste in un algoritmo codificato per il calcolo dei
numeri di Bernoulli, tanto che Ada Lovelace è spesso ricordata come la prima
programmatrice di computer al mondo.
Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo
numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste
capacità.
Ada
Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 57
Augusta Ada Byron, meglio nota come Ada Lovelace, nome
che assunse dopo il matrimonio con William King, Conte di
Lovelace, è stata una matematica inglese, nota soprattutto per
il suo lavoro alla Macchina analitica ideata da Charles Babbage.
Ada fu la sola figlia legittima del poeta Lord Byron e della
matematica Anne Isabella Milbanke, e non ebbe alcuna
relazione con il padre, che morì quando lei aveva solo 9 anni.
Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage
(che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843
tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò
con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato
il primo programma di computer che consiste in un algoritmo codificato per il calcolo dei
numeri di Bernoulli, tanto che Ada Lovelace è spesso ricordata come la prima
programmatrice di computer al mondo.
Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo
numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste
capacità.
Dal calcolo
(numerico) …
… alla
computazione
e manipolazione
di simboli
The "Lovelace Leap"
Ada
• Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843)
Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine)
- C. Randone - 58
Ada
• Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843)
Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine)
- C. Randone - 59
Ada
Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 60
"We may say most aptly, that the Analytical Engine
weaves algebraic patterns, just as the Jacquard loom
weaves flowers and leaves."
Ada Lovelace
("Possiamo dire più giustamente che la macchina analitica tesse
modelli algebrici, proprio come il telaio Jacquard tesse fiori e foglie.")
Da: "Sketch of The Analytical Engine - Invented by Charles Babbage"
By L. F. MENABREA, of Turin, Officer of the Military Engineers
from the Bibliothèque Universelle de Genève, October, 1842, No. 82
With notes upon the Memoir by the Translator
ADA AUGUSTA, COUNTESS OF LOVELACE
(http://www.fourmilab.ch/babbage/sketch.html)
Ada
• Nel 1878, sette anni dopo la morte di C. Babbage, il comitato della British Association
for the Advancement of Science si pronunciò contro la costruzione della macchina
analitica (http://www.fourmilab.ch/Babbage/baas.html) e questo vanificò le speranze di
Henry Prevost Babbage (figlio di Charles, 1824-1918) di poter accedere a sovvenzioni
governative.
• Oggi, l'iniziativa "Plan 28" (http://plan28.org/) del programmatore e scrittore John
Graham-Cumming si ripropone di costruire un modello (prima simulato al computer, e
poi "fisico") dell'Analytical Engine.
Macchina Analitica (Analytical Engine) – Iniziativa "Plan 28"
- C. Randone - 61
John Graham-Cumming
Now
Macchina Analitica (Analytical Engine) – Sydney Padua
- C. Randone - 62
Un'altra ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire
se fosse stata costruita nella seconda metà dell'800 (disegno di Sydney Padua, basato principalmente sul
Plan 25):
http://www.theguardian.com/technology/gallery/2015/apr/12/thrilling-adventures-lovelace-babbage-in-
pictures#img-6
Now
Sydney Padua
- C. Randone - 63
Sydney Padua (sydneypadua.com) è una grafica e disegnatrice che
lavora soprattutto nel mondo dell’animazione cinematografica.
E' autrice del libro "The Thrilling Adventures of Lovelace and
Babbage" (http://sydneypadua.com/2dgoggles/the-book/); il libro
si apre con una breve graphic novel, assolutamente rigorosa dal
punto di vista storico, sulla collaborazione fra Ada Lovelace e
Charles Babbage. Ma il libro offre anche, sempre in forma di
graphic novel, alcune avventure totalmente immaginarie di Ada e
Babbage – e di innumerevoli, illustri personaggi dell’epoca, dalla
Regina Vittoria a Dickens, da Faraday a George Eliot – in un
universo steampunk in cui la macchina analitica è invece stata
effettivamente realizzata.
Quel che colpisce è che ogni tavola a fumetti ha ricche note a piè di
pagina che forniscono le informazioni di base per capire di cosa e di
chi si parla. E le note a piè di pagina hanno note di fine capitolo per
approfondire.
Una "gallery" di video realizzati da Sydney Padua sulle macchine di
Babbage (in particolare relativi all'Analytical Engine) sono
disponibili a partire dal sito:
https://www.youtube.com/user/sydpadua/videos
Now
La Macchina Analitica (Analytical Engine) nella fantascienza
- C. Randone - 64
William Gibson e Bruce Sterling sono stati coautori (nel 1990) di un romanzo del genere
cosiddetto steampunk (*) intitolato La macchina della realtà (The Difference Engine). In
questo romanzo, ambientato nella Londra del 1855, si esplora un passato alternativo in
cui la Macchina analitica è stata già costruita e la sua realtà, unita a quella della
Rivoluzione industriale, ormai avviata, influenza notevolmente i personaggi e le scene
dell'era vittoriana.
(*) si veda ad es. https://it.wikipedia.org/wiki/Steampunk e
http://www.steamfantasy.it/blog/2011/05/30/breve-introduzione-allo-steampunk/
Now
Copertine di una
edizione italiana e di
una inglese del libro di
W. Gibson e B. Sterling.
Una interessante documentazione…
- C. Randone - 65
"Ada Byron e la Macchina Analitica",
Giuseppe O. Longo, Corrado Bonfanti
Mondo Digitale n. 2, giugno 2008
http://archivio-
mondodigitale.aicanet.net/Rivista/08_numero
_2/Longo p. 35-45.pdf
e
http://nid.dimi.uniud.it/history/papers/longo_
bonfanti_08.pdf
Sempre in italiano, si
veda anche:
M. G. Losano (a cura
di), Babbage.
La macchina analitica:
un secolo di calcolo
automatico,
Etas Kompass Libri,
Milano, 1973.
Docs
Altre interessanti (e recenti…) documentazioni italiane
- C. Randone - 66
Silvio Hénin, "Augusta Ada Lovelace (1815 - 1852)"
Mondo Digitale, ANNO XIV N.57, Aprile 2015
http://mondodigitale.aicanet.net/2015-2/articoli/03_Augusta_Ada_Lovelace.pdf
Mario G. Losano, "La macchina analitica di Babbage: un fossile che viene dal futuro"
Diritto dell’informazione e dell’informatica, 2015, n.1, pp. 1-42.
http://rivoluzionedigitale.polito.it/rdfiles/Babbage-Prefazione-DirInf.pdf
Mario G. Losano, "La macchina da calcolo di Babbage a Torino",
Accademia delle Scienze di Torino - I Libri dell’Accademia, vol. 10, 2015, ISBN: 9788822263827
Casa Editrice Olschki, Firenze, 2015
http://www.olschki.it/libro/9788822263827
NB: questo testo riprende ed aggiorna il volume
di Losano del 1973: "Babbage: la macchina analitica. Un
secolo di calcolo automatico" (Etas Kompass,
Milano 1973) già precedentemente citato
Docs
Altre interessanti (e recenti…) documentazioni italiane
- C. Randone - 67
Silvio Hénin, "Il computer dimenticato – Charles Babbage, Ada
Lovelace e la ricerca della macchina perfetta", HOEPLI, 2015
http://www.hoepli.it/libro/il-computer-
dimenticato/9788820370442.html
Docs
Libri e documenti digitali presso l'Accademia delle
Scienze di Torino:
http://www.accademiadellescienze.it/TecaRicerca
Una monografia sulle macchine di C. Babbage
- C. Randone - 68
Nel 2010 l'IEEE ha curato una interessante e completa raccolta di articoli sulle macchine di
Babbage, che costituisce un ottimo punto di partenza per approfondire l'argomento:
Docs
La raccolta contiene tra gli altri
diversi articoli di Allan Bromley
(1947–2002) , riconosciuto
studioso delle macchine di
Babbage.
Dove trovare alcune delle "migliori" descrizioni tecniche dell' "Analytical Engine" ?
- C. Randone - 69
Oltre alla monografia dell'IEEE di cui alla slide precedente, secondo Maurice Wilkes (1913-2010) nel suo
articolo "Babbage's Expectations for his Engines" (Annals of the History of Computing, vol. 13, no.2,
1991, pp. 141-145):
<<
The most coherent description of the Analytical Engine is contained in a document entitled On the
Mathematical Powers of the Calculating Engine dated December 1837, at which time Babbage was 45
years old. This document is preserved among the Buxton papers in the History of Science Museum,
Oxford, and is printed by Randell (1973) (*). Babbage obviously intended to publish it and why he did not
do so is unclear.
>>
(*) Randell, B. (ed.). 1973.
The Origins of Digital Computers.
Springer-Verlag.
Questa fonte va ad integrazione delle già citate
"notes" di Ada Lovelace in "Sketch of the
Analytical Engine invented by Charles Babbage",
pubblicate ad es. in "Charles Babbage. On the
Principles and Development of the Calculator
and Other Seminal Writings by Charles Babbage
and Others", Edited by P. Morrison and E.
Morrison, Dover Publications
Docs
Altri link e libri di riferimento su Babbage e le sue macchine
- C. Randone - 70
Sito "The Analytical Engine", di John Walker:
http://www.fourmilab.ch/babbage/contents.html
Libro "Charles Babbage and the Engines of Perfection":
http://www.amazon.com/Charles-Babbage-Engines-Perfection-Portraits/dp/0195089979
Libro "Charles Babbage: Pioneer of the Computer"
http://www.amazon.com/Charles-Babbage-Computer-Anthony-Hyman/dp/0691083037
Docs
Il "Charles Babbage Institute" (CBI)
- C. Randone - 71
Il Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) è un
istituto di ricerca presso l'Università del Minnesota, specializzato nella
storia dell'information technology, in particolare la storia degli
elaboratori digitali, dei linguaggi e della programmazione, e delle reti, a
partire dal 1935. L'istituto prende il nome da Charles Babbage, ed è
situato presso la Elmer L. Andersen Hall alla University of Minnesota
Libraries, in Minneapolis, Minnesota.
Gli "IEEE Annals of the History of Computing"
Gli "Annals of the History of Computing"
(http://www.computer.org/portal/web/computingnow/annals)
dal 1979 sono una pubblicazione specializzata sulla storia delle
tecnologie per il trattamento dell'informazione. Dal 1992
rientrano nell'ambito delle pubblicazioni dell'IEEE.
In figura, il numero monografico di ottobre-dicembre 2000 con
gli importanti studi di Allan Bromley (1947-2002) sulla
macchina analitica.
Docs

More Related Content

Recently uploaded

XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 

Recently uploaded (6)

XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Babbage e le sue macchine - Carlo Randone - 14 dic 2015

  • 1. Charles Babbage e le sue macchine: un contributo divulgativo per contestualizzare la figura di Ada Lovelace Carlo Randone carlornd@libero.it carlo_randone@it.ibm.com 1 Friend of Pisa, 14 Dicembre 2015 www.ibm.com www.cbi.umn.edu www.mupin.it Nota: è disponibile anche una versione in inglese di questa presentazione Note: it is available also an English version of this presentation
  • 2. • Charles Babbage ed il contesto in cui visse e lavorò • Una introduzione cronologica alle macchine di Charles Babbage • I "Difference Engine" • Il calcolo della tavole e il metodo delle "differenze finite" • Introduzione al Difference Engine No. 1 ed alla D.E. No. 1 “portion" • Introduzione al Difference Engine No. 2 • La costruzione del Difference Engine No. 2 allo Science Museum di Londra • L'Analytical Engine • Introduzione all'Analytical Engine • Charles Babbage a Torino (1840), con Plana e Menabrea • L'architettura dell'Analytical Engine (il “Plan 25”) ed i suoi meccanismi fondamentali • La programmazione dell'Analytical Engine • Analytical Engine "Plan 28": 1842-1846 • Comparazione sintetica tra le caratteristiche delle macchine di Charles Babbage • Ada Lovelace: “la prima programmatrice” • “Plan 28”: una iniziativa di John Graham-Cumming per costruire l'Analytical Engine • I lavori e le ricerche di Sydney Padua • La "macchina analitica" nella fantascienza e nello steampunk • Documentazione e riferimenti specifici Agenda - C. Randone - 2 Intro D.E. A.E. Ada Now Docs
  • 3. • Charles Babbage nacque a Londra il 26 dicembre 1791 • Fin dagli studi giovanili dimostrò una propensione all'algebra ed agli studi matematici, tanto da distinguersi al Trinity College di Cambridge, dove entrò nel 1811. • E' stato un matematico e filosofo, scienziato e "proto- informatico" che per primo ebbe l'idea di un calcolatore programmabile. • Dal 1828 al 1839 occupò la cattedra lucasiana di matematica a Cambridge. • Nel mondo dell'informatica è conosciuto grazie alle sue macchine: la Macchina alle differenze ("Difference Engine"), di cui realizzò un prototipo (parziale) e la Macchina analitica ("Analytical Engine"). Charles Babbage - C. Randone - 3 Ritratto di C. Babbage, pubblicato nel 1871 e ricavato da una fotografia del 1860 • Nel 1833 incontrò Ada Lovelace (10/12/1815 - 27/11/1852), che negli anni successivi studiò le macchine di Babbage e scrisse nel 1842-43 le famose "note" sulla macchina analitica. • Alcune parti dei meccanismi incompleti di Babbage sono in mostra al Museo della Scienza di Londra. Nel 1991, lavorando a partire dai suoi progetti originali, fu completata una macchina alle differenze perfettamente funzionante, assemblata seguendo gli standard disponibili nel XIX secolo, il che sta a indicare che la macchina alle differenze di Babbage avrebbe potuto funzionare. • Babbage morì a Londra, il 18 ottobre 1871, all'età di 79 anni. Intro
  • 4. Una sintesi delle attività di Charles Babbage sulle macchine da calcolo - C. Randone - 4 "A timeline of Babbage’s life", da "The Evolution of Babbage’s Calculating Engines", di Allan Bromley (1947–2002), IEEE Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136 (1822 - 1833) (1834 - 1846) (1847 - 1849) (1856 - 1871) Questa alternanza di attività, unita al fatto che furono progettati due diversi "Difference Engine", e che l' "Analytical Engine" è molto diverso dai "Difference Engine", ha contribuito a creare non poca confusione circa le cosiddette Macchine di C. Babbage. In questa presentazione, per semplicità, si parlerà prima dei due Difference Engine, e poi dell'Analytical Engine. Intro
  • 5. Macchine alle Differenze e Macchina Analitica: due "motori" molto diversi… - C. Randone - 5 Come vedremo, le "Macchine alle Differenze" (Difference Engines) e la "Macchina Analitica" (Analytical Engine) di Charles Babbage realizzano funzionalità e sono ispirate a principi significativamente diversi: • Le Macchine alle Differenze svolgono sostanzialmente un solo "algoritmo" o processo di calcolo (pur se parametrizzabile), e cioè come vedremo quello delle cosiddette "differenze finite" e supporto del calcolo di funzioni polinomiali • I principi di progettazione della Analytical Engine si prefiggevano invece di risolvere un tema più ampio ed esteso: quello di un "motore analitico" in grado – potenzialmente – di implementare un qualsivoglia algoritmo di calcolo; di essere cioè – diremmo oggi – "programmabile". Questa significativa differenza è ribadita più volte dalla stessa Ada Lovelace nelle sue "note" sulla Macchina Analitica, in cui si legge tra l'altro: The Analytical Engine is an embodying of the science of operations, constructed with peculiar reference to abstract number as the subject of those operations. The Difference Engine is the embodying of one particular and very limited set of operations […] while the Difference Engine can merely tabulate, and is incapable of developing, the Analytical Engine can either tabulate or develope. The former engine is in its nature strictly arithmetical, and the results it can arrive at lie within a very clearly defined and restricted range, while there is no finite line of demarcation which limits the powers of the Analytical Engine. Intro
  • 6. • Nel 1822 Charles Babbage propose lo sviluppo della macchina alle differenze in un articolo inviato il 14 giugno alla Royal Astronomical Society e dal titolo "Note on the application of machinery to the computation of very big mathematical tables". La macchina avrebbe utilizzato il sistema decimale e sarebbe stata alimentata in modo meccanico tramite il movimento di una maniglia che avrebbe fatto girare gli ingranaggi. Macchina alle Differenze (Difference Engine) – La "Tables Crisis" - C. Randone - 6 Von Vega – Tavola dei logaritmi (1794) La produzione manuale di una tavola dei logaritmi prevedeva: • Calcolo manuali • Trascrizione dei risultati • Composizione tipografica • Verifica Con la macchina alle differenze Babbage si proponeva di risolvere contemporaneamente tutte queste possibili fonti di errore. D.E.
  • 7. • Il principio di funzionamento: metodo delle differenze finite Consideriamo ad esempio il polinomio p(x) = 2x2 – 3x + 2 Supponendo di voler tabulati i valori p(0), p(1), p(2), p(3), p(4) ecc., la tabella viene costruita nel seguente modo: la prima colonna è la variabile (x), la seconda colonna contiene il valore del polinomio, la terza colonna contiene la differenza dei valori contenuti nella seconda colonna, la quarta colonna contiene la differenza dei valori contenuti nella terza colonna: Macchina alle Differenze (Difference Engine) – Metodo delle differenze finite - C. Randone - 7 x p(x) = 2x2 − 3x + 2 diff1(x) = ( p(x+1) - p(x) ) diff2(x) = ( diff1(x+1) - diff1(x) ) 0 2 -1 4 1 1 3 4 2 4 7 4 3 11 11 4 22 Si noti che il valore dell'ultima colonna è costante. Questo non è un caso: per ogni polinomio di grado n la colonna n+1 contiene un valore che è costante; questo è cruciale per il funzionamento della Macchina alle differenze. 5 4 15 37 D.E.
  • 8. • Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842 ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre, l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George Biddell Airy. Macchina alle Differenze (Difference Engine) n. 1 - C. Randone - 8 • Il dispositivo, secondo il progetto, avrebbe dovuto essere di una notevole complessità e di grandi dimensioni strutturali: basti pensare che richiedeva l'assemblaggio di 25.000 parti (di cui circa 12.000 per la "stampante") e la macchina completa sarebbe stata alta circa due metri e mezzo, larga due metri e profonda uno, con un peso di varie tonnellate. Disegno per il Difference Engine n.1, 1830 D.E.
  • 9. • Il governo britannico inizialmente finanziò il progetto, ma in seguito, quando nel 1842 ricevette da Babbage la richiesta di nuovi fondi nonostante lo sviluppo della macchina sembrasse a un punto morto, decise di abbandonarlo. Nel frattempo aveva comunque già speso una cifra pari a 17.470 sterline (circa venti volte maggiore la spesa per una locomotiva a vapore). Sulla decisione di abbandono del progetto influì, inoltre, l'opinione negativa sull'utilità della macchina espressa dall'astronomo reale George Biddell Airy. Macchina alle Differenze (Difference Engine) n. 1 - C. Randone - 9 • Il dispositivo, secondo il progetto, avrebbe dovuto essere di una notevole complessità e di grandi dimensioni strutturali: basti pensare che richiedeva l'assemblaggio di 25.000 parti (di cui circa 12.000 per la "stampante") e la macchina completa sarebbe stata alta circa due metri e mezzo, larga due metri e profonda uno, con un peso di varie tonnellate. Disegno per il Difference Engine n.1, 1830 D.E.
  • 10. Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 10 Parte ("portion" o "the beautiful fragment") del Difference Engine (n. 1), assemblata nel 1832 (dall'ingegnere Joseph Clement, che lavorava con Babbage per la costruzione dei componenti delle macchine). Costituisce circa un settimo della macchina completa. La realizzazione di questo prototipo rappresenta comunque un passo importante, in quanto la facoltà umana e mentale del "calcolare" viene portata a livello meccanico, e l'operatore non deve necessariamente conoscere il comportamento interno della macchina ed i principi matematici su cui è basata, per ottenerne facilmente dei risultati utilizzabili ed affidabili. Parte del Difference Engine n.1 (Science Museum, Londra) D.E. Un video sull'uso del "beautiful fragment" (da 2:14 in poi): https://www.youtube.com/watch?v=QVxbNZWLP60
  • 11. Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 11 Parte ("portion" o "the beautiful fragment") del Difference Engine (n. 1), assemblata nel 1832 (dall'ingegnere Joseph Clement, che lavorava con Babbage per la costruzione dei componenti delle macchine). Costituisce circa un settimo della macchina completa. La realizzazione di questo prototipo rappresenta comunque un passo importante, in quanto la facoltà umana e mentale del "calcolare" viene portata a livello meccanico, e l'operatore non deve necessariamente conoscere il comportamento interno della macchina ed i principi matematici su cui è basata, per ottenerne facilmente dei risultati utilizzabili ed affidabili. "The marvelous pulp and fibre of the brain had been substituted by brass and iron, he [Babbage] had taught wheelwork to think, or at least to do the office of thought." [La meravigliosa polpa e le fibre del cervello erano state sostituite da ottone e ferro, egli [Babbage] aveva insegnato a pensare agli ingranaggi, o almeno a svolgere l'ufficio del pensiero] Harry Wilmot Buxton (1843-1911), nella biografia di C. Babbage intitolata "Memoir of the Life and Labours of the Late Charles Babbage", del 1870 (pubblicata solo nel 1988 da MIT Press) Parte del Difference Engine n.1 (Science Museum, Londra) D.E. Un video sull'uso del "beautiful fragment" (da 2:14 in poi): https://www.youtube.com/watch?v=QVxbNZWLP60
  • 12. Macchina alle Differenze (Difference Engine) n. 1 (Portion replica) – IBM, Milano - C. Randone - 12 Una replica in scala 3/4 della sezione ("portion") del Difference Engine del 1832 è esposta all'IBM Forum di Segrate (MI). Fa parte di una serie di repliche costruite nel 1980 per la mostra IBM "A Calculator Chronicle: 300 Years of Counting and Reckoning Tools", tenutasi a New York nel 1981, ed è stato uno dei pochi esemplari poi inviati a vari uffici IBM in quel periodo. Repliche simili sono esposte in alcuni musei nel mondo. D.E. Una replica simile è esposta anche al Museo Nazionale della Scienza e Tecnologia "Leonardo Da Vinci" di Milano. (http://www.museoscienza.org/dipartimenti/catalogo_collezioni/scheda_oggetto.asp?id k_in=ST120-00193&arg=Macchine%20da%20calcolo)
  • 13. Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 13 Il disegno qui utilizzato è quello del prototipo del D.E. n. 1 del 1832/1833, così come riportato in "Passages from the life of a phylosopher" del 1864. Le note operative riportate sono tratte dal "Chapter V"dello stesso testo (sezione "Description of the existing portion of Difference Engine No. 1"). Unità Decine Centinaia Migliaia Decine di Migliaia T T = valore di f(x)12 "Table column" "First Difference column" "Second Difference column" Singolorisultatotabulato(T) Singoladifferenzadiordine1 Singoladifferenzadiordine2 "Cages" D.E.
  • 14. Le azioni di base del modello sono: • 1° Half Cycle: T  T + 1 • 2° Half Cycle: 1   1 +  2 (si noti che la temporizzazione è invertita rispetto a quella che sarebbe stata adottata nel D.E. No. 1 completo) Macchina alle Differenze (Difference Engine) n. 1 (Portion) – Science Museum, London - C. Randone - 14 Un esempio operativo sul prototipo del primo D.E., con la funzione T(x) = x2 + x + 41 (spesso usata da Babbage, che genera alcuni primi): 2 1 T(x) x 41 0 2 43 1 2 4 47 2 2 6 53 3 2 8 61 4 2 10 71 5 2 12 2 Configurazioni "istantanee" del prototipo del D.E. n.1: T T = valore di f(x)12 1 4 2 0 2 0 3 4 4 0 2 0 7 4 6 0 2 0 3 5 8 0 2 0 1 6 0 1 2 0 1 7 2 1 2 0 Ruota delle Unità Ruota delle Decine T0 T1 T3 T2 T4 T5 2 1 34 56 78 910 Tempo (preset) x Steps # 6+7 = 13 (3 unità e riporto 1) 8+3 = 11 (1 unità e riporto 1) 2+8 = 10 (0 unità e riporto 1) D.E. Si veda anche: http://sydney.edu.au/engineering/it/research/tr/tr304.pdf
  • 15. • Babbage, durante e dopo la progettazione della prima macchina alle differenze, aveva lavorato alla più complessa Macchina analitica (descritta nel seguito). L'esperienza dello sviluppo di quest'ultima gli aveva permesso di migliorare il progetto della Macchina alle differenze e di svilupparne una seconda versione ("Second Difference Engine" o "D.E. no. 2") tra il 1847 e il 1849. • Questa versione prevedeva circa 8.000 parti (di cui 4.000 per la sola "stampante"). Macchina alle Differenze (Difference Engine) n. 2 - C. Randone - 15 Difference Engine n.2 Progetto del meccanismo di stampa (Science Museum Library Babbage Papers, drawing BAB [A] 173, “Plan of Inking Printing & Stereotype Apparatus,” undated) D.E.
  • 16. Macchina alle Differenze (Difference Engine) n. 2 - C. Randone - 16 Design drawing: Difference Engine No. 2 (1847). Main elevation showing crank handle (right), calculating section (center), and output apparatus (left). Science Museum Library Babbage Papers, drawing BAB [A] 163, “Elevation for Difference Engine No. 2.” (Science Museum, London) ~ 3,4 m ~ 2,1 m D.E.
  • 17. • Ispirandosi al progetto di Babbage, Per Georg Scheutz (1785-1873) costruì diverse Macchine alle differenze a partire dal 1855; una di queste venne venduta al governo Britannico nel 1859. Martin Wiberg (1826-1905) migliorò le macchine di Scheutz e le utilizzò per produrre delle tavole logaritmiche che poi pubblicò. • Basandosi sui progetti originali di Babbage lo Science Museum di Londra costruì una copia funzionante della seconda versione della Macchina alle differenze. Questa venne realizzata sotto la supervisione di Doron Swade che seguì il progetto tra il 1989 e il 1991. • Nel 2000 venne realizzata anche la stampante che, ricevuti i dati dalla Macchina alle differenze, ne permette la riproduzione su carta. • La trascrizione dei disegni originali in disegni utilizzabili per la realizzazione dei componenti mostrò che Babbage aveva commesso alcuni errori minori di progettazione, ma nulla che potesse inficiare dal punto di vista logico il funzionamento della macchina. • La Macchina alle differenze e la stampante vennero costruite con i materiali e le tolleranze disponibili nel XIX secolo e questo permise di dimostrare che il progetto di Babbage, se fosse stato finanziato e gestito adeguatamente, avrebbe potuto realmente portare alla realizzazione di una macchina funzionare. Macchina alle Differenze (Difference Engine) n. 2 – Gli sviluppi successivi … - C. Randone - 17 D.E.
  • 18. Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991) - C. Randone - 18 D.E.
  • 19. Macchina alle Differenze (Difference Engine) n. 2 – Science Museum, London (1991) - C. Randone - 19 Doron Swade D.E.
  • 20. Macchina alle Differenze (Difference Engine) n. 2 – Computer History Museum (CA) - C. Randone - 20 Dopo quella costruita nel 1991 allo Science Museum di Londra (con il meccanismo di stampa terminato nel 2001), è stata realizzata nel 2008 una seconda copia del Difference Engine n. 2, per Nathan Myhrvold , ex Chief Technology Officer in Microsoft. Questa copia è esposta ("in prestito") al Computer History Museum (http://www.computerhistory.org/) di Mountain View, in California, dal 2008. Quello che segue è un video di questa installazione. http://www.youtube.com/watch?v=tmmh7E8n0FY D.E.
  • 21. • Babbage, già durante lo sviluppo del suo primo progetto, la macchina alle differenze, si era reso conto di poter ideare una macchina generica molto più potente e interessante dal punto di vista pratico. Una macchina, cioè, che non si limitasse solo a sviluppare dei calcoli matematici, ma che potesse elaborare complessi "ragionamenti". Chiamò quest'ultimo sistema, appunto, Macchina analitica. Inizio a lavorarci dal 1834-35. • La prima descrizione abbastanza dettagliata del progetto fu pubblicata il 26 dicembre del 1837, nell'articolo On the Mathematical Powers of the Calculating Engine; in esso Babbage chiariva l'organizzazione di una macchina capace di effettuare calcoli generali sotto il pieno controllo automatico. • La Macchina analitica doveva essere alimentata da un motore a vapore e doveva essere lunga più di 30 metri per 10 metri di profondità. I dati d'ingresso e il programma sarebbero stati inseriti tramite schede perforate, un metodo già utilizzato per programmare i telai meccanici dell'epoca e che sarà utilizzato in seguito anche nei primi computer. I dati di uscita sarebbero stati prodotti da una stampante e da una sorta di "plotter". La macchina sarebbe stata in grado di perforare delle schede per memorizzare dei dati da utilizzare successivamente, e utilizzava un'aritmetica in base 10 a virgola fissa. La memoria interna ("store") sarebbe stata in grado di contenere da 100 a 1000 numeri di 40 cifre. La componente "Mill", che costituiva l'idea di base dell'unità aritmetica e logica (ALU) presente nelle moderne CPU, sarebbe stata in grado di svolgere le quattro operazioni aritmetiche. Macchina Analitica (Analytical Engine) - C. Randone - 21 A.E.
  • 22. Il "riporto anticipato" ("anticipating carriage") è un meccanismo complesso, e con esso Babbage abbandonò l'idea (risalente al Difference Engine) di avere assi di memorizzazione ("storage axes") parti integranti del meccanismo di calcolo. Invece, separò la parte della macchina che memorizza i numeri, che chiamò il "magazzino" ("store"), dalla parte che effettua il calcolo, che chiamò "mulino" ("mill"). Il mill comprende i meccanismi di anticipating carriage, e – dal punto di vista logico - corrisponde alla unità centrale di elaborazione in un moderno elaboratore. Storicamente, la separazione di Babbage tra "mill" e "store" è interessante perché la corrispondente distinzione in macchine moderne non divenne chiara fino al lavoro del gruppo EDVAC nel 1945, anche se la si trova in parte anche nelle macchine di Atanasoff e nel Bell Model V. Macchine moderne come l'ENIAC e l'Harvard Mark I, non hanno implementato questa netta distinzione, e ogni elemento di memorizzazione era anche una adding unit. «The most important part of the Analytical Engine was undoubtedly the mechanical method of carrying the tens. On this I laboured incessantly, each succeeding improvement advancing me a step or two. The difficulty did not consist so much in the more or less complexity of the contrivance as in the reduction of the time required to effect the carriage.» C. Babbage, Passages from the Life of a Philosopher (1864). Macchina Analitica (Analytical Engine) – "Anticipating carriage" - C. Randone - 22 A.E.
  • 23. Quando la ruota con le cifre si muove da 9 a 0 (generando un riporto) il braccio f agisce sul braccio e segnalando un "carry warning", e indicando che un riporto è necessario nella ruota di ordine superiore. Un riporto dalla ruota inferiore solleverà il "carry sector" (il settore parzialmente dentato) sull'asse C ad innestare la ruota con le cifre ed avanzarla di una posizione. Anticipating carriage (1/3) – Elementi del meccanismo di riporto - C. Randone - 23 A.E.
  • 24. Il "carry warning" viene alzato con il suo asse E, e tramite l'aletta m - che va a sollevare l'aletta n sull'asse W - solleva il "carry sector" (il settore parzialmente dentato sull'asse C) nella posizione superiore, innestandolo con la sua relativa ruota numerata. In figura vi è un riporto dalle decine verso le centinaia, ma nessuno dalle unità verso le decine. Anticipating carriage (2/3) – Il meccanismo di riporto - C. Randone - 24 A.E.
  • 25. Il "movable wire" 'w portato dal braccio f della ruota numerata può interporsi tra il "fixed wire" w per propagare un riporto a diversi livelli. In figura un riporto è generato nella ruota delle unità. Siccome la ruota delle decine è sul 9, un riporto viene propagato sulle centinaia. La ruota delle centinaia non è sul 9, e quindi interrompe la catena di propagazione dei riporti. Anticipating carriage (3/3) - C. Randone - 25 Per altri dettagli relativi al funzionamento dell'anticipating carriage si veda anche: "Charles Babbage's Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing, Volume 4, Number 3 (da pag. 202) e "The evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987 (da pag. 122) "Fixed wire" "Movable wire" A.E.
  • 26. Il meccanismo di "anticipating carriage" di Babbage può essere visto come un esempio di manipolazione logica. Ogni "cage" (posizione di ruota numerata) del meccanismo implementa l'equazione logica dove C indica che un riporto deve essere fatto, G indica un riporto generato da una ruota numerata che passa da 9 a 0, e P indica un riporto propagato da una ruota numerata che è già sul 9 (il "+" è l'operatore OR). Per sostituzione, il meccanismo di riporto in una posizione ("cage") agisce su quello di ordine superiore, così si ha: e così via. Ma Babbage non aveva a disposizione questo tipo di formalismi logici, che derivarono dal lavoro di George Boole (1815-1864) alla fine del 1840. La logica dell' "anticipating carry" - C. Randone - 26 A.E.
  • 27. • Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche: http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle _scienze_3585.html e http://nexa.polito.it/macchina-analitica-babbage) • Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo, autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico Menabrea (1809-1896). • Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la famosa nota "Notions sur la Machine Analytique de M. Charles Babbage". • Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione "Sketch of the Analytical Engine invented by Charles Babbage". • In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il primo programma informatico della storia, un algoritmo per il calcolo dei numeri di Bernoulli. Charles Babbage a Torino (1/3) - C. Randone - 27 A.E.
  • 28. • Babbage presentò l'idea di Macchina Analitica al Secondo Congresso degli Scienziati Italiani, svoltosi a Torino nel settembre del 1840 (si veda anche: http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle _scienze_3585.html e http://nexa.polito.it/macchina-analitica-babbage) • Babbage fu invitato in Italia da Giovanni Plana (1781-1864), matematico ed astronomo, autorevole membro dell'Accademia delle Scienze. Plana trasferì il compito di descrivere la macchina analitica ad un suo giovane e brillante collaboratore, Luigi Federico Menabrea (1809-1896). • Menabrea nel 1840 partecipa agli incontri dei membri dell'Accademia delle Scienze con Charles Babbage e due anni dopo presenta alla Biblioteque Universelle de Geneve la famosa nota "Notions sur la Machine Analytique de M. Charles Babbage". • Successivamente, nel 1843, il suo lavoro fu tradotto in inglese e significativamente ampliato da Ada Lovelace (1815-1852) con le sue famose "notes" nella pubblicazione "Sketch of the Analytical Engine invented by Charles Babbage". • In queste "notes" di Ada Lovelace è compreso (alla "Note G") quello che è considerato il primo programma informatico della storia, un algoritmo per il calcolo dei numeri di Bernoulli. Charles Babbage a Torino (1/3) - C. Randone - 28 A.E.
  • 29. Charles Babbage a Torino (2/3) - C. Randone - 29 Luigi Federico Menabrea (1809 - 1896) • In segno di apprezzamento e di riconoscenza per l’attenzione ricevuta da parte di Menabrea e degli altri amici torinesi, Babbage offrì loro tutto il corredo di disegni progettuali che aveva portato con sé da Londra; questo prezioso lascito è tuttora conservato presso l’Archivio dell’Accademia delle Scienze di Torino. A.E.
  • 30. Charles Babbage a Torino (2/3) - C. Randone - 30 Luigi Federico Menabrea (1809 - 1896) • In segno di apprezzamento e di riconoscenza per l’attenzione ricevuta da parte di Menabrea e degli altri amici torinesi, Babbage offrì loro tutto il corredo di disegni progettuali che aveva portato con sé da Londra; questo prezioso lascito è tuttora conservato presso l’Archivio dell’Accademia delle Scienze di Torino. A.E.
  • 31. • I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio Emanuele II, ormai Re d'Italia. • Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande evidenza, è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto: "Sire, nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti della memoria di del Vostro illustre Padre. Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti figli d'Italia. Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa invenzione. Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il Paese di Archimede e Galileo". Charles Babbage a Torino (3/3) - C. Randone - 31 A.E.
  • 32. • I legami di Charles Babbage con il Regno di Sardegna rimasero stretti. Nel 1864 dedicò la sua autobiografia ("Passages from the life of a philosofer", del 1862) a Vittorio Emanuele II, ormai Re d'Italia. • Sul frontespizio del volume l'autore ricorda la sua onorificenza di Commendatore dell'Ordine Italiano di San Maurizio e San Lazzaro: nella prima pagina, in grande evidenza, è la dedica del volume a Vittorio Emanuele II, figlio di Carlo Alberto: "Sire, nel dedicare questo volume a sua Maestà, io compio un atto di giustizia nei confronti della memoria di del Vostro illustre Padre. Nel 1840 il re Carlo Alberto invitò i saggi d'Italia a riunirsi nella sua capitale. Su invito del suo più grande matematico, io portai con me i disegni e le spiegazioni dell'Analytical Engine. Essi furono ampiamente discussi e la loro validità fu riconosciuta dai più eletti figli d'Italia. Al Re, Vostro Padre, io devo il primo riconoscimento pubblico ed ufficiale di questa invenzione. Sono lieto di esprimere la mia riconoscenza a Suo Figlio, il Sovrano dell'Italia unita, il Paese di Archimede e Galileo". Charles Babbage a Torino (3/3) - C. Randone - 32 A.E.
  • 33. Analytical Engine – Linea temporale dei principali "Plans" - C. Randone - 33 From "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987 A.E.
  • 34. Macchina Analitica (Analytical Engine) – "Plan 25", 1840 - C. Randone - 34 Plan of the general arrangement of the Analytical Engine ("Plan 25", 1840). ~ 70 cm Operation Cards Variable Cards Number Cards (~ 5 metri di alt.) A.E.
  • 35. Macchina Analitica (Analytical Engine) – I due livelli di controllo - C. Randone - 35 Babbage individuò almeno due diversi "livelli di controllo" per la sua Macchina Analitica: • Un livello più alto (diremmo "user level") supportato da una "programmazione" con schede perforate • Un livello più tecnico ed interno alla macchina, supportato da cosiddetti "barrel" con la codifica (diremmo oggi in termini di "microprogramma") delle operazioni fondamentali (es: addizione, sottrazione, moltiplicazione e divisione) A.E.
  • 36. Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate" - C. Randone - 36 Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni complessi . A.E.
  • 37. Macchina Analitica (Analytical Engine) – L'idea delle "schede perforate" - C. Randone - 37 Per l'I/O e la "programmazione" della Macchina Analitica, Babbage pensò di utilizzare delle "schede perforate", riutilizzando l'idea alla base dei telai Jacquard (inventati nei primi anni dell'ottocento da Joseph Marie Jacquard) per la realizzazione di disegni complessi . A.E.
  • 38. Nei disegni di Babbage sono raffigurati tre tipi di schede: • le Number Cards, con le quali si immettono nella MA i dati iniziali del calcolo, designati come Primitive Data; la MA può anche "scrivere" delle card con i risultati • le Operation Cards, ciascuna delle quali comanda l’esecuzione di una operazione aritmetica; sono previste anche delle Combinatorial Cards per supportare salti e cicli • le Variable Cards, che indicano l’indirizzo dei registri di memoria, chiamati Columns, ove prelevare gli argomenti e depositare il risultato di ciascuna operation. L’insieme di una Operation Card e delle Variable Cards ad essa associate corrisponde concettualmente a una “istruzione” degli odierni computer, così come la sequenza delle istruzioni corrisponde al nostro “programma”. Macchina Analitica (Analytical Engine) – Le "card" (1/2) - C. Randone - 38 A.E.
  • 39. Macchina Analitica (Analytical Engine) – Le "card" (2/2) - C. Randone - 39 Delle "card" per l'Analytical Engine A.E.
  • 40. Schede perforate degli anni 1960-1970 - C. Randone - 40 A.E.
  • 41. Nastri perforati degli anni 1950-1970 - C. Randone - 41 Le schede che Babbage aveva in mente per la sua Macchina Analitica erano "legate" l'una all'altra (sullo stile del telaio Jaquard), rendendo questo tipo di supporto di memoria forse più simile ad un nastro perforato ("punched tape") che a delle schede perforate come quelle illustrate nella slide precedente. A.E.
  • 42. Macchina Analitica (Analytical Engine) – I "microprogrammi" - C. Randone - 42 Schema della "microprogrammazione" della Macchina Analitica, tratto da "Charles Babbage’s Analytical Engine, 1838", A. G. Bromley, Annals of the History of Computing, vol. 4, no. 3, July 1982, pp. 196-218. A.E.
  • 43. Analytical Engine – Meccanismo di controllo sui "barrel" (microprogrammazione) - C. Randone - 43 Una "parola" di microprogramma (un "passo") è rappresentato da una fila verticale di perni avvitati al cilindro. Questi perni agiscono sulle estremità delle leve di comando quando il cilindro si muove (trasla) lateralmente. I "reducing sector" di uno, due e quattro denti fanno ruotare il cilindro di un corrispondente numero di "passi" verticali, e possono anche agire in combinazione in una sola volta. Nella figura, il reducing sector 1 viene messo in marcia direttamente dal cilindro stesso, tramite la leva di comando a. Il reducing sector ‘1 è invece attivato dall'apparato di riporto (indicazione "Running Up"), se abilitato a farlo dal cilindro e dalla leva b. L'effetto è quello di un trasferimento condizionato. Un "conditional arm" sensibilizzato dalla leva di controllo c può fornire una azione condizionale su di un evento precedente. A.E.
  • 44. Macchina Analitica (Analytical Engine) – Schema a blocchi - C. Randone - 44 CPU ("Mill") and Memory ("Store") Primary Storage 1,000 40 – digit numbers ALU < > = + - x ÷ Control Unit Output Cards Input Cards Secondary Storage Data on Cards Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage. A.E.
  • 45. Macchina Analitica (Analytical Engine) – Schema a blocchi - C. Randone - 45 CPU ("Mill") and Memory ("Store") Primary Storage 1,000 40 – digit numbers ALU < > = + - x ÷ Control Unit Output Cards Input Cards Secondary Storage Data on Cards Nota: Una macchina "moderna" con caratteristiche architetturali simili all'Analytical Engine è il calcolatore elettromeccanico Automatic Sequence Controlled Calculator (ASCC) di Howard Aiken (noto anche come IBM-Harvard Mark 1), del 1944. Nella progettazione del Mark 1, Aiken (forse…) fu influenzato dai lavori di Babbage. A.E.
  • 46. Macchina Analitica (Analytical Engine) – Terminologia… - C. Randone - 46 Babbage Analytical Engine Contemporary Computer Axis Buffer / register Barrel Microcode Card (generic) Instruction Carriage Carry propagation Curve Drawing Apparatus Plotter Column (of Rack) Memory (RAM) cell Cycle Loop Mill Arithmetic and Logical Unit (ALU) Rack (of Columns) Random Access Memory (RAM) Store Memory (RAM) Array / Storage Turn of the Handle Clock cycle E' possibile stabilire una significativa correlazione tra i vocaboli utilizzati da Babbage nel descrivere la sua Macchina Analitica e la moderna terminologia informatica. Eccone alcuni esempi: A.E.
  • 47. Questa figura illustra in una linea temporale le diverse evoluzioni dei progetti della Macchina Analitica fino al 1846. A destra sono indicati i principali "Plans" per l'Analytical Engine e, a sinistra, una serie di invenzioni di meccanismi e gli algoritmi che hanno influenzato lo sviluppo dei piani. Il termine "Plan" utilizzato da Babbage veicola due significati. In primo luogo rappresenta i disegni relativi alla disposizione fisica degli assi e delle altre parti della macchina. In secondo luogo, distintamente, i "plan" rappresentano anche l'architettura logica della macchina, un significato che è andato assumendo via via maggior enfasi dal 1835 in poi. Macchina Analitica (Analytical Engine) - Timeline - C. Randone - 47 Tratto da "The Evolution of Babbage’s Calculating Engines", A. G. Bromley, Annals of the History of Computing, vol. 9, no. 2, 1987, pp. 113-136 A.E.
  • 48. Macchina Analitica (Analytical Engine) – "Plan 28", 1842 (first arrangement) - C. Randone - 48 "Plan 28" dell'Analytical Engine (rif. "A.118 Figure 9"), datato 8 Dicembre 1842 A.E.
  • 49. Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato) - C. Randone - 49 A.E.
  • 50. Macchina Analitica (Analytical Engine) – Disposizione "a griglia" (1858) (ridisegnato) - C. Randone - 50 Crystal Palace, Esposizione Universale del 1851, Londra A.E.
  • 51. Analytical Engine – "Plan 28", 1843-1846 - C. Randone - 51 Da "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987 Una diversa rappresentazione del Plan 28 dell'Analytical Engine. Questo disegno è stato assemblato partendo da diversi disegni del periodo 1843 - 1846. L'architettura qui sintetizzata è sostanzialmente più semplice di quelle dei progetti precedenti (ad es. del Plan 25). A.E.
  • 52. Macchina Analitica (Analytical Engine) - C. Randone - 52 Una parte del "mill" della Macchina Analitica, in costruzione nel 1871, alla morte di Babbage. Science Museum, London A.E.
  • 53. Macchina Analitica (Analytical Engine) - C. Randone - 53 Una ulteriore realizzazione di parte della macchina analitica ("mill" e meccanismo di stampa) realizzata nel 1910 dal figlio Henry Prevost Babbage. Science Museum, London A.E.
  • 54. Macchina Analitica (Analytical Engine) - C. Randone - 54 Una ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno parzialmente basato su alcuni elementi del "Plan 25" e del "Plan 28" dell'Analytical Engine): http://scientificillustration.tumblr.com/image/22977242992 A.E.
  • 55. Comparazione sintetica tra le caratteristiche delle Macchine di Charles Babbage - C. Randone - 55 Caratteristica Difference Engine n. 1 Difference Engine n. 2 Analytical Engine Periodo di sviluppo 1822-1833 1847-1849 1834-1846 e 1856-1871 Numero totale di parti 25.000 (di cui circa 12.000 per la stampante) 8.000 (di cui circa 4.000 per la stampante) Non definito. (La stampante prevista è la stessa del D.E. n. 2) Sistema numerico Decimale Decimale Decimale Capacità e Precisione 6 assi da 12 (o 16, o 18) cifre 8 assi da 31 cifre >100 assi (fino a 1000) da 30 o 40 o 50 cifre Gestione numeri negativi Complemento a 10 Complemento a 10 Segno-grandezza per l'I/O, con rappresentazione interna in complemento a 10 Gestione riporti Sequenziale Sequenziale (ottimizzata) Anticipating carriage Programmazione Sequenza delle operazioni (di somma) precodificata su camme Sequenza delle operazioni (di somma) precodificata su 14 coppie di camme Microprogrammazione su "barrel" e programmazione "utente" tramite schede perforate Realizzazioni Una parte (funzionante) grande circa un settimo della macchina completa fu assemblata nel 1832. In quella data erano già state costruite (ma non furono mai assemblate) più di 10.000 parti. Da Babbage furono realizzate solo alcune parti dimostrative. Partendo dai disegni di Babbage, la macchina fu realizzata nel 1991 allo Science Museum di Londra (il meccanismo di stampa nel 2001). Una seconda copia completa fu realizzata per il Computer Museum di Mountain View in California nel 2008. Una parte (semplificata) del "mill" era in fase di realizzazione nel 1871. Una ulteriore realizzazione parziale del meccanismo di calcolo e stampa fu realizzata nel 1910 da Henry Prevost Babbage, figlio di Charles. Iniziativa http://plan28.org/. A.E.
  • 56. Ada Lovelace (10/12/1815 - 27/11/1852) - C. Randone - 56 Augusta Ada Byron, meglio nota come Ada Lovelace, nome che assunse dopo il matrimonio con William King, Conte di Lovelace, è stata una matematica inglese, nota soprattutto per il suo lavoro alla Macchina analitica ideata da Charles Babbage. Ada fu la sola figlia legittima del poeta Lord Byron e della matematica Anne Isabella Milbanke, e non ebbe alcuna relazione con il padre, che morì quando lei aveva solo 9 anni. Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage (che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843 tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato il primo programma di computer che consiste in un algoritmo codificato per il calcolo dei numeri di Bernoulli, tanto che Ada Lovelace è spesso ricordata come la prima programmatrice di computer al mondo. Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste capacità. Ada
  • 57. Ada Lovelace (10/12/1815 - 27/11/1852) - C. Randone - 57 Augusta Ada Byron, meglio nota come Ada Lovelace, nome che assunse dopo il matrimonio con William King, Conte di Lovelace, è stata una matematica inglese, nota soprattutto per il suo lavoro alla Macchina analitica ideata da Charles Babbage. Ada fu la sola figlia legittima del poeta Lord Byron e della matematica Anne Isabella Milbanke, e non ebbe alcuna relazione con il padre, che morì quando lei aveva solo 9 anni. Fin da giovane s’interessò alle scienze matematiche, e in particolare al lavoro di Babbage (che incontrò per la prima volta nel 1833) sulla macchina analitica. Tra il 1842 e il 1843 tradusse un articolo del matematico italiano Luigi Menabrea sulla macchina, che incrementò con un insieme dei suoi appunti. Questi studi contenevano quello che oggi viene considerato il primo programma di computer che consiste in un algoritmo codificato per il calcolo dei numeri di Bernoulli, tanto che Ada Lovelace è spesso ricordata come la prima programmatrice di computer al mondo. Ada Lovelace aveva previsto la capacità dei computer di andare al di là dal mero calcolo numerico, mentre altri, incluso lo stesso Babbage, si focalizzarono soltanto su queste capacità. Dal calcolo (numerico) … … alla computazione e manipolazione di simboli The "Lovelace Leap" Ada
  • 58. • Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843) Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine) - C. Randone - 58 Ada
  • 59. • Il "programma" per Analytical Engine scritto da Ada Lovelace ("Note G") (1843) Ada Lovelace – "Programma " per la Macchina Analitica (Analytical Engine) - C. Randone - 59 Ada
  • 60. Ada Lovelace (10/12/1815 - 27/11/1852) - C. Randone - 60 "We may say most aptly, that the Analytical Engine weaves algebraic patterns, just as the Jacquard loom weaves flowers and leaves." Ada Lovelace ("Possiamo dire più giustamente che la macchina analitica tesse modelli algebrici, proprio come il telaio Jacquard tesse fiori e foglie.") Da: "Sketch of The Analytical Engine - Invented by Charles Babbage" By L. F. MENABREA, of Turin, Officer of the Military Engineers from the Bibliothèque Universelle de Genève, October, 1842, No. 82 With notes upon the Memoir by the Translator ADA AUGUSTA, COUNTESS OF LOVELACE (http://www.fourmilab.ch/babbage/sketch.html) Ada
  • 61. • Nel 1878, sette anni dopo la morte di C. Babbage, il comitato della British Association for the Advancement of Science si pronunciò contro la costruzione della macchina analitica (http://www.fourmilab.ch/Babbage/baas.html) e questo vanificò le speranze di Henry Prevost Babbage (figlio di Charles, 1824-1918) di poter accedere a sovvenzioni governative. • Oggi, l'iniziativa "Plan 28" (http://plan28.org/) del programmatore e scrittore John Graham-Cumming si ripropone di costruire un modello (prima simulato al computer, e poi "fisico") dell'Analytical Engine. Macchina Analitica (Analytical Engine) – Iniziativa "Plan 28" - C. Randone - 61 John Graham-Cumming Now
  • 62. Macchina Analitica (Analytical Engine) – Sydney Padua - C. Randone - 62 Un'altra ipotetica rappresentazione di fantasia della "Macchina Analitica", come sarebbe potuta apparire se fosse stata costruita nella seconda metà dell'800 (disegno di Sydney Padua, basato principalmente sul Plan 25): http://www.theguardian.com/technology/gallery/2015/apr/12/thrilling-adventures-lovelace-babbage-in- pictures#img-6 Now
  • 63. Sydney Padua - C. Randone - 63 Sydney Padua (sydneypadua.com) è una grafica e disegnatrice che lavora soprattutto nel mondo dell’animazione cinematografica. E' autrice del libro "The Thrilling Adventures of Lovelace and Babbage" (http://sydneypadua.com/2dgoggles/the-book/); il libro si apre con una breve graphic novel, assolutamente rigorosa dal punto di vista storico, sulla collaborazione fra Ada Lovelace e Charles Babbage. Ma il libro offre anche, sempre in forma di graphic novel, alcune avventure totalmente immaginarie di Ada e Babbage – e di innumerevoli, illustri personaggi dell’epoca, dalla Regina Vittoria a Dickens, da Faraday a George Eliot – in un universo steampunk in cui la macchina analitica è invece stata effettivamente realizzata. Quel che colpisce è che ogni tavola a fumetti ha ricche note a piè di pagina che forniscono le informazioni di base per capire di cosa e di chi si parla. E le note a piè di pagina hanno note di fine capitolo per approfondire. Una "gallery" di video realizzati da Sydney Padua sulle macchine di Babbage (in particolare relativi all'Analytical Engine) sono disponibili a partire dal sito: https://www.youtube.com/user/sydpadua/videos Now
  • 64. La Macchina Analitica (Analytical Engine) nella fantascienza - C. Randone - 64 William Gibson e Bruce Sterling sono stati coautori (nel 1990) di un romanzo del genere cosiddetto steampunk (*) intitolato La macchina della realtà (The Difference Engine). In questo romanzo, ambientato nella Londra del 1855, si esplora un passato alternativo in cui la Macchina analitica è stata già costruita e la sua realtà, unita a quella della Rivoluzione industriale, ormai avviata, influenza notevolmente i personaggi e le scene dell'era vittoriana. (*) si veda ad es. https://it.wikipedia.org/wiki/Steampunk e http://www.steamfantasy.it/blog/2011/05/30/breve-introduzione-allo-steampunk/ Now Copertine di una edizione italiana e di una inglese del libro di W. Gibson e B. Sterling.
  • 65. Una interessante documentazione… - C. Randone - 65 "Ada Byron e la Macchina Analitica", Giuseppe O. Longo, Corrado Bonfanti Mondo Digitale n. 2, giugno 2008 http://archivio- mondodigitale.aicanet.net/Rivista/08_numero _2/Longo p. 35-45.pdf e http://nid.dimi.uniud.it/history/papers/longo_ bonfanti_08.pdf Sempre in italiano, si veda anche: M. G. Losano (a cura di), Babbage. La macchina analitica: un secolo di calcolo automatico, Etas Kompass Libri, Milano, 1973. Docs
  • 66. Altre interessanti (e recenti…) documentazioni italiane - C. Randone - 66 Silvio Hénin, "Augusta Ada Lovelace (1815 - 1852)" Mondo Digitale, ANNO XIV N.57, Aprile 2015 http://mondodigitale.aicanet.net/2015-2/articoli/03_Augusta_Ada_Lovelace.pdf Mario G. Losano, "La macchina analitica di Babbage: un fossile che viene dal futuro" Diritto dell’informazione e dell’informatica, 2015, n.1, pp. 1-42. http://rivoluzionedigitale.polito.it/rdfiles/Babbage-Prefazione-DirInf.pdf Mario G. Losano, "La macchina da calcolo di Babbage a Torino", Accademia delle Scienze di Torino - I Libri dell’Accademia, vol. 10, 2015, ISBN: 9788822263827 Casa Editrice Olschki, Firenze, 2015 http://www.olschki.it/libro/9788822263827 NB: questo testo riprende ed aggiorna il volume di Losano del 1973: "Babbage: la macchina analitica. Un secolo di calcolo automatico" (Etas Kompass, Milano 1973) già precedentemente citato Docs
  • 67. Altre interessanti (e recenti…) documentazioni italiane - C. Randone - 67 Silvio Hénin, "Il computer dimenticato – Charles Babbage, Ada Lovelace e la ricerca della macchina perfetta", HOEPLI, 2015 http://www.hoepli.it/libro/il-computer- dimenticato/9788820370442.html Docs Libri e documenti digitali presso l'Accademia delle Scienze di Torino: http://www.accademiadellescienze.it/TecaRicerca
  • 68. Una monografia sulle macchine di C. Babbage - C. Randone - 68 Nel 2010 l'IEEE ha curato una interessante e completa raccolta di articoli sulle macchine di Babbage, che costituisce un ottimo punto di partenza per approfondire l'argomento: Docs La raccolta contiene tra gli altri diversi articoli di Allan Bromley (1947–2002) , riconosciuto studioso delle macchine di Babbage.
  • 69. Dove trovare alcune delle "migliori" descrizioni tecniche dell' "Analytical Engine" ? - C. Randone - 69 Oltre alla monografia dell'IEEE di cui alla slide precedente, secondo Maurice Wilkes (1913-2010) nel suo articolo "Babbage's Expectations for his Engines" (Annals of the History of Computing, vol. 13, no.2, 1991, pp. 141-145): << The most coherent description of the Analytical Engine is contained in a document entitled On the Mathematical Powers of the Calculating Engine dated December 1837, at which time Babbage was 45 years old. This document is preserved among the Buxton papers in the History of Science Museum, Oxford, and is printed by Randell (1973) (*). Babbage obviously intended to publish it and why he did not do so is unclear. >> (*) Randell, B. (ed.). 1973. The Origins of Digital Computers. Springer-Verlag. Questa fonte va ad integrazione delle già citate "notes" di Ada Lovelace in "Sketch of the Analytical Engine invented by Charles Babbage", pubblicate ad es. in "Charles Babbage. On the Principles and Development of the Calculator and Other Seminal Writings by Charles Babbage and Others", Edited by P. Morrison and E. Morrison, Dover Publications Docs
  • 70. Altri link e libri di riferimento su Babbage e le sue macchine - C. Randone - 70 Sito "The Analytical Engine", di John Walker: http://www.fourmilab.ch/babbage/contents.html Libro "Charles Babbage and the Engines of Perfection": http://www.amazon.com/Charles-Babbage-Engines-Perfection-Portraits/dp/0195089979 Libro "Charles Babbage: Pioneer of the Computer" http://www.amazon.com/Charles-Babbage-Computer-Anthony-Hyman/dp/0691083037 Docs
  • 71. Il "Charles Babbage Institute" (CBI) - C. Randone - 71 Il Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) è un istituto di ricerca presso l'Università del Minnesota, specializzato nella storia dell'information technology, in particolare la storia degli elaboratori digitali, dei linguaggi e della programmazione, e delle reti, a partire dal 1935. L'istituto prende il nome da Charles Babbage, ed è situato presso la Elmer L. Andersen Hall alla University of Minnesota Libraries, in Minneapolis, Minnesota. Gli "IEEE Annals of the History of Computing" Gli "Annals of the History of Computing" (http://www.computer.org/portal/web/computingnow/annals) dal 1979 sono una pubblicazione specializzata sulla storia delle tecnologie per il trattamento dell'informazione. Dal 1992 rientrano nell'ambito delle pubblicazioni dell'IEEE. In figura, il numero monografico di ottobre-dicembre 2000 con gli importanti studi di Allan Bromley (1947-2002) sulla macchina analitica. Docs

Editor's Notes

  1. In relazione al fatto che la temporizzazione è invertita rispetto a quella che sarebbe stata adottata nel D.E. No. 1 completo, la fonte di questo dettaglio è la seguente: "Charles Babbage's Tabulations using the 1832 model of Difference Engine No. 1", Allen G. Bromley, Technical Report 304, April 1987, Basser Department of Computer Science, The University of Sydney, Australia (file "tr304.pdf")