Z3 (computer)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Zuse Z3 replica on display at Deutsches Museum in Munich

The Z3 was an electromechanical computer designed by Konrad Zuse. It was the world's first working programmable, fully automatic digital computer.[1] The Z3 was built with 2,000 relays, implementing a 22-bit word length that operated at a clock frequency of about 5–10 Hz.[2] Program code[3] and constant data were stored on punched film.

The Z3 was completed in Berlin in 1941. The German Aircraft Research Institute used it to perform statistical analyses of wing flutter.[4] Zuse asked the German government for funding to replace the relays with fully electronic switches, but funding was denied during World War II since such development was deemed "not war-important".[5] The original Z3 was destroyed in 1943 during an Allied bombardment of Berlin. The Z3 was originally called V3 (Versuchsmodell 3, i.e. Experimental Model 3) but was renamed to not be confused with Germany's V-weapons.[6] A fully functioning replica was built in the 1960s by Zuse's company, Zuse KG, and is on permanent display in the Deutsches Museum. The Z3 was demonstrated in 1998 to be, in principle, Turing-complete.[7][8]

Thanks to this machine and its predecessors, Konrad Zuse is often regarded as the inventor of the computer.[9][10][11][12][self-published source]

Design and development

Zuse designed the Z1 in 1935 to 1936 and built it from 1936 to 1938. The Z1 was wholly mechanical and only worked for a few minutes at a time at most. Helmut Schreyer advised Zuse to use a different technology. As a doctoral student at the Berlin Institute of Technology in 1937 he worked on the implementation of Boolean operations and (in today's terminology) flip-flops on the basis of vacuum tubes. In 1938 Schreyer demonstrated a circuit on this basis to a small audience, and explained his vision of an electronic computing machine – but since the largest operational electronic devices contained far fewer tubes this was considered practically infeasible.[13]

Zuse decided to implement the next design based on relays. The realization of the Z2 was helped financially by Dr. Kurt Pannke, who manufactured small calculating machines. The Z2 was completed in 1939 and presented to an audience of the Deutsche Versuchsanstalt für Luftfahrt ("German Laboratory for Aviation") in 1940 in Berlin-Adlershof. Zuse was lucky – this presentation was one of the few instances where the Z2 actually worked and could convince the DVL to partly finance the next design.[13]

Improving on the basic Z2 machine, he built the Z3 in 1941, which was a highly secret project of the German government.[14] Dr. Joseph Jennissen (1905–1977),[15] member of the "Research-Leadership" (Forschungsführung) in the Reich Air Ministry[16] acted as a government supervisor for orders of the ministry to Zuse's company ZUSE Apparatebau.[17] A further intermediary between Zuse and the Reich Air Ministry was the aerodynamicist Herbert A. Wagner.[18]

The Z3 was completed in 1941 and was faster and far more reliable than the Z1 and Z2. The Z3 floating-point arithmetic was improved over that of the Z1 in that it implemented exception handling. The exceptional values plus infinity, minus infinity and undefined could be generated and passed through operations. The Z3 stored its program on an external tape, thus no rewiring was necessary to change programs.

On 12 May 1941 the Z3 was presented to an audience of scientists including the professors Alfred Teichmann and Curt Schmieden[19] of the Deutsche Versuchsanstalt für Luftfahrt ("German Laboratory for Aviation") in Berlin,[20] today known as the German Aerospace Center in Cologne.

Zuse moved on to the Z4 design; this was built days before the war ended.

The Z3 as a universal Turing machine

It was possible to construct loops on the Z3, but there was no conditional branch instruction. Nevertheless, the Z3 was Turing-complete – how to implement a universal Turing machine on the Z3 was shown in 1998 by Raúl Rojas.[7][8] He proposes that the tape program would have to be long enough to execute every possible path through both sides of every branch. It would compute all possible answers, but the unneeded results would be canceled out (a kind of speculative execution). 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, 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.

Relation to other work

The success of Zuse's Z3 is often attributed to its use of the simple binary system.[21] This was invented roughly three centuries earlier by Gottfried Leibniz; Boole later used it to develop his Boolean algebra. In 1937, Claude Shannon introduced the idea of mapping Boolean algebra onto electronic relays in a seminal work on digital circuit design. Zuse however did not know Shannon's work and developed the groundwork independently[22] for his first computer Z1 which he designed and built from 1935 to 1938.

Zuse's coworker Helmut Schreyer built an electronic digital experimental model of a computer using 100 vacuum tubes[23] in 1942, but it was lost at the end of the war.

The Tommy Flowers-built Colossus (1943)[24] and the Atanasoff–Berry Computer (1942) used thermionic valves (vacuum tubes) and binary representation of numbers. Programming was by means of re-plugging patch panels and setting switches.

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

The Manchester Baby of 1948 and the EDSAC of 1949 were the world's first computers that stored program instructions and data in the same space. In this they implemented the stored-program concept which is frequently (but erroneously) attributed to a 1945 paper by John von Neumann and colleagues.[25][26] Von Neumann is said to have given due credit to Alan Turing,[27] and the concept had actually been mentioned earlier by Konrad Zuse himself, in a 1936 patent application (that was rejected).[28][29] Konrad Zuse himself remembered in his memoirs: "During the war it would have barely been possible to build efficient stored program devices anyway."[30] and Friedrich L. Bauer wrote: "His visionary ideas (live programs) which were only to be published years afterwards aimed at the right practical direction but were never implemented by him."[31]

Specifications

  • Average calculation speed: addition – 0.8 seconds, multiplication – 3 seconds[32]
  • Arithmetic unit: Binary floating point, 22 bit, add, subtract, multiply, divide, square root[32]
  • Data memory: 64 words with a length of 22 bits[32]
  • Program memory: Punched celluloid tape[32]
  • Input: Decimal floating point numbers[32]
  • Output: Decimal floating point numbers[32]
  • Input and Output was facilitated by a terminal, that had a special keyboard and a row of lamps to show results[13]
  • Elements: Around 2,000 relays (1,400 for the memory)[13]
  • Frequency: 5.3 Hertz[32]
  • Power consumption: Around 4,000 watts[32]
  • Weight: Around 1 tonne (2,200 lb)[32]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Crash! The Story of IT: Zuse at the Wayback Machine (archived March 18, 2008)
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Z3 Computer (1938-1941), http://www.computermuseum.li
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 Lua error in package.lua at line 80: module 'strict' not found.
  9. RTD Net: "From various sides Konrad Zuse was awarded with the title "Inventor of the computer"."[self-published source]
  10. GermanWay: "(...)German inventor of the computer"[self-published source]
  11. Monsters & Critics: "he(Zuse) built the world's first computer in Berlin"[self-published source]
  12. About.com: "Konrad Zuse earned the semiofficial title of "inventor of the modern computer""[self-published source]
  13. 13.0 13.1 13.2 13.3 Lua error in package.lua at line 80: module 'strict' not found.
  14. "New perspectives, computer concepts", June Jamrich Parsons, Dan Oja. Cengage Learning, 2007. ISBN 978-1-4239-0610-0, ISBN 978-1-4239-0610-0. Retrieved March 14, 2010.
  15. Alexander Kauther, Paul Wirtz: Der Einzelkämpfer Dorner. Grin Verlag Gmbh, 2013, ISBN 3-656-04860-6
  16. Helmut Maier: Forschung als Waffe, Wallstein Verlag, 2007, ISBN 3-8353-0109-8, p. 847
  17. 1977-compilation by Zuse of people in contact to his computers from 1935 to 1945
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Paul E. Ceruzzi, Reckoners: The Prehistory of The Digital Computer (Greenwood Press, 1983) chapter 2; available at [1]
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. "Helmut Schreyer" at the University of Berlin
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found. which cites Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
  30. Konrad Zuse: Der Computer – Mein Lebenswerk, Berlin, 5th edition, page 78. Original: "Während des Krieges wäre es freilich ohnehin kaum möglich gewesen, leistungsfähige Geräte mit Speicherprogrammen zu bauen."
  31. Anmerkungen zum John von Neumann Rechner by Horst Zuse; F.L. Bauer (original): "Seine erst Jahre später publizierten visionären Ideen (Lebendige Rechenpläne) zielten in die richtige praktische Richtung, wurden von ihm aber nie verwirklicht.
  32. 32.0 32.1 32.2 32.3 32.4 32.5 32.6 32.7 32.8 Lua error in package.lua at line 80: module 'strict' not found.

Further reading

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links