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 are roughly
2 * 2 * 1 m, and its weight is 640 kilos. In its basic form the 604 was used with a model 521 card punch/reader (9000 cards/hour) and a read-out panel. 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). In the period 1948-1958, about 5600 604 units were produced. You could rent the 604/521 installation for $645 (1948 dollars) per month. The machine was built in series production for the European market in IBM's Amsterdam factory.
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, its relays 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.

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 the table) 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. Up to 60 program steps could be wired on a single panel. For iterative procedures, a program could be made to include loops.
In a typical application, the machine was configured 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.
A different patching of 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.

IBM 604 processor maintenance; girl operating a Bull card punch [Volkskrant]

An IBM 604 was used at the Dutch Tax Authority, according to the 'Volkskrant' newspaper. In a page-long article in the 13.10.1956 issue, the machine is shown and discussed without any mention of its name and origin.

card before 604 processing [Volkskrant]

A person's income data were manually punched. The card was read by the 604 system, whereupon the results of the tax calculation were automatically punched into the last 12 columns of the same card, for further processing (printing, sorting) elsewhere. The system could handle 100 cards per minute. It seems that the cards were prepared on Bull equipment.


  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.
  4. C.J. Bashe e.o.: IBM's Early Computers. MIT Press 1986.
Thanks to Jeff Bowne and John Pratt for the following 604-related advertisements:
rev October, 2016