Hardware Reference
In-Depth Information
the speedometer, designed and built his difference engine . This mechanical de-
vice, which like Pascal's could only add and subtract, was designed to compute
tables of numbers useful for naval navigation. The entire construction of the ma-
chine was designed to run a single algorithm, the method of finite differences using
polynomials. The most interesting feature of the difference engine was its output
method: it punched its results into a copper engraver's plate with a steel die, thus
foreshadowing later write-once media such as punched cards and CD-ROMs.
Although the difference engine worked reasonably well, Babbage quickly got
bored with a machine that could run only one algorithm. He began to spend in-
creasingly large amounts of his time and family fortune (not to mention 17,000
pounds of the government's money) on the design and construction of a successor
called the analytical engine . The analytical engine had four components: the store
(memory), the mill (computation unit), the input section (punched-card reader),
and the output section (punched and printed output). The store consisted of 1000
words of 50 decimal digits, each used to hold variables and results. The mill could
accept operands from the store, then add, subtract, multiply, or divide them, and fi-
nally return the result to the store. Like the difference engine, it was entirely me-
chanical.
The great advance of the analytical engine was that it was general purpose. It
read instructions from punched cards and carried them out. Some instructions
commanded the machine to fetch two numbers from the store, bring them to the
mill, be operated on (e.g., added), and have the result sent back to the store. Other
instructions could test a number and conditionally branch depending on whether it
was positive or negative. By punching a different program on the input cards, it
was possible to have the analytical engine perform different computations, some-
thing not true of the difference engine.
Since the analytical engine was programmable in a simple assembly language,
it needed software. To produce this software, Babbage hired a young woman
named Augusta Ada Lovelace, who was the daughter of famed British poet Lord
Byron. Ada Lovelace was thus the world's first computer programmer. The pro-
gramming language Ada is named in her honor.
Unfortunately, like many modern designers, Babbage never quite got the hard-
ware debugged. The problem was that he needed thousands upon thousands of
cogs and wheels and gears produced to a degree of precision that nineteenth-cen-
tury technology was unable to provide. Nevertheless, his ideas were far ahead of
his time, and even today most modern computers have a structure very similar to
the analytical engine, so it
is certainly fair
to say that Babbage was the
(grand)father of the modern digital computer.
The next major development occurred in the late 1930s, when a German engin-
eering student named Konrad Zuse built a series of automatic calculating machines
using electromagnetic relays. He was unable to get government funding after
WWII began because government bureaucrats expected to win the war so quickly
that the new machine would not be ready until after it was over. Zuse was unaware
 
Search WWH ::




Custom Search