IBM 704
The IBM 704 is the model name of a large
The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.
The 704 at that time was thus regarded as "pretty much the only computer that could handle complex math".
The 704 could execute up to 12,000 floating-point additions per second.[1] IBM produced 123 type 704 systems between 1955 and 1960.[4]
Landmarks
The programming languages
MUSIC, the first computer music program, was developed on the IBM 704 by Max Mathews.
In 1962, physicist
Edward O. Thorp, a math instructor at MIT, used the IBM 704 as a research tool to investigate the probabilities of winning while developing his blackjack gaming theory.[9][10] He used FORTRAN to formulate the equations of his research model.
The IBM 704 at the MIT Computation Center was used as the official tracker for the Smithsonian Astrophysical Observatory Operation Moonwatch in the fall of 1957. IBM provided four staff scientists to aid Smithsonian Astrophysical Observatory scientists and mathematicians in the calculation of satellite orbits: Dr. Giampiero Rossoni, Dr. John Greenstadt, Thomas Apple and Richard Hatch.
The IBM 704 was used for flight dynamics analyses of the NRL's Vanguard rockets. [11]
The
Registers
The IBM 704 had a 38-bit
Instruction and data formats
There are two instruction formats, referred to as "Type A" and "Type B".[14] Most instructions were of type B.
Type A instructions have, in sequence, a 3-bit prefix (instruction code), a 15-bit decrement field, a 3-bit tag field, and a 15-bit address field. There are conditional jump operations based on the values in the index registers specified in the tag field. Some instructions also subtract the decrement field from the contents of the index registers. The implementation requires that the second two bits of the instruction code be non-zero, giving a total of six possible type A instructions. One (STR, instruction code binary 101) was not implemented until the IBM 709.
Type B instructions have, in sequence, a 12-bit instruction code (with bits 2 and 3 set to 0 to distinguish them from type A instructions), a 2-bit flag field, four unused bits, a 3-bit tag field, and a 15-bit address field.
- Fixed-point numbers are stored in binary sign/magnitude format.
- Single-precision floating-pointnumbers have a magnitude sign, an 8-bit excess-128 exponent and a 27-bit fraction (no hidden bit).
- Alphanumeric characters were usually 6-bit BCD, packed six to a word.
The instruction set implicitly subdivides the data format into the same fields as type A instructions: prefix, decrement, tag and address. Instructions exist to modify each of these fields in a data word without changing the remainder of the word, though the Store Tag instruction was not implemented on the IBM 704.
The original implementation of Lisp uses the address and decrement fields to store the head and tail of a linked list respectively. The primitive functions car ("contents of the address part of register") and cdr ("contents of the decrement part of register") were named after these fields.[15]
Memory and peripherals
Controls are included in the 704 for: one 711 Punched Card Reader, one 716 Alphabetic Printer, one 721 Punched Card Recorder, five 727 Magnetic Tape Units and one 753 Tape Control Unit, one 733 Magnetic Drum Reader and Recorder, and one 737 Magnetic Core Storage Unit. Total mass was about 19,466 pounds (9.7 short tons; 8.8 t).[16][17]
The 704 itself came with a control console having 36 assorted control switches or buttons and 36 data-input switches, one for each bit in a register. The control console essentially allows only setting the binary values of the registers with switches and seeing the binary state of the registers displayed in the pattern of many small neon lamps, appearing much like modern LEDs. For human interaction with the computer, programs would be entered on punched cards initially rather than at the console, and human-readable output would be directed to the printer.
The
The 737 Magnetic Core Storage Unit serves as RAM and provides 4,096 36-bit words, the equivalent of 18,432 bytes.[19] The 727 Magnetic Tape Units store over 5 million 6-bit characters per reel.
Reliability
The IBM 704 was much more reliable than its predecessor, the IBM 701, which had a mean time between failure of around 30 minutes. Being a vacuum-tube machine, however, the IBM 704 had very poor reliability by today's standards. On average, the machine failed around every 8 hours, comparable to the Manchester Mark 1 in 1949.[20][21][22] This limited the program size that the first Fortran compilers could successfully translate because the machine would fail before a successful compilation of a large program.[21]
See also
References
- ^ a b "704 Data Processing System". IBM Archives – Exhibits – IBM Mainframes – Mainframes reference room – Mainframes product profiles. IBM. 23 January 2003. Retrieved 2016-08-18.
- ^ "IBM Electronic Data-Processing Machines TYPE 704" (PDF). IBM 704 Manual of Operation. International Business Machines Corporation. 1955. Retrieved 2017-12-28.
- ^ Pesce, Mark (26 Feb 2015). "Assemblers were once people: My aunt did it for NASA". Software – Developer. The Register. Retrieved 2016-08-18.
- ^ "History of IBM Timeline". IBM. 23 January 2003. Retrieved 2019-07-04.
- ^ "History of FORTRAN and FORTRAN II". Software Preservation Group.
- ^ "LISP prehistory – Summer 1956 through Summer 1958". www-formal.stanford.edu.
- ^ "Arthur C. Clarke online Biography". Archived from the original on December 11, 1997.
- ^ "Bell Labs: Where "HAL" First Spoke (Bell Labs Speech Synthesis website)". Archived from the original on April 1, 2014.
- ^ Discovery channel documentary with interviews by Ed and Vivian Thorp
- ^ Levinger, Jeff (February 10, 1961). "Math Instructor Programs Computor: Thorpe, 704 Beat Blackjack" (PDF). The Tech. 81 (1). Cambridge, MA: Massachusetts Institute of Technology: 1.
- ^ "Vanguard Satellite Launching Vehicle -- An Engineering Summary".
- ISBN 978-1-5275-0650-3. Retrieved Apr 25, 2019.
- ^ IBM 7094 Principles of Operation (PDF), IBM Systems Reference Library (fifth ed.), IBM, 1962, p. 8, A22-6703-4.
- ^ John Savard. "From the IBM 704 to the IBM 7094". Retrieved 2009-11-15.
- ^ McCarthy, John (1960). "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". Archived from the original on 2013-10-04. Retrieved 2009-02-14. p. 28.
- ^ Weik, Martin H. (March 1961). "IBM 704". ed-thelen.org. A Third Survey of Domestic Electronic Digital Computing Systems.
- ^ Weik, Martin H. (December 1955). "IBM-704". ed-thelen.org. A Survey of Domestic Electronic Digital Computing Systems.
- ^ "IBM Archives: 704 Cathode Ray Tube Output Recorder". 23 January 2003. Retrieved 10 December 2012.
- ^ "IBM Archives: IBM 737 Magnetic core storage unit". 23 January 2003. Retrieved 10 December 2012.
- ^ Patrick, Robert L. "General Motors/North American Monitor for the IBM 704 Computer" (PDF). Archived from the original (PDF) on 2021-08-31.
- ^ ISBN 978-1082395949.
- ^ "The Manchester Mark 1", University of Manchester, archived from the original on 21 November 2008, retrieved 24 January 2009
Further reading
- Charles J. Bashe, Lyle R. Johnson, John H. Palmer, Emerson W. Pugh, IBM's Early Computers (MIT Press, Cambridge, 1986)
- Steven Levy, Hackers: Heroes of the Computer Revolution
External links
- Oral history interview with Gene Amdahl Charles Babbage Institute, University of Minnesota, Minneapolis. Amdahl discusses his role in the design of several computers for IBM including the STRETCH, IBM 701, and IBM 704. He discusses his work with Nathaniel Rochesterand IBM's management of the design process for computers.