The IBM 604 Electronic Calculating Punch

In April, 1997, the Computer Museum has acquired its first (and only) electron tube-based digital machine, the IBM 604 Electronic Calculating Punch. In fact we have only the 604 arithmetic unit (the larger cabinet in the picture to the left), without the card reader/punch. The machine is not in operational condition. Many tubes and some of the cover panels are missing (colour picture, showing the power supply compartment and one of the hinged backplanes).
ibm 604  ibm 604
The 604 electronic calculator, introduced in 1948, was designed primarily for card-processing related calculations. In [2] it is described as 'a miniature electronic calculator'. However its dimensions were roughly 2 * 2 * 1 m, and its weight was 640 kilos. In its basic form the 604 was used with a 9000 cards/hour punch/reader (type 521?) and a read-out panel (no details available). To make it useful for technical calculations, the machine was combined with a 402 or 417 electronic accounting machine for printing and one to three type 941 auxiliary memory units; this combination was successfully sold as the CPC (Card-Programmed Electronic Calculator): by the end of 1955, 2500 units were produced. The price must have been close to one million of today's dollars.
604 tubes
The 604 clock rate was 50.000 pulses per second (or 50 Khz as it would be stated today). Both the 402-417 and 941 were electromechanical machines, using relais and counter wheels using 400 ms time per operation, against 0.5 ms for the 604! Downtime (including preventive maintainance) was 10 to 15 percent. Most of the 1400 tubes were miniature 6J6 double-triodes which were reportedly a major source of trouble. The machine was built in series production in the Amsterdam factory of IBM during the 50's.

Basic 604 instruction set:
  • storage read in
  • storage read out
  • multiplier quotient read in
  • multiplier quotient read out
  • counter read in plus
  • counter read in minus
  • counter read out and reset
  • multiply plus
  • multiply minus
  • divide
  • one-half adjust
  • zero test for step suppression
  • column shift
  • sign test for step suppression
  • group suppress
  • program repeat
The 604 arithmetic unit contained about 1400 electron tubes, used to implement memory (37 decimal digits), an counter/accumulator of 13 (decimal) positions, and control circuits. The basic operations (listed in Table 1) could be used under control of a hard-wired program provided by the user. The connections were made by hand on a pluggable patch panel. Maximal 60 program steps could be wired on a single panel. For iterative procedures, a program could be made to include loops.
panel patchboard
A properly wired patch panel made the machine suitable for a specific set of tasks, the details of which (and the input data) were supplied via the card reader. In a typical application, the panel was wired to accept 7 fixed-point numbers of 5 decimal digits at a time, leaving one storage register free for the result of a calculation, either addition, substraction, multiplication, division or square-rooting. Set up otherwise, the control panel would allow floating-point operations (using 10 digits for each number). On the extended version of the 604, the CPC, really complex problems could be solved, like finding the roots of a seventh degree complex polynomial.

References:

  1. H.H. Goldstine: The computer from Pascal to Von Neumann. Princeton University Press 1972, 1993
  2. P.T. Nims: The IBM type 604 electronic calculating punch as a miniature card-programmed electronic calculator. Proc Computation Seminar August 1951 (IBM,1951) pp 37-47.
  3. J.W. Sheldon and L. Tatum: The IBM card- programmed electronic calculator. Rev of Electronic Digital Computers, Joint AIEE-IRE Computer Conf. 1952, pp 30-36.
Thanks to Jeff Bowne and John Pratt for the following 604-related advertisements:

CM_homepage