CS378W, History of Computing
Week 6, Weekly Report
Due 2004 Sep 30


The Z3 Relay Calculator
Bryant Tang
2004 Sep 30

The Z3 was one of the world's first general-purpose programmable binary computers. It can be considered the predecessor of today's computers, bearing an architecture that has a close resemblance to that of modern day machines. A German design that debuted in the 1940s, it was built primarily on electromagnetic relays, making it a significant part of the electrical revolution in the field of computing.

Konrad Zuse (1910-1995), a German mechanical engineer, came up with a proof of concept design in 1938 by which he was able to show that a system of relays could be used reliably for computing (5). Thus, he was able to obtain funding from the German Aerodynamics Research Institute to build what would eventually become the Z3 (5). The entire machine was to be built using electromagnetic relays "for reliability reasons" (3), using telephone relays for all of its components (5). Built in 1941, it would ultimately cost $6,500 to construct, though labor costs were minimal as most of the work was done by Zuse himself as well as contributions of labor from his co-workers (5).

The binary floating-point processing unit was capable of performing various complicated calculations, something Zuse was able to do by reducing all arithmetic operations to either addition or subtraction (4). The calculations possible were addition, subtraction, multiplication, division and finding the square root of a number (2). 600 relays were used in the construction of the processing unit (2). The Z3 employed a mechanical memory similar to that found in both the Z3's predecessors. It was capable of storing 64 words of 22 bits each, all of which were directly addressable via the instruction set (4). The machine also implemented a system clock by using an impulse generator with a drum that supplied power to the relay groups with a clock frequency of about 5.3 Hertz (4). Impressively enough, the current was lowered when the switches were about to be flipped, so as to minimize sparking of the relay contacts during the switching process and thus improve their longevity (4). The memory and control components were built using 1,800 of the relays (5).

The Z3's instruction set contained a total of nine instructions, which were used to read and write from memory, perform the various arithmetic functions and to perform input/output operations (4). However, it lacked a conditional branch as Zuse did not need the conditional branch for the scientific and numerical problems that he had designed the machine to handle (4). These instructions were not stored in the main memory alongside the data, for Zuse believed the 64-word memory to be sufficiently small enough such that devoting a portion of its storage capacity to instructions would reduce its computational power (3).

Unfortunately, the first Z3 was destroyed during Allied bombing raids in World War II (2), so no photos of the original specimen exist as all the documents and photographs were lost. However, due to the historical importance of the machine, a replica was rebuilt 20 years later to demonstrate its power and to justify his patents (3), which had previously been rejected by the German government (1).

Today, the Z3 stands out in history as one of the intermediate stages through which computers have evolved over the years. Though the original machine was a casualty of the war, it was one step closer to having electricity replace mechanical components. It has earned its place in the annals of computing.




Konrad Zuse with the rebuilt Z3 machine (3)




The original design of the Z3 (3)

Notes

1. Konrad Zuse, "Patentanmeldung Rechenvorrichtung," http://www.fh-jena.de/~kleine/history/machines/ZusePatentVersuch1941.pdf (Historic Documents in Computer Science, accessed 2004 Sep 29).

2. Konrad Zuse, "My first computer and first thoughts about data processing," http://ei.cs.vt.edu/~history/Zuse.html (The History of Computing, accessed 2004 Sep 29).

3. Horst Zuse, "Konrad Zuse's Z1 and Z3 Computers," http://www.epemag.com/zuse/part4a.htm (EPE Online, accessed 2004 Sep 29).

4. Horst Zuse, "Konrad Zuses Z3 in Detail," http://irb.cs.tu-berlin.de/~zuse/Konrad_Zuse/Z3-detail.htm (TU - Berlin, accessed 2004 Sep 29).

5. Paul E. Ceruzzi, "Relay Calculators," Chap. 6 in Computing Before Computers (Ames, IA: Iowa State University Press, 1990). Also available online at http://www.computerhistory.org/collections/DocumentArchive/Documents/Books/Computing Before Computers/CBC-Ch-06.pdf (Computer History Museum, accessed 2004 Sep 29).