Z3 (computer)

From Wikipedia, the free encyclopedia

Zuse Z3 replica on display at Deutsches Museum in Munich
Zuse Z3 replica on display at Deutsches Museum in Munich

Konrad Zuse's Z3 was the first working programmable, fully automatic computing 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. (A request for funding for an electronic successor was denied as "strategically unimportant".) It 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. Z3 read programs off a punched film).

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 Laboratory for Aviation), in Berlin.[2] The original Z3 was destroyed in 1943 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. The Z3 was used by the Nazi government's German Aircraft Research Institute to perform statistical analyses of wing flutter in aircraft design[3].

Contents

[edit] 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.

Britain's 10 codebreaking Colossus computers[4] were the first electronic digital computers. They used thermionic valves (vacuum tubes) and binary representation of numbers. Programming was by means of re-plugging patch panels and setting switches. This development was kept secret for many decades which led to claims of "firsts" in computing that later turned out to be incorrect.

The ENIAC was completed after the war. It used thermionic valves (vacuum tubes) to implement switches, and decimal representation for numbers. Until 1948 programming was, as for Colossus, by patch leads and switches.

The Z3 stored its program on an external tape, thus for reprogramming no rewriring was necessary.

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.


Defining characteristics of some early digital computers of the 1940s (See History of computing hardware)
Name First operational Numeral system Computing mechanism Programming Turing complete
Zuse Z3 (Germany) May 1941 Binary Electro-mechanical Program-controlled by punched film stock Yes (1998)
Atanasoff–Berry Computer (USA) Summer 1941 Binary Electronic Not programmable—single purpose No
Colossus (UK) December 1943 Binary Electronic Program-controlled by patch cables and switches No
Harvard Mark I – IBM ASCC (USA) 1944 Decimal Electro-mechanical Program-controlled by 24-channel punched paper tape (but no conditional branch) Yes (1998)
ENIAC (USA) November 1945 Decimal Electronic Program-controlled by patch cables and switches Yes
Manchester Small-Scale Experimental Machine (UK) June 1948 Binary Electronic Stored-program in Williams cathode ray tube memory Yes
Modified ENIAC (USA) September 1948 Decimal Electronic Program-controlled by patch cables and switches plus a primitive read-only stored programming mechanism using the Function Tables as program ROM Yes
EDSAC (UK) May 1949 Binary Electronic Stored-program in mercury delay line memory Yes
Manchester Mark I (UK) October 1949 Binary Electronic Williams cathode ray tube memory and magnetic drum memory Yes
CSIRAC (Australia) November 1949 Binary Electronic Stored-program in mercury delay line memory Yes


[edit] 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. Nevertheless, there is a way of implementing a universal Turing machine on a Z3, as was shown in 1998.[5][6] Rojas concludes, "We can therefore say that, from an abstract theoretical perspective, the computing model of the Z3 is equivalent to the computing model of today's computers. From a practical perspective, and in the way the Z3 was really programmed, it was not equivalent to modern computers."

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.

[edit] See also

[edit] Notes and references

  1. ^ Zuse, Konrad (1993). Der Computer ? Mein Lebenswerk, 3rd ed. (in German), Berlin: Springer-Verlag, p. 55. ISBN 3-540-56292-3. 
  2. ^ Technische Universität Berlin - Rechenhilfe für Ingenieure, Essay on Zuse (in German) - Technical University of Berlin
  3. ^ Zuse
  4. ^ B. Jack Copeland (editor), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, 2006, Oxford University Press, ISBN 0-19-284055-X.
  5. ^ Rojas, R. (1998). "How to make Zuse's Z3 a universal computer". IEEE Annals of the History of Computing 20: pp. 51-54. 
  6. ^ How to Make Zuse's Z3 a Universal Computer by Raúl Rojas

[edit] External links