Konrad Zuse's 'Z3' was the first working
programmable, fully
automatic machine, whose attributes, with the addition of conditional branching, have often been the ones used as criteria in defining a
computer. The Z3 was built with 2,000
relays, had a
clock frequency of ~5–10
Hz, and a
word length of 22
bits.
[1] Calculations on the computer were performed in full
binary floating point arithmetic.
The machine was completed in
1941. On
May 12 1941 it was successfully presented to an audience of scientists
of the DVL (Deutsche Versuchsanstalt für Luftfahrt, i.e. German Experimentation-Institution for Aviation), in
Berlin.
[2] The original Z3 was destroyed in 1944 during an Allied bombardment of Berlin. A fully functioning replica was built in the
1960s by the originator's company
Zuse KG and is on permanent display in the
Deutsches Museum. In 1998 the Z3 was proven to be
Turing-complete.
How the Z3 relates to other work
Unlike the first ''non''-programmable computer built by
Wilhelm Schickard in
1623, the Z3 of 1941 was program-controlled.
The success of Zuse's Z3 is often attributed to its use of the simple binary system. This was invented roughly three centuries earlier by
Gottfried Leibniz;
Boole later used it to develop his
Boolean algebra. In
1937,
Claude Shannon of
MIT introduced the idea of mapping Boolean algebra onto electronic relays in a seminal work on
digital circuit design (see also
Z1). Nevertheless, Zuse (who did not know Shannon's work) was the one who put the ideas together and made it work on the program-controlled Z3.
The first ''design'' of a program-controlled computer was
Charles Babbage's
Analytical Engine in the 1830s.
The
ENIAC was completed 5 years after the Z3. ENIAC used
vacuum tubes to implement switches, Z3 used
relays
(a request for funding for an electronic successor was denied as "strategically unimportant"). ENIAC was decimal, Z3 was binary. Until
1948, to program ENIAC actually meant to rewire it; while the Z3 read programs off a tape (actually a punched
film). Today's computers are based on
transistors instead of tubes or relays.
Z3 needed an ''external'' tape to store its program. The
Manchester Baby of 1948 and the
EDSAC of 1949 were the world's first computers with ''internally''
stored programs, implementing a concept frequently attributed to a
1945 paper of
John von Neumann and colleagues. A patent application of Konrad Zuse, however, mentioned this concept almost a decade earlier in
1936, although the patent was rejected.
Relation to the concept of a universal Turing machine
It was possible to construct loops on the Z3, but there was no conditional jump instruction (although it would have been rather straightforward to insert one). Nevertheless, there is a way of implementing a universal
Turing machine on a Z3 (assuming unlimited storage and zero crashing probability), as was shown in 1998.
[3]
From a pragmatic point of view, however, it is much more relevant that the Z3 provided a quite ''practical''
instruction set for the typical engineering applications of the 1940s—Zuse was a
civil engineer who only started to build his computers to facilitate his work in his main profession.
See also
★
Manchester Mark I
★
Manchester Mark II
★
IBM SSEC
Notes and references
1.
2. Technische Universität Berlin - Rechenhilfe für Ingenieure, Essay on Zuse (in German) - Technical University of Berlin
3. How to make Zuse's Z3 a universal computer, , R., Rojas, IEEE Annals of the History of Computing, 1998
External links
★
Z3 page at the Technical University of Berlin
★
''Was Zuse's Z3 the First Programmable Computer?'' – Slashdot item,
7 June 2004, with several links and comments
★
The Life and Work of Konrad Zuse
★
Konrad Zuse?s Legacy: The Architecture of the Z1 and Z3 (PDF)
★
How to Make Zuse's Z3 a Universal Computer Raúl Rojas
★
The Zuse Computers Raúl Rojas