The IBM 704 Data Processing System was, in its most general sense, a computer. It was first announced to the public on May 4, 1957 and ceased to be available for purchase (or the more common rental) on April 7, 1960. As its name indicates, it was designed, produced and sold by the International Business Machines Corporation, of Armonk, NY.

IBM made (and continues to make) a wide array of computers, but a few things make the 704 noteworthy for its place in computing history. It was not the first machine in its series; it was preceded by the 701. It was not the only offering; the 702 and 705 were offered for sale at the same time, with differing emphases - the 704 was pitched as a scientific and engineering computer, whereas the 702 and 705 were deemed to be more appropriate for commercial use. It did, however, offer us a few features new in the history of commercially available computers which would become standards later on.

For one thing, it was the first machine sold to use magnetic core memory. Its predecessors, the 701 and 702, used cathode tube based systems to retain data; this was bulky, slow and power-hungry. The iron core memory systems in the 704 were touted as being able to perform reads in a machine cycle time of 12 microseconds. This allowed the 704 to perform a staggering (for the time) 4,166-plus operations per second of full multiplication or division (20 cycles per multiply = 240 microseconds per operation, or 4166.166...). Simpler operations such as addition could be performed in as little as 2 cycles, for up to approximately 40,000 operations per second.

Initially, the 704 shipped with units holding 4K 'words' of memory - a 'word' being 36 bits. The 704 used the BCD internal character code (Binary Coded Decimal, a precursor to EBCDIC) which was a 6-bit representation - with 6-character words leading to 36 bits. Later models held 32K of core memory per unit.

In addition, unlike the 701, it used floating point mathematics internally - no programmatic actions were required to utilize floating point operations. The machine was able to switch between fixed and floating point math automatically, a first for IBM's computers. This made programming much easier, as well as allowing more complex operations to be coded in less space.

Along the lines of reducing space, the 704 incorporated three index registers into its design. Rather than requiring repeated loading of repetitive program steps, more complex program control became possible - subroutines and loops allowed for more efficient use of memory and reduced the need to load program steps from slower media (punchcards, magnetic tape or drum). This improved performance all out of proportion to the actual speed increase of the central computing unit's speed boosts.

The 704, as was typical, consisted of a central processor - called the 'central analytic unit' - housed in a cabinet and designated the model 704. Along with this, it required a number of other modules, usually also cabinet-sized, to perform useful work. Some of those other modules included the following:

Model #    Type
704       Electronic Analytical Control Unit
711       Punched Card Reader
716       Alphabetic Printer
721       Punched Card Recorder
727       Magnetic Tape Unit
753       Tape Control Unit
733       Magnetic Drum Reader and Recorder
737       Magnetic Core Storage Unit
740       Cathode Ray Tube Output Recorder

Some of these modules set standards of their own. The 727 drives began to drive the acceptance of 1/2-inch, 7-track magnetic tape as 'industry standard' - this would hold until 9-track overtook it. Note that the 740 'Cathode Ray Tube Output Recorder' was not a monitor in the sense we're used to - it was more akin to the X-Y monitors used by early arcade machines, with coordinates plotted by the computer. It had two tubes - a 21-inch tube for operator viewing, and a 7-inch tube which mirrored that output and had a mounting for a (customer-supplied) film camera to capture its output at programmed moments for later perusal.

Program and data input into the 704 was most often done initially by punched card. Once a program or dataset was verified to be functional or correct, it was saved to magtape for later use.

The 704 was, as mentioned above, typically rented rather than sold. This is because they were hideously expensive machines. Precisely how expensive is difficult to determine, for several reasons. For one thing, contracts for their sale or rental were negotiated individually per corporate or institutional customer. For another, the price would vary widely depending on the configuration; while a computation-heavy installation might be able to get by with two or four tape drives, a data-intensive one might want ten or more. Each of these units carried its own price tag. One source, however, mentions that a typical 704 installation rental agreement, prior to the machine's shipment, was to come in for 'under $50,000 per month' (Grolsch, Ch. 17) - and note, these would have been 1957 dollars!

Note: The indefatiguable Gorgonzola located a treasure trove of data on the IBM 704 systems produced and sold, from a study done by the Ballistic Research Laboratories at the U.S. Army's Aberdeen Proving Grounds. It can be found at: ...and contains mind-numbing detail on everything from the power requirements, floor loading and cooling installations in the facilities built around the country to house these machines to the prices paid for rental of each component by each customer.


  • The IBM 704 operators manual, at
  • Herbert R. J. Grolsch, Computer: Bit Slices From a Life. 1991, 2003 @