This article tells about Zuse's Z-3 and Z-4 programmable calculators
from the 1940's. They used RPN!
Enjoy this glimpse at The Way Things Were...
-Joe-
--------------------------------------------------------------------
1941 RPN Computer?
by Paul Ceruzzi (1651)
"PPC Calculator Journal" V7 N3 P25 (April 1980)
With the increased use of Hewlett-Packard calculators that use the
RPN system of performing arithmetic, there has been a corresponding
increase in tracing the history of this notation. John Ball has
mentioned several old calculators that used RPN before HP came along
(in his book "Algorithms for RPN Calculators"), while John Kennedy
gave a short address on the history of the notation itself at the
recent Western Calculator Conference.
On the basis of a recent visit to several museums and libraries in
Germany, I have found evidence for what I believe was the first true
application of RPN for number-manipulation. This implementation also
turns out to have been on the first, fully-functional,
program-controlled computer in the world -- the Zuse Z-3 computer,
built by Konrad Zuse in 1941!
Very little information about Zuse and his work is available to
English-speaking readers, but there is a good section about him in
Brian Randell's book, "The Origins of Digital Computers -- Selected
Papers" (NY, 1975, Chapter 4). In this chapter there are several
translations of papers by Zuse and his co-workers concerning early
German computer activity.
The Z-3 computer was a relay device which in many ways resembles a
modern PPC. It received numbers in decimal form, from a keyboard,
and displayed answers in floating-point decimal form by lamps on a
display panel. All internal arithmetic was done in pure binary form,
with a word length of 22 bits. Decimal accuracy was about 4 places,
with a range of D+/-12. One multiplication took about 5 seconds.
Programs were fed into the machine by means of holes punched in
ordinary discarded movie film. The interesting aspect of the
programming of the Z-3 was that this code was very similar to that
of, say, an HP-25. To perform an operation on two numbers, commands
would first be given to recall the numbers from appropriate
locations in the memory, followed by the command for the operation.
Numbers were automatically positioned in registers in the Arithmetic
Unit of the machine so that operations like division and subtraction
would proceed in the right order. Results were left in a register in
the AU so that long sequences of operations could be carried out.
Thus, the Z-3 used a version of RPN that was nearly identical to
that used by HP! I have obtained copies of early programs that Zuse
had written for the evaluation of a 5 x 5 determinant, and it is
possible to run these programs on an HP-41C with almost no
modification whatsoever (once the numbers have been placed in the
storage registers beforehand).
The AU of the Z-3 contained 3 registers, although Zuse never
referred to them as a stack, of course. These registers were
labelled "f", "a", and "b". All entrance and exit to and from the AU
was through the "f" register. This is sort of like the display
register of the 41C, which is distinct from the stack. Arithmetic
operations were performed on numbers in the a and b registers, so
these may be thought of as corresponding to the x and y registers of
HP's. Unlike modern computer practice, the actual numbers themselves
were moved around the registers, not just a pointer.
As I mentioned, the Z-3 was completed in 1941, but was destroyed
later during the war. Zuse built an expanded version of the same
calculator, which he called the Z-4. This machine also had a similar
architecture, and was eventually installed at the Federal
Polytechnic School in Zurich, where it functioned reliably for many
years. Many of the earliest references to RPN in the computer
literature came from European researchers, like Rutishauser, whose
first exposure to computers was the Z-4. Thus it is entirely
plausible that Zuse deserves credit for introducing this process
into machine calculation.
Paul Seruzzi (1651)