In April, 1997, the Computer Museum has acquired its first (and only) electron tube-based machine, the IBM 604 Electronic Calculating Punch. In fact we have only the 604 arithmetic unit (the left cabinet in the photograph below), without the card reader/punch. The machine is in good, though not operational condition. Many tubes and some of the cover panels are missing.

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.

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: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.

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: