704 Data Processing System

IBM 704 Data Processing System

IBM 704 Data Processing System
Announced May 7, 1954 and withdrawn April 7, 1960.
The IBM 704 Data Processing System was a large-scale computer designed for engineering and scientific calculations. Its predecessor was the 701, and its sister computers were the 702 and 705 Data Processing Systems, designed primarily for commercial applications. All four types could be used for both scientific and commercial applications.

Characteristics of the 704 and of most data processing systems

All models in the IBM 700-series and the IBM 650 Data Processing System operated on the stored program principle and solved a problem or process data by following a set of instructions previously stored in the machine's "memory."

The principal advanced feature of the 704 was its high-speed magnetic core storage or memory. This replaced the electrostatic or cathode ray tube storage used in the earlier machine systems, the 701 and 702. An individual magnetic core was about the size of a pinhead and was shaped like a doughnut -- with a hole in the center. In a 704, thousands of cores were strung on a complex of wires in such a fashion that several wires passed through the center of each core. Combinations of electrical pulses on these wires altered the magnetic state of the tiny cores, and a line of cores, some altered, some unaltered, stood for a certain word or number. A word or number stored in the magnetic core memory in this fashion was available for calculation in 12 millionths of a second.

In addition to this high-speed memory, the 704 had a magnetic drum storage unit. The drum could be used for storage of parts of the program, intermediate results, rate tables, or other information. Finally, the tapes themselves acted as bulk storage, each holding up to 5 million characters.

The usual method of input to the system was magnetic tape, but entry could also be gained from punched cards through the card reader or from the operator's console, if special instructions were required. All information, whether part of the data to be processed or part of the program of instructions, started out on punched cards. Then, it either could be converted directly to magnetic tape before being read into the system, or it could be read directly.

At the start of each procedure, the program of instructions was read into the memory from tape or cards and was stored there for use with each record processed. Usually the records to be processed would already have been converted from punched cards to tape or would be on a tape that was the output of an earlier processing operation.

The results of the processing were either produced on a line printer, on a magnetic tape, or on punched cards. If the operator did not want to tie up the entire system while the relatively slow printing or punching was accomplished, he or she could produce an output tape, then connect a tape unit directly to the printer or card punch and print out or punch the results without using the principal components of the system.

The following are extracts from a January 1955 edition of the  Manual Of IBM Electronic Data Processing Machines.

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

The Type 704 Electronic Data Processing Machine is a large-scale electronic digital computer. Physically, it consists of several units all under the constant electronic control of the central unit. All operations of the Type 704 are controlled by a stored program of the single address type. The machine has a set of instructions which provides a maximum of flexibility with a minimum of programming effort.

The Type 704 can use a fixed point or a floating point type of arithmetic. For the first time in a quantity produced, large-scale computer, both of these modes of operation are completely automatic. They may be used interchangeably and either may be used whenever desired by the programmer.

Internally, the Type 704 utilizes the very efficient binary number system. Data fed into and results made available from the Type 704 may be in decimal, alphabetic, or special character code. Conversion between systems is programmed internally and does not interfere with the maximum reading, punching, and printing speeds.

Type 704 Electronic Analytical Control Unit

Features: The Electronic Analytical Control Unit contains the arithmetic components, the input and output control circuitry and the stored program control circuitry. Also mounted on this unit is the operator's panel.

The arithmetic section consists of the memory register, accumulator register and quotient register. Each register has a capacity of 35 bits and sign. The accumulator register also has two extra positions called the register overflow positions. Information can enter and leave the arithmetic section from Magnetic Core Storage, or manually from the operator's panel.

The control section decodes the stored program and directs the machine in automatically performing its instructions. Instructions can be entered into the control section through storage or manually from the operator's panel. The entire machine can be manually controlled from the operator's panel through various buttons, keys and switches. The operator can manually control the insertion of information into Magnetic Core Storage or the various registers. The contents of the various registers can also be displayed in neon lights for the operator to observe. The operator's panel is used primarily when beginning an operation on the 704 and when initially testing a program for a new operation.

Also included with the Analytical Control Unit are the Type 736 (Model 2) Power Frame #1, Type 741 (Model 2) Power Frame #2, and the Type 746 (Model 2) Power Distribution Unit. These three units supply the power for all machines in the 704 group except the 727-753 units.

Speed: The Type 704 multiplies or divides in 240 microseconds, or approximately 4,000 operations per second. The doubling of speed in arithmetic, plus the use of index commands, makes the Type 704 a very versatile and capable data processing machine.

Controls are included in the 704 for one 711, one 716, one 721, five 727's and one 753, one 733, and one 737.

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. Floating point addition or subtraction operations require 84 microseconds.

Index registers: Three special electronic registers 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 needed to perform the proper shifting and manipulation of a given sequence. This increases computing speed and decreases the time required in programming.

Logical operations: These commands facilitate the extraction and combination of small pieces of information within the Magnetic Core Storage. With such commands it is possible to perform processing and arithmetic efficiently on fields smaller or larger than ten decimal digits.