Who Invented the Digital Computer?
Monday, August 06, 2007 - Dr. Boaz Tamir
Home >> Book Review >> Dr. Boaz Tamir
In the machine's design, Babbage used a method of differences. For example, to compute f(x)= 2x2 +3x +1 for any x, it is enough to compute the value of the function for some low x's like f(1), f(2), f(3) and f(4), the differences between those values: f(2)-f(1), f(3)-f(2), f(4)-f(3), and the differences of the differences: (f(3)-f(2))-(f(2)- f(1)) and (f(4)-f(3))- (f(3)-f(2)). In this way, it is possible to compute the value of the function at any high x. To compute f(15), the machine works through 15 cycles, at each cycle only adding 'differences'. The machine is activated by a crank, the operator rotating a handle the necessary amount of times (in this example, 15 times). In the spirit of his time, Babbage thought of using a steam engine to work the crank and handle, so to make the operation of the machine easier.
In order to help clarify this principle, we bring the following table for our function
f(x)= 2x2 +3x +1 :
The machine has three cogwheels. The operator places the left wheel at state 6, the middle wheel at state 9 and the right wheel at state 4 (this corresponds to the upper diagonal in the table above). At the first half cycle, a clutch (like the one in your car) joins the left and middle wheels. The machine turns the middle wheel to zero position, that is, 9 steps clockwise, moving the left wheel 9 steps counterclockwise - bringing the left wheel to state 15. At this point, the clutch is drawn back and a spring returns the middle wheel back to its original position - state 9. At the next half cycle, the clutch joins the middle and right wheels. The machine turns the right wheel 4 steps clockwise, moving the middle wheel 4 steps counterclockwise to position 13. A spring now returns the right wheel to its original position - state 4. This completes a full cycle and brings each of the cogwheels to its next position (the second diagonal from the top).
Difference Engine, built from
Babbage's working drawings in 1991
In 1832, Babbage was a highly influential scientist in England, a well known professor at Cambridge, a member of Parliament, a member of the Royal Society (of sciences), and a famous figure in the world of economy. The next machine he was about to invent, the 'analytical engine', was an information- processing machine, which reflected his background in economy.
Babbage was thinking about the principle of 'division of labor', an economic term that had been in use since the time of Adam Smith (see the "Wealth of Nations", 1776). According to this principle, the most efficient way to manufacture a product is to divide the work between several workers, each specializing in a certain aspect of the process. The worst, least efficient way is to let each one of the workers do the whole job.
analytical engine built in 1871 by
Henry Babbage in honor of his father
Babbage learned about the project during a visit to France. But De Prony's information machine was not one of a kind. 19th century banks used 'Clearing Houses'. These were rooms to which agents from every branch of each bank in London would arrive in at the end of each day in order to balance checks and transfer money. Babbage was visiting one of these clearing houses just before he came up with the idea of the analytic engine. This gave him a strong sense that computation includes also manipulation of symbols.
In the analytic engine, the labor of computing is divided between several parts. There is the 'mill', where the machine actually calculates. Babbage used notions from the cotton industry. He was inspired by the automatic looming machines of his time, especially the Jacquard loom.
Another part in the analytical engine is the 'store' where numbers are stored, waiting to be used by the machine. A third part of the machine includes a drum. On top of the drum there is a roll of punched cards. The cards include codes of operations and codes for the places in the 'store' where the variables lie. Suppose now the first card includes a code of an operation, such as subtraction or multiplication, and the second card includes a code for the locations of the variables in the 'store'. Having read the first card, the machine tunes itself to the appropriate mode (subtraction or multiplication). After reading the second card, the machine looks for the correct place in the 'store'. Using the cogwheels, the machine reads numbers from the 'store' and multiplies (or subtracts) them. The next card tells the machine where to store the result. The 'mill' uses the cogwheels to write the result in the 'store'…
Looking at the machine from a distance, one could see the drum revolving and the 'mill' moving to and fro in front of the 'store'. When the computation was completed the result could be read from a certain point at the 'store'.
Babbage's analytical engine includes all the components of a modern computer. There is the memory- the 'store', the central processing unit- the 'mill', and the program or software- the punched cards. Babbage understood that one can use numbers as codes or as data. He spent two years figuring out this scheme of computations.
I would like to conclude with Menabrea's vision about the future role of the analytical engine, probably quoting Babbage:
"Again, who can foresee the consequences of such an invention? In truth, how many precious observations remain practically barren for the progress of the sciences, because there are not powers sufficient for computing the results! And what discouragement does the perspective of a long and arid computation cast into the mind of a man of genius, who demands time exclusively for meditation, and who beholds it snatched from him by the material routine of operations! Yet it is by the laborious rout of analysis that he must reach truth: but he cannot pursue this unless guided by numbers; for without numbers it is not given us to raise the veil which envelopes the mysteries of nature. Thus the idea of constructing an apparatus capable of aiding human weakness in such researches, is a conception which, being realized, would mark a glorious epoch in the history of the sciences."
Babbage never lost his interest in the machine, but became angry, bitter, and frustrated with the British government for what he called a loss of sight. Well, I guess he was right!
Digital computers were forgotten for about a hundred years, from the failure of Babbage's project to their resurrection in the 1940's. The difference engine, Charles Babbage and the quest to build the first computer, by Doron Swade, Penguin Group, 2000. Jacquard's web, How a hand loom led to the birth of the information age, by James Essinger, Oxford University Press, 2004.
The difference engine, Charles Babbage and the quest to build the first computer, by Doron Swade, Penguin Group, 2000.
Jacquard's web, How a hand loom led to the birth of the information age, by James Essinger, Oxford University Press, 2004.