Home Page
Description of the IBM 704

"Major Features

1. Double Arithmetic Speed in Multiplication and Division
The Type 704 executes multiplication and division commands at double the speed of the present Type 701. The Type 701 performs the operations of multiplication or division in 456 microseconds, or approximately 2000 operations per second. The Type 704 multiplies or divides in 240 microseconds, or approximately 4000 operations per second. The doubling of speed in arithmetic, plus the use of index commands, more than doubles the effectiveness of the present Type 701.

2. Automatic Floating-Point Operation
The Type 704 is the first large-scale commercially available computer to employ fully automatic floating-point arithmetic commands. These commands enable the machine to record automatically and keep track of the size of all numbers during thousands of computing steps. At each step the most significant digits of any given number are always used in performing arithmetic. This ability is of tremendous importance in long sequential calculations which might typically involve millions of steps with numbers and their combined results varying from extremely small to unusually large numbers on any given step. Heretofore, this has been done by interpretive programs such as the IBM 701 SpeedCoding System.

The execution times for the various floating-point operations are:
a. Floating-Point Addition—84 microseconds*, or 11,000 per second.
b. Floating-Point Subtractions—84 microseconds*, or 11,000 per second.
c. Floating-Point Multiplication—204 microseconds, or 4,500 per second.
d. Floating-Point Division—216 microseconds, or 4,500 per second.
*In case the operands differ by 10 or less and normalization does not require more than 4 shifts.

This means floating-point addition can be accomplished in approximately 1/20 of the time and multiplication can be performed in approximately 1/7 of the time presently required on the Type 701.

3. Index Registers
Three special electronic registers have been added to the machine to facilitate the writing of programs. In normal practice many programs involve the repeated application of the same sequence of steps to data located in different parts of the memory. This requires writing programs to shift the sequence of steps so as to operate on the proper data at the proper time. Such manipulation of programs is done automatically in the Type 704 by reference to index registers which control the repeated application of a programmed routine. These registers increase the logical ability of the machine and, at the same time, provide for a reduction in the number of instructions now needed to perform the proper shifting and manipulation of a given sequence.

4. High-Speed Drum Switching and Transmission
Changes in switching techniques and equipment have been made on the Type 731 Magnetic Drum unit to provide more than a twelve fold speed increase in the transfer rate between magnetic drum and electrostatic storage. In the present Type 701 the magnetic drum is read at a rate of 800 words per second or the equivalent of 8000 digits per second. The Type 704 will read at 10,000 words per second or at the rate of 100,000 decimal digits per second. In addition to this, the initial access time has been reduced from an average of 50 milliseconds to an average of 12 milliseconds.

The addition of new commands enables the Type 704 to use the drum most effectively in table lookup operations. It is possible to consult tables stored on the drums without the necessity of bringing into the main memory any portion of the table other than that desired. The use of such high-speed table lockups is invaluable in many engineering and scientific applications.

5. New Logical Operations
The Type 701 has a total of 32 operations available to the programmer. In the Type 704 this number has been increased to 73. Among these new commands are:
a. Logical Multiplication to Accumulator.
b. Logical Multiplication to Memory.
c. Logical Addition to the Accumulator.
d. Logical Addition to the Memory.

These commands facilitate the extraction and combination of small pieces of information within the main memory . With such commands it is possible to perform processing and arithmetic efficiently on fields smaller or larger than 10 digits.

Another command, END AROUND CARRY ADD, has been added which will simplify the handling of the methods used in checking the flow of information among the various input/output units and the main memory. This will increase the overall checking ability to the machine with a simultaneous reduction in programming requirements.

Many additional transfer and test commands have been added to increase the logical power and flexibility of the machine, as well as to reduce the memory positions necessary to effect a given program." [Annals of the History of Computing, Vol.5  #2   April 1983]

Personal Reflections - Roger Mills:

One of the first operating systems developed for the IBM 704 was developed at North American Aviation (NAA). IBM developed a card-to-tape reader and a tape-to-printer output unit.  NAA developed programs to batch cards for input from tape and to batch output on tape for printing.  The computing groups from NAA, Rand, and Lockheed combined to generate various areas of computing for the IBM 704.  Rand developed the mathematical subroutines and Lockheed developed the matrix manipulation routines.  Previously, IBM would give a company a week or two to do their checkout on their computer in headquarters in New York  The company would get four hour blocks of time and waste a lot of computing time while the programmers tried to debug their programs before the four hours were up. NAA, Rand, and Lockheed all went back together and split up the blocks between the programmers.  This was a lot more efficient method for checkout.   I was one of four from NAA Computing Group to go back for checking out programs developed by NAA.  Since we took all of our outputs (mostly memory dumps) on a tape, it was important for the tape-to-printer unit to work.  One day that unit went down and we had 19 tapes of output that were useless until the contents were printed.  IBM put one of the NAA people in a limousine along with the 19 tapes and drove them to Armak to get the tapes printed.  Later in the week, DeCarlo asked me how things were going.  I told him that when IBM recognized that the peripheral equipment was just as important as the mainframe, it will be a great day.  His reply was, "We didn't think anybody would use it this way".  I have no idea how he expected it to be used.  IBM did make the equipment more robust and reliable.