Babbage and his machines - Carlo Randone - 14 dec 2015
1. Charles Babbage and his machines:
an informative contribution to contextualize
the figure of Ada Lovelace
Carlo Randone
carlornd@libero.it
carlo_randone@it.ibm.com
1
Friend of
Pisa, 14 December 2015
www.ibm.com www.cbi.umn.edu www.mupin.it
Note: it is available also an Italian version of this presentation
Nota: è disponibile anche una versione in italiano di questa presentazione
2. • Charles Babbage and the context in which he lived and worked
• A chronological introduction to the machines of Charles Babbage
• The "Difference Engines"
• Computation of tables and the "finite differences" method
• Introduction to the Difference Engine No. 1 and D.E. No. 1 “portion"
• Introduction to the Difference Engine No. 2
• The construction of the D.E. No. 2 at the Science Museum in London
• The "Analytical Engine"
• Introduction to the Analytical Engine
• Charles Babbage in Turin (1840), with Plana and Menabrea
• The Analytical Engine architecture (“Plan 25”) and mechanisms
• Programming the Analytical Engine
• Analytical Engine "Plan 28": 1842-1846
• Comparison between the Charles Babbage machines
• Ada Lovelace: “the first programmer" ?
• “Plan 28”: an initiative by John Graham-Cumming to build the Analytical Engine
• The works and researches by Sydney Padua
• The "analytical engine" in science fiction and steampunk
• Documentation and specific references
Agenda
- C. Randone - 2
Intro
D.E.
A.E.
Ada
Now
Docs
3. • Charles Babbage was born in London, December 26, 1791
• Since the early studies he demonstrated an inclination to algebra
and mathematical studies, so as to stand at Trinity College,
Cambridge, where he entered in 1811.
• He was a mathematician and philosopher, scientist and "proto-
informatics" who first had the idea of a programmable computer.
• From 1828 to 1839 he occupied the lucasian chair of
mathematics at Cambridge.
• In the world of computing he is known thanks to its machines:
the "Difference Engines" (of one of which, the No. 1 he produced
a partial prototype) and the "Analytical Engine".
Charles Babbage
- C. Randone - 3
Portrait of C. Babbage,
published in 1871 and obtained
from a 1860 photograph
• In 1833 he met Ada Lovelace (10/12/1815 - 27/11/1852), who in later years studied the
machines of Babbage and in 1842-43 wrote the famous "notes" on the Analytical Engine.
• Some parts of the (incomplete) mechanisms of Babbage are on display at the Science Museum in
London. In 1991, working from its original plans, it was completed a fully functional Difference
Engine (the No. 2), assembled following the standards available in the nineteenth century, which
means that Babbage's machine would have worked.
• Babbage died in London, October 18, 1871, aged 79.
Intro
4. A summary of the activities of Charles Babbage on computing machines
- C. Randone - 4
"A timeline of Babbage’s life", from "The Evolution of Babbage’s Calculating Engines", by 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)
This alternation of
activities, combined with
the fact that two different
"Difference Engine" were
designed, has contributed
to create some confusion
about the so-called C.
Babbage's Machines.
In this presentation, for
simplicity, we will discuss
first on the two Difference
Engine, and then we will
talk about the Analytical
Engine.
Intro
5. Difference Engines and Analytical Engine: two "engines" very different…
- C. Randone - 5
As we will see, the Difference Engines and the Analytical Engine achieve very different
functionalities, and are inspired by different principle:
• The Difference Engines perform essentially only one "algorithm" or calculation process
(although configurable), that is, as we will see, the so-called "finite differences", to support
the calculation of polynomial functions
• The design principles of the Analytical Engine were instead aimed to solve a wider and
broader theme: that of an "analytical engine" that can - potentially - implement any kind
of algorithm; to be – as we would say today – "programmable".
This significant difference was reiterated several times by Ada Lovelace in his "notes" on the
Analytical Engine, which states, inter alia, that:
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. • In 1822 Charles Babbage proposed the development of the difference machine in an
article posted on June 14 at the Royal Astronomical Society and entitled "Note on the
application of machinery to the computation of very big mathematical tables." The
machine would use the decimal system and would be fed in a mechanical way by the
movement of a handle that would make turn the gears.
Difference Engine – The "Tables Crisis"
- C. Randone - 6
Von Vega – Table of logarithms (1794)
The manual production of a
table of logarithms included:
• Manual calculation
• Results transcription
• Typesetting
• Verification
With the difference machine
Babbage proposed to
simultaneously solve all of these
possible sources of error.
D.E.
7. • The operating principle: finite difference method
Consider for example the polynomial p(x) = 2x2 – 3x + 2
Assuming we want the tabulated values p(0), p(1), p(2), p(3), p(4) etc., the table is
constructed in the following way: the first column is the variable (x), the second column
contains the value of the polynomial p(x), the third column contains the difference of the
values contained in the second column, the fourth column contains the difference of the
values contained in the third column:
Difference Engine – Finite differences method
- 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
Note that the value of the last column is constant. This is not an accident: for every
polynomial of degree n the column n + 1 contains a value that is constant; this is critical
for the functioning of the difference machine.
5
4
15
37
D.E.
8. • The British government initially financed the project, but later, when in 1842 he
received from Babbage's request for new funds despite the development of the
machine seemed at a dead end, he decided to abandon it. Meanwhile, however, he had
already spent an amount equal to 17,470 pounds (about twenty times greater spending
on a steam locomotive). The decision to abandon the project influenced also negative
opinion on the usefulness of the machine expressed by the royal astronomer George
Biddell Airy.
Difference Engine n. 1
- C. Randone - 8
• The device, according to the project, should
have been very complex and with large
structural dimension: in fact requires about
25000 part (of which 12000 for the "printer")
and the complete machine was about two
half meters high, two meters wide and deep
one, with a weight of several tons.
Disegno per il Difference
Engine n.1, 1830
D.E.
9. • The British government initially financed the project, but later, when in 1842 he
received from Babbage's request for new funds despite the development of the
machine seemed at a dead end, he decided to abandon it. Meanwhile, however, he had
already spent an amount equal to 17,470 pounds (about twenty times greater spending
on a steam locomotive). The decision to abandon the project influenced also negative
opinion on the usefulness of the machine expressed by the royal astronomer George
Biddell Airy.
Difference Engine n. 1
- C. Randone - 9
• The device, according to the project, should
have been very complex and with large
structural dimension: in fact requires about
25000 part (of which 12000 for the "printer")
and the complete machine was about two
half meters high, two meters wide and deep
one, with a weight of several tons.
Disegno per il Difference
Engine n.1, 1830
D.E.
10. Difference Engine n. 1 (Portion) – Science Museum, London
- C. Randone - 10
Part ("portion" or "the beautiful
fragment") of the Difference Engine (n.
1), assembled in 1832 (by the engineer
Joseph Clement, who worked with
Babbage for the construction of machine
components).
It makes up about one-seventh of the
complete machine.
The realization of this prototype still
represents an important step, as the
human and mental faculty of "calculate"
is brought to a mechanical level, and the
operator does not need to know the
internal behavior of the machine and the
mathematical principles on which is
based, to obtain results easily usable and
reliable.
Part of the Difference Engine n.1 (Science Museum, London)
D.E.
A video on the "beautiful fragment" (from 2:14):
https://www.youtube.com/watch?v=QVxbNZWLP60
11. Difference Engine n. 1 (Portion) – Science Museum, London
- C. Randone - 11
Part ("portion" or "the beautiful
fragment") of the Difference Engine (n.
1), assembled in 1832 (by the engineer
Joseph Clement, who worked with
Babbage for the construction of machine
components).
It makes up about one-seventh of the
complete machine.
The realization of this prototype still
represents an important step, as the
human and mental faculty of "calculate"
is brought to a mechanical level, and the
operator does not need to know the
internal behavior of the machine and the
mathematical principles on which is
based, to obtain results easily usable and
reliable.
"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), in the C. Babbage biography entitled
"Memoir of the Life and Labours of the Late Charles Babbage", 1870
(published only in 1988 by MIT Press)
Part of the Difference Engine n.1 (Science Museum, London)
D.E.
A video on the "beautiful fragment" (from 2:14):
https://www.youtube.com/watch?v=QVxbNZWLP60
12. Difference Engine n. 1 (Portion replica) – IBM, Milan
- C. Randone - 12
A 3/4 scale replica of the section ("portion") of the Difference Engine n. 1 of the 1832 is on
display at the IBM Forum in Segrate (MI). It is part of a series of replicas built in 1980 for the
IBM exhibition "A Calculator Chronicle: 300 Years and Counting of Reckoning Tools", held in
New York in 1981, and was one of the few copies sent to various IBM offices in that period.
Similar replicas are exhibited in several museums in the world.
D.E.
A similar replica is also exposed at the Museo
Nazionale della Scienza e Tecnologia "Leonardo Da
Vinci" in Milan.
(http://www.museoscienza.org/dipartimenti/catalogo_collezioni/scheda_oggetto.asp?id
k_in=ST120-00193&arg=Macchine%20da%20calcolo)
13. Difference Engine n. 1 (Portion) – Science Museum, London
- C. Randone - 13
The drawing used here is
that of the prototype of
D.E. n. 1 of 1832/1833,
as reported in "Passages
from the life of a
philosopher" of 1864.
The operating notes are
taken from the "Chapter
V" of the same book
(section "Description of
the existing portion of
Difference Engine No. 1").
Units
Tens
Hundreds
Thousands
Tens of Thousands
T T = value of f(x)12
"Table column"
"First Difference column"
"Second Difference column"
TabulatedValue(T)
DifferenceofOrder1
DifferenceofOrder2
"Cages"
D.E.
14. The basic action of the model are:
• 1° Half Cycle: T T + 1
• 2° Half Cycle: 1 1 + 2
(note that this timing is just the reverse of that
intended for the full D.E. No. 1)
Difference Engine n. 1 (Portion) – Science Museum, London
- C. Randone - 14
An operational example on the prototype of D.E. n. 1, with the function T = f(x) = x2 + x + 41 (often
used by Babbage, that generates some primes):
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
"Instantaneous" Configurations of the
D.E. n.1 prototype:
T T = value of f(x)12
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
Units wheel
Tens wheel
T0
T1
T3
T2
T4
T5
2 1
34
56
78
910
Timing
(preset)
x Steps #
6+7 = 13 (3 units and carry 1)
8+3 = 11 (1 unit and carry 1)
2+8 = 10 (0 unit and carry 1)
D.E.
See also: http://sydney.edu.au/engineering/it/research/tr/tr304.pdf
15. • Babbage, during and after the design of the first difference machine, had worked to the
most complex analytical engine (described hereinafter). The experiences in the design
of the latter allowed him to improve the design of the difference engine and to develop
a second version (the "Second Difference Engine" or "DE no. 2") between 1847 and
1849.
• This version foresaw about 8,000 pieces (4,000 only for the "printer").
Difference Engine n. 2
- C. Randone - 15
Difference Engine n.2
Design of the printing mechanism
(Science Museum Library Babbage Papers,
drawing BAB [A] 173, “Plan of Inking Printing
& Stereotype Apparatus,” undated)
D.E.
16. 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. • Inspired by the design of Babbage, Per Georg Scheutz (1785-1873) built several
different machines from 1855; one of these was sold to the British government in 1859.
Martin Wiberg (1826-1905) improved the Scheutz's machines and used it to produce
some logarithmic tables then published.
• Based on the Babbage's original plans, the London Science Museum built a working
reconstruction of the second version of the difference engine. This was done under the
supervision of Doron Swade, that followed the project between 1989 and 1991.
• In 2000 it was also made the printer, capable to transfer on paper the data received
from the difference engine, but also to produce stereotype plates for use in printing
presses.
• The transcription of the original drawings in drawings usable for the realization of the
components showed that Babbage had committed some minor errors of design, but
nothing that could invalidate the logical point of view the operation of the machine.
• The difference engine and the printer were built with the materials and tolerances
available in the nineteenth century and this allowed to show that the Babbage's
project, if it had been funded and managed properly, could actually lead to the creation
of a working machine.
Difference Engine n. 2 – Later developments…
- C. Randone - 17
D.E.
19. Difference Engine n. 2 – Science Museum, London (1991)
- C. Randone - 19
Doron Swade
D.E.
20. Difference Engine n. 2 – Computer History Museum (CA)
- C. Randone - 20
After the one built in 1991 at the Science Museum in London (with the print mechanism
finished in 2001), it was produced in 2008 a second copy of the Difference Engine No. 2,
for Nathan Myhrvold, former chief technology officer at Microsoft.
This copy is exposed ("borrowed") at the Computer History Museum in Mountain View,
California (http://www.computerhistory.org/), since 2008.
The following is a video of this installation.
http://www.youtube.com/watch?v=tmmh7E8n0FY
D.E.
21. • Babbage, already during the development of its first project, the difference machine,
realized to be able to devise a generic machine much more powerful and interesting
from a practical point of view. A machine that was not limited only to develop
mathematical calculations, but which could draw complex "reasoning". He called this
machine, in fact, analytical engine. He started working on it from 1834-35.
• The first fairly detailed description of the project was published on 26 December 1837,
in the article On the Powers of the Mathematical Calculating Engine; Babbage in this
paper clarified the organization of a machine, capable of performing general
calculations under full automatic control.
• The Analytical Machine had to be powered by a steam engine and had to be longer
than 30 meters and 10 meters deep. The input data and the program would be entered
via punch cards, a method already used to "program" the mechanical looms, and that
will be used later in the first computers. The output data would be produced by a
printer and by a sort of "plotter". The machine would be able to punch cards to store
data to be used later, and used a base 10 fixed-point arithmetic. The internal memory
("store") would be able to contain from 100 to 1000 40 digit numbers. The "Mill"
component, which constituted the basic idea of arithmetic and logic unit (ALU) present
in modern CPUs, would be able to perform the four arithmetic operations.
Analytical Engine
- C. Randone - 21
A.E.
22. The anticipating carriage is a complex mechanism and Babbage abandoned the
Difference Engine idea of having each of the storage axes themselves be a calculating
mechanism. Instead, he separated the part of the machine that stores numbers, which he
called the “store,” from the part that does the calculation, which he called the "mill". The
mill includes the elaborate anticipating–carriage mechanisms and corresponds to the
central processing unit in a modern computer. Historically, Babbage’s separation of the
mill and store is interesting because the corresponding distinction in modern machines
did not become well known until the work of the EDVAC group in 1945, although it is also
found in the Atanasoff and Bell Model V machines. The earlier modern machines, like the
ENIAC and the Harvard Mark I, did not make this distinction, and each storage element
was also an 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)
Analytical Engine – The "anticipating carriage"
- C. Randone - 22
A.E.
23. When the carry figure
wheel moves past 9 to 0
arm f acts on arm e to
rotate the “carry warning”
indicating that a carry is
necessary into the cage
above.
A carry from the cage below
will raise the “carry sector”
on axis C into gear with the
figure wheel and advance it
by one digit position.
Anticipating carriage (1/3) – Elements of the carry mechanism
- C. Randone - 23
A.E.
24. The carry warning is raised
with its axis E and (by the
lugs m and n) lifts the carry
sector (C) in the cage above
into gear with its figure
wheel.
In the figure there is a carry
from the tens into the
hundreds cage, but none
from the units to the tens.
Anticipating carriage (2/3) – The carry mechanism
- C. Randone - 24
A.E.
25. The movable wire ‘W
carried in the arm of the
figure wheel may interpose
between the fixed wires w
to propagate a carry
through several cages.
In the figure a carry is
generated in the units cage.
Because the tens figure
wheel stands at 9, a carry is
propagated to the hundreds
cage.
The hundreds figure wheel
does not stand at 9 and
therefore breaks the chain
of carry propagation.
Anticipating carriage (3/3)
- C. Randone - 25
For more details related to the operation of the anticipating carriage, see:
"Charles Babbage's Analytical Engine, 1838", A. G. Bromley, Annals of the History of
Computing, Volume 4, Number 3 (from page 202), and
"The evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the
History of Computing, Volume 9, Number 2, 1987 (from page 122)
"Fixed wire"
"Movable wire"
A.E.
26. Now, of course, we see the anticipating carriage as a simple example of
logical manipulation. Each cage of the mechanism implements the logical
equation
where C indicates a carriage to be made, G indicates a carriage generated
by a figure wheel passing from 9 to 0, and P indicates a carriage propagated
by a figure wheel standing at 9 (and + is the OR operator).
By substitution, a carriage mechanism in one cage acting on that in the cage
above, we find:
and so on.
But Babbage did not have at his disposal the modern forms of logic that
arose from the work of George Boole in the late 1840s.
The logic of the anticipating carry
- C. Randone - 26
A.E.
27. • Babbage presented the plans for the Analytical Engine at the Second Congress of the
Italian Scientists, held in Turin in September 1840 (see also:
http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle
_scienze_3585.html and http://nexa.polito.it/macchina-analitica-babbage)
• Babbage was invited in Italy by Giovanni Plana (1781-1864), a mathematician and
astronomer, influential member of the Academy of Sciences. Plana transferred the task
of describing the analytical engine to his brilliant young assistant, Luigi Federico
Menabrea (1809-1896).
• Menabrea in 1840 participates in meetings of the members of the Academy of Sciences
with Charles Babbage, and two years later he presented to the Bibliotheque Universelle
de Geneve the famous note "Notions sur la Machine Analytique de M. Charles
Babbage".
• Afterwards, in 1843, his work was translated into English and significantly expanded by
Ada Lovelace (1815-1852) with its famous "notes" in the publication "Sketch of the
Analytical Engine invented by Charles Babbage".
• In these "notes" of Ada Lovelace is included (in the "Note G") what is considered the
first computer program in history, an algorithm for calculating Bernoulli numbers.
Charles Babbage in Turin (1/3)
- C. Randone - 27
A.E.
28. • Babbage presented the plans for the Analytical Engine at the Second Congress of the
Italian Scientists, held in Turin in September 1840 (see also:
http://www.torinoscienza.it/accademia/dossier/charles_babbage_e_l_accademia_delle
_scienze_3585.html and http://nexa.polito.it/macchina-analitica-babbage)
• Babbage was invited in Italy by Giovanni Plana (1781-1864), a mathematician and
astronomer, influential member of the Academy of Sciences. Plana transferred the task
of describing the analytical engine to his brilliant young assistant, Luigi Federico
Menabrea (1809-1896).
• Menabrea in 1840 participates in meetings of the members of the Academy of Sciences
with Charles Babbage, and two years later he presented to the Bibliotheque Universelle
de Geneve the famous note "Notions sur la Machine Analytique de M. Charles
Babbage".
• Afterwards, in 1843, his work was translated into English and significantly expanded by
Ada Lovelace (1815-1852) with its famous "notes" in the publication "Sketch of the
Analytical Engine invented by Charles Babbage".
• In these "notes" of Ada Lovelace is included (in the "Note G") what is considered the
first computer program in history, an algorithm for calculating Bernoulli numbers.
Charles Babbage in Turin (1/3)
- C. Randone - 28
A.E.
29. Charles Babbage in Turin (2/3)
- C. Randone - 29
Luigi Federico Menabrea
(1809 - 1896)
• In appreciation and gratitude for the
attention received by Menabrea and other
friends in Turin, Babbage gave them all the
design and drawings that had brought with
him from London; this precious legacy is still
preserved in the Archives of the Academy of
Sciences of Turin.
A.E.
30. Charles Babbage in Turin (2/3)
- C. Randone - 30
Luigi Federico Menabrea
(1809 - 1896)
• In appreciation and gratitude for the
attention received by Menabrea and other
friends in Turin, Babbage gave them all the
design and drawings that had brought with
him from London; this precious legacy is still
preserved in the Archives of the Academy of
Sciences of Turin.
A.E.
31. • The ties of Charles Babbage with the Kingdom of Sardinia remained tight. In 1864 he
dedicated his autobiography ("Passages from the life of a philosofer", 1862) to Vittorio
Emanuele II, King of Italy.
• On the title page of the book the author recalls his Italian honor of Commendatore
dell'Ordine Italiano di San Maurizio e San Lazzaro: in the first page, in evidence, there is
the dedication of the book to Vittorio Emanuele II, son of Carlo Alberto:
"Sire,
in dedicating this volume to your Majesty, I am also doing an act of justice to the
memory of your illustrious father.
In 1840, the king, Charles Albert, invited the learned of Italy to assemble in his capital.
At the request of her most gifted Analyst, I brought with me the drawings and
explanations of the Analytical Engine. these were thoroughly examined and their truth
acknowledged by Italy's choicest sons.
To the King, your father, I am indebted for the first public and official acknowledgment
of this invention.
I am happy in thus expressing my deep sense of that obligation to his son, the Sovereign
of united Italy, the country of Archimedes and of Galileo.".
Charles Babbage in Turin (3/3)
- C. Randone - 31
A.E.
32. • The ties of Charles Babbage with the Kingdom of Sardinia remained tight. In 1864 he
dedicated his autobiography ("Passages from the life of a philosofer", 1862) to Vittorio
Emanuele II, King of Italy.
• On the title page of the book the author recalls his Italian honor of Commendatore
dell'Ordine Italiano di San Maurizio e San Lazzaro: in the first page, in evidence, there is
the dedication of the book to Vittorio Emanuele II, son of Carlo Alberto:
"Sire,
in dedicating this volume to your Majesty, I am also doing an act of justice to the
memory of your illustrious father.
In 1840, the king, Charles Albert, invited the learned of Italy to assemble in his capital.
At the request of her most gifted Analyst, I brought with me the drawings and
explanations of the Analytical Engine. these were thoroughly examined and their truth
acknowledged by Italy's choicest sons.
To the King, your father, I am indebted for the first public and official acknowledgment
of this invention.
I am happy in thus expressing my deep sense of that obligation to his son, the Sovereign
of united Italy, the country of Archimedes and of Galileo.".
Charles Babbage in Turin (3/3)
- C. Randone - 32
A.E.
33. Analytical Engine – Timeline of the main "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. 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. Analytical Engine – Two levels of control
- C. Randone - 35
Babbage identifies at least two different "levels of control" for his Analytical Engine:
• A higher level (we would say "user level") supported by a "programming" with punch
cards
• A more technical level ("inside" the machine), supported by the so-called "barrel" with
the encoding (today we would say in terms of "microprograms") of the fundamental
operations (e.g.: addition, subtraction, multiplication and division)
A.E.
36. Analytical Engine – The punched cards
- C. Randone - 36
For the I/O and the "programming" of the Analytical Engine, Babbage considered using
the "punch cards", reusing the basic idea adopted in the Jacquard looms (invented in the
early nineteenth century by Joseph Marie Jacquard) for the creation of complex patterns.
A.E.
37. Analytical Engine – The punched cards
- C. Randone - 37
For the I/O and the "programming" of the Analytical Engine, Babbage considered using
the "punch cards", reusing the basic idea adopted in the Jacquard looms (invented in the
early nineteenth century by Joseph Marie Jacquard) for the creation of complex patterns.
A.E.
38. In Babbage drawings three types of cards are represented:
• the Number Cards, used to enter in the Analytical Engine the initial data for the
calculations, designated as Primitive Data; the A.E. can also "write" the cards with the
results
• the Operation Cards, each of which commands the execution of an arithmetic
operation; "Combinatorial Cards" are also expected, to support jumps and loops
• the Variable Cards, indicating the address of the memory registers (called "Columns"),
where - for each operation - the arguments are picked and the results are store.
The set of a Operation Card and associated Variable Card, conceptually corresponds to an
"instruction" of today's computers, as well as the sequence of instructions corresponds to
our "programs".
Analytical Engine – "Cards" (1/2)
- C. Randone - 38
A.E.
39. Analytical Engine – "Cards" (2/2)
- C. Randone - 39
Some "cards" for the Analytical Engine
A.E.
41. Punched tapes, years 1950-1970
- C. Randone - 41
The cards that Babbage had in mind for his Analytical Engine were "linked" to each other
(in the style of the Jacquard loom cards), making this type of storage medium maybe
more like a "punched tape" that of punched cards such as those outlined in the previous
slide.
A.E.
42. Analytical Engine – The "microprograms"
- C. Randone - 42
Scheme for the Analytical Engine "microprogramming", from "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 – Barrel control mechanism ("microprogramming")
- C. Randone - 43
A microprogram word is
represented by a vertical row of
studs screwed to the barrel.
These act on the ends of the
control levers when the barrel
moves sideways. The “reducing
sectors” of one, two, and four
teeth advance the barrel over the
corresponding number of
verticals, and several may act in
combination at one time. In the
figure, reducing sector 1 is put
into gear directly by order of the
barrel via control lever a.
Reducing sector ‘1 is put into gear by a “running up” from the carry apparatus if enabled to do
so by the barrel and lever b, The effect is a conditional transfer. A “conditional arm” is sensed
by control lever c to provide an action conditional on a previous event.
A.E.
44. Analytical Engine – Block diagram
- 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
Note: A "modern" machine with architectural features similar to the Analytical Engine is the
electromechanical computer Automatic Sequence Controlled Calculator (ASCC) of Howard
Aiken (also known as IBM-Harvard Mark 1), built in 1944. In designing the Mark 1, Aiken
(maybe…) was influenced by the works of Babbage.
A.E.
45. Analytical Engine – Block diagram
- 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
Note: A "modern" machine with architectural features similar to the Analytical Engine is the
electromechanical computer Automatic Sequence Controlled Calculator (ASCC) of Howard
Aiken (also known as IBM-Harvard Mark 1), built in 1944. In designing the Mark 1, Aiken
(maybe…) was influenced by the works of Babbage.
A.E.
46. Analytical Engine – Terminology…
- 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
It is possible to establish a significant correlation between the words that Babbage used
to describe his Analytical Engine and the modern computer terminology. Here are some
examples:
A.E.
47. A time line showing, on the right, the
major plans of the Analytical Engine
between 1833 and 1847 and, on the
left, a number of inventions of
mechanisms and algorithms that
influenced the development of the
plans.
Babbage’s word "plan" conveys two
meanings. First, these are drawings of
the physical arrangement of the axes
and other parts of the machine.
Second, distinctly, they also represent
the logical architecture of the
machine, a meaning that is
increasingly implied from 1835
onward.
Analytical Engine – Timeline
- C. Randone - 47
From "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. Analytical Engine – "Plan 28", 1842 (first arrangement)
- C. Randone - 48
"Plan 28" of the Analytical Engine (ref. "A.118 Figure 9"), dated 8 December 1842
A.E.
51. Analytical Engine – "Plan 28", 1843-1846
- C. Randone - 51
From "The Evolution of Babbage's Calculating Engines", A. G. Bromley, Annals of the History of Computing, Volume 9, Number 2, 1987
Plan 28 of the Analytical
Engine. This drawing has been
assembled from several
drawings of parts made
between 1843 and 1846.
The architecture of this plan is
substantially simpler than that
of earlier designs.
A.E.
52. Analytical Engine – 1871 part
- C. Randone - 52
A part of the "mill" of the Analytical Engine, under construction in 1871. Science
Museum, London
A.E.
53. Analytical Engine – 1910 part
- C. Randone - 53
Another embodiment of the Analytical Engine ("mill" and printing mechanism) made in
1910 by his son Henry Prevost Babbage. Science Museum, London
A.E.
54. Analytical Engine – A "fantasy" reconstruction
- C. Randone - 54
A hypothetical representation of the "Analytical Engine", as could appear if it had
been built in the second half of the '800 (drawing partly based on some elements of
the "Plan 25" and "Plan 28" for the Analytical Engine):
http://scientificillustration.tumblr.com/image/22977242992
A.E.
55. A synthetic comparison between the characteristics of the C. Babbage machines
- C. Randone - 55
Feature Difference Engine n. 1 Difference Engine n. 2 Analytical Engine
Development period 1822-1833 1847-1849 1834-1846 e 1856-1871
Total number of
parts
25.000
(of which about 12.000 for the
printer)
8.000
(of which about 4.000 for the printer)
The planned printer is the same
of the D.E. n. 2
Numeric system Decimal Decimal Decimal
Capacity and
precision
6 axes of 12 (or 16, or 18)
digits
8 axes of 31 digits >100 axes (to 1000) of 30 or 40
or 50 digits
Negative number
handling
Tens-complement Tens-complement Sign and magnitude for I/O,
tens-complement for the internal
representation
Carries management Sequential Sequential (optimized) Anticipating carriage
"Programming" Sequence of operations pre-
coded on cams
Sequence of operations pre-coded
on 14 pairs of cams
Microprogramming on "barrels"
and "user-level programming" on
punched cards
Realizations A (working) portion large about
a seventh of the complete
machine was assembled in
1832. On that date were
already built (but were never
assembled) more than 10,000
parts.
Babbage build only some
demonstration parts. Starting from
the drawings, the machine was built
in 1991 at the Science Museum in
London (the print mechanism in
2001). A second complete copy was
made for the Computer Museum in
Mountain View, California, in 2008.
A part (simplified) of the "mill"
was being built in 1871. Another
partial realization of calculation
and printing mechanism was
built in 1910 by Henry Prevost
Babbage, son of Charles.
Initiative http://plan28.org/.
A.E.
56. Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 56
Augusta Ada Byron, best known as Ada Lovelace, name
assumed after her marriage with William King, Earl of
Lovelace, was an English mathematician, known for his work
on the analytical engine designed by Charles Babbage.
Ada was the only legitimate child of the poet Lord Byron and
Anne Isabella Milbanke; Ada had no relationship with her
father, who died when she was only 9 years old.
Since young she was interested in the mathematical sciences, and in particular to the work
of Babbage (who met for the first time in 1833) on the Analytical Engine. Between 1842 and
1843 she translated an article by Italian mathematician Luigi Menabrea on the machine,
which increased with a collection of her notes. These studies contained what is now
considered the first computer program, which consists of a coded algorithm for the
calculation of Bernoulli numbers, so that Ada Lovelace is often remembered as the first
computer programmer in the world.
Ada Lovelace had predicted the ability of computers to go beyond the mere numerical
calculation, while others, including Babbage himself, focused only on the "numerical"
capabilities.
Ada
57. Ada Lovelace (10/12/1815 - 27/11/1852)
- C. Randone - 57
Augusta Ada Byron, best known as Ada Lovelace, name
assumed after her marriage with William King, Earl of
Lovelace, was an English mathematician, known for his work
on the analytical engine designed by Charles Babbage.
Ada was the only legitimate child of the poet Lord Byron and
Anne Isabella Milbanke; Ada had no relationship with her
father, who died when she was only 9 years old.
Since young she was interested in the mathematical sciences, and in particular to the work
of Babbage (who met for the first time in 1833) on the Analytical Engine. Between 1842 and
1843 she translated an article by Italian mathematician Luigi Menabrea on the machine,
which increased with a collection of her notes. These studies contained what is now
considered the first computer program, which consists of a coded algorithm for the
calculation of Bernoulli numbers, so that Ada Lovelace is often remembered as the first
computer programmer in the world.
Ada Lovelace had predicted the ability of computers to go beyond the mere numerical
calculation, while others, including Babbage himself, focused only on the "numerical"
capabilities.
From calculus
(numerical) …
… to computation
and symbols
manipulation
The "Lovelace Leap"
Ada
58. • The "program" for the Analytical Engine, written by Ada Lovelace ("Note G") (1843)
Ada Lovelace – "Program" for the Analytical Engine
- C. Randone - 58
Ada
59. • The "program" for the Analytical Engine, written by Ada Lovelace ("Note G") (1843)
Ada Lovelace – "Program" for the 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.")
From: "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. • In 1878, seven years after the death of C. Babbage, the committee of the British
Association for the Advancement of Science spoke out against the construction of the
Analytical Engine (http://www.fourmilab.ch/Babbage/baas.html) and this thwarted
hopes of Henry Prevost Babbage (son of Charles, 1824-1918) to have access to
government funding.
• Today, the "Plan 28" initiative (http://plan28.org/), by the programmer and writer John
Graham-Cumming, proposes to build a model (first simulated on s computer, and then
"physically built") of the Analytical Engine.
Analytical Engine – Initiative "Plan 28"
- C. Randone - 61
John Graham-Cumming
Now
62. Analytical Engine – Sydney Padua
- C. Randone - 62
Another hypothetical representation of the "Analytical Engine", as could appear if it had been built in the
second half of the 800 (drawing by Sydney Padua, based mainly on 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) is a graphic artist and animator,
and her animation work appears in several popular Hollywood
films.
She is the author of the book "The Thrilling Adventures of Lovelace
and Babbage" (http://sydneypadua.com/2dgoggles/the-book/);
the book opens with a brief graphic novel, absolutely rigorous from
a historical perspective, on the collaboration between Ada Lovelace
and Charles Babbage. But the book, always in the form of graphic
novels, offers also some totally imaginary adventures of Ada and
Babbage - and countless famous people of the time, from Queen
Victoria to Dickens, from Faraday to George Eliot - in a steampunk
universe where the analytical engine is instead actually took place.
What is striking is that every comic page has rich footnotes that
provide basic information to understand what and who the story
describes. And these footnotes have notes at the end of each
chapter, to learn more!
A "gallery" of videos made by Sydney Padua on the Babbage
machines (particularly on the Analytical Engine) are available from
the website:
https://www.youtube.com/user/sydpadua/videos
Now
64. The Analytical Engine in the science fiction
- C. Randone - 64
William Gibson and Bruce Sterling have been co-authors (1990), of a novel of the genre
known as steampunk (*) entitled "The Difference Engine" ("La macchina della realtà" in
the Italian edition). In this novel, set in London in 1855, it is exploring an alternative past
where the analytical engine has already been built and its reality, combined with that of
the Industrial Revolution will greatly influence the characters and scenes of the Victorian
era.
(*) see for example https://it.wikipedia.org/wiki/Steampunk and
http://www.steamfantasy.it/blog/2011/05/30/breve-introduzione-allo-steampunk/
Now
Covers of an Italian and
English edition of the
book by W. Gibson e B.
Sterling.
65. An interesting documentation…
- C. Randone - 65
"Ada Byron e la Macchina Analitica",
Giuseppe O. Longo, Corrado Bonfanti
Mondo Digitale n. 2, June 2008
http://archivio-
mondodigitale.aicanet.net/Rivista/08_numero
_2/Longo p. 35-45.pdf
and
http://nid.dimi.uniud.it/history/papers/longo_
bonfanti_08.pdf
In Italian see also:
M. G. Losano (a cura
di), Babbage.
La macchina analitica:
un secolo di calcolo
automatico,
Etas Kompass Libri,
Milano, 1973.
Docs
66. Other interesting (and recent...) documentation in Italian
- 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
Note: This text takes up and updates the volume:
"Babbage: la macchina analitica. Un
secolo di calcolo automatico" (Etas Kompass,
Milano 1973) already previously mentioned
Docs
67. Other interesting (and recent...) documentation in Italian
- 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
Digital books and documents published on the web
site of the Accademia delle Scienze di Torino:
http://www.accademiadellescienze.it/TecaRicerca
68. A monography on the machines of C. Babbage
- C. Randone - 68
In 2010, the IEEE has curated an interesting and comprehensive collection of articles on the
Babbage machines; this publication is an excellent starting point to explore the topic:
Docs
The collection contains among
others various articles by Allan
Bromley (1947-2002),
recognized scholar of the
Babbage machines.
69. Where to find some of the "best" technical descriptions of the "Analytical Engine" ?
- C. Randone - 69
In addition to the IEEE monography mentioned in the previous slide, according to Maurice Wilkes (1913-
2010) in his article "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.
This source is in addition to the aforementioned
"notes" by Ada Lovelace in "Sketch of the
Analytical Engine invented by Charles Babbage",
published for example 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. Some others links and books on Babbage and his machines
- C. Randone - 70
Site "The Analytical Engine", by John Walker:
http://www.fourmilab.ch/babbage/contents.html
Book "Charles Babbage and the Engines of Perfection":
http://www.amazon.com/Charles-Babbage-Engines-Perfection-Portraits/dp/0195089979
Book "Charles Babbage: Pioneer of the Computer"
http://www.amazon.com/Charles-Babbage-Computer-Anthony-Hyman/dp/0691083037
Docs
71. The "Charles Babbage Institute" (CBI)
- C. Randone - 71
The Charles Babbage Institute (CBI, http://www.cbi.umn.edu/) is a
research institute at the University of Minnesota, specialized in the
history of information technology, especially the history of digital
computers, languages and programming, and networks, since 1935.
The institute is named Charles Babbage, and is located at the Elmer L.
Andersen Hall at the University of Minnesota Libraries, in Minneapolis,
Minnesota.
"IEEE Annals of the History of Computing"
The "Annals of the History of Computing"
(http://www.computer.org/portal/web/computingnow/annals)
since 1979 is a publication specialized in the history of
technology for information processing. Since 1992 is within the
scope of the IEEE publications. In the figure, the special issue of
October to December 2000 with the important studies of Allan
Bromley (1947-2002) on the analytical engine.
Docs
Editor's Notes
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")