Z3 computer
|
Konrad Zuse's Z3 computer was the first working freely programmable, fully automatic machine, which attributes have often been the exact ones used as criteria in defining a computer.
The Z3 was built with 2,200 relays, had a clock frequency of ~5–10 Hz, and a word length of 22 bits. Calculations on the computer were performed in full binary floating point arithmetic. The machine was completed in 1941 (on May 12 that year, it was successfully presented to an audience of scientists in Berlin). 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
The Z3 in the context of previous and later designs
- 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. Nevertheless, Zuse was the one who put it all together and made it work on the program-controlled Z3.
- The first design of a program-controlled computer was due to Charles Babbage in the mid 1800s. This design, however, could not be realized back then, presumably because it was decimal and therefore rather complicated, not binary and simple like the Z3. (In 1991, however, working from Babbage's original plans, a reconstruction of his Difference Engine was completed, and functioned well.) And if Babbage's friend Ada Lovelace was the first theoretical programmer, writing programs for a machine that did not exist, then Zuse was the first practical programmer.
- The ENIAC was completed 4 years after the Z3. ENIAC used vacuum tubes to implement switches, Z3 used relays. ENIAC was still decimal, Z3 was already 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; their basic architecture, however, is much more similar to Z3's than to ENIAC's.
- 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 straight-forward 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. It is an awkward way, but the Turing machine itself is an awkward device, designed to be simple and universal, not efficient.
- 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—and that in many pioneering ways it was quite similar to modern computers.
See also
External links
- Z3 page at the Technical University of Berlin (http://irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/en/Rechner_Z3.html)
- Was Zuse's Z3 the First Programmable Computer? (http://slashdot.org/articles/04/06/07/1748206.shtml?tid=126&tid=137) – Slashdot item, 7 June 2004, with several links and commentsid:Z3