The computing machine Z3, built by Konrad Zuse between 1938 and 1941, could execute only fixed sequences of floating point arithmetical operations (addition, subtraction, multiplication, division, and square root) coded in a punched tape. An interesting question to ask, from the viewpoint of the history of computing, is whether or not these operations are sufficient for universal computation. The paper shows that, in fact, a single program loop containing these arithmetical instructions can simulate any Turing machine whose tape is of a given finite size. This is done by simulating conditional branching and indirect addressing by purely arithmetical means. Zuse's Z3 is therefore, at least in principle, as universal as today's computers that have a bounded addressing space. A side effect of this result is that the size of the program stored on punched tape increases enormously.
[1]
Raúl Rojas,et al.
Konrad Zuse's Legacy: The Architecture of the Z1 and Z3
,
1997,
IEEE Ann. Hist. Comput..
[2]
R. Peter,et al.
Recursive Functions in Computer Theory
,
1982
.
[3]
David Harel,et al.
On folk theorems
,
1980,
CACM.
[4]
Oscar H. Ibarra,et al.
On the Control Power of Integer Division
,
1983,
Theor. Comput. Sci..
[5]
Raúl Rojas,et al.
Die Rechenmaschinen von Konrad Zuse
,
1998
.
[6]
Ra Ul Rojas,et al.
Conditional Branching Is Not Necessary for Universal Computation in Von Neumann Computers
,
1996
.