The IBM 704,[1] the first mass-produced computer with floating point arithmetic hardware, was introduced by IBM in April, 1954. The 704 was significantly improved over the IBM 701 in terms of architecture as well as implementation, and was not compatible with its predecessor.
Changes from the 701 included the use of core memory (instead of Williams tubes) and addition of three index registers. To support these new features, the instructions were expanded to use the full 36-bit word. The new instruction set became the base for the IBM 700/7000 series scientific computers.
To quote the IBM 704 Manual of operation (see external links below):
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.
IBM stated that the device was capable of executing up to 40,000 instructions per second. IBM sold 123 type 704 systems from 1955 to 1960.
The programming languages FORTRAN and LISP were first developed for the 704, as was MUSIC, the first computer music program by Max Mathews.
In 1962 physicist John Larry Kelly, Jr created one of the most famous moments in the history of Bell Labs by using an IBM 704 computer to synthesize speech. Kelly's voice recorder synthesizer vocoder recreated the song Daisy Bell, with musical accompaniment from Max Mathews. Arthur C. Clarke of 2001: A Space Odyssey fame was coincidentally visiting friend and colleague John Pierce at the Bell Labs Murray Hill facility at the time of this remarkable speech synthesis demonstration and was so impressed that he used it in the climactic scene of his novel and screenplay for 2001: A Space Odyssey,[2] where the HAL 9000 computer sings the same song.[3]
Ed Thorp also used the IBM 704 as a research tool, investigating the probabilities of winning while developing his blackjack gaming theory.[4][5] He used Fortran to formulate the equations of his research model.
The IBM 704 was used as the official tracker for the Smithsonian Astrophysical Observatory Operation Moonwatch in the fall of 1957. See The M.I.T. Computation Center and Operation Moonwatch. IBM provided four staff scientists to aid Smithsonian Astrophysical Observatory scientists and mathematicians in the calculation of satellite orbits: Dr. Giampiero Rossoni, Satellite Coordinator of IBM Applied Science (Cambridge), Dr. John Greenstadt, Thomas Apple and Richard Hatch.
Contents |
Registers
The IBM 704 had a 38 bit accumulator, a 36 bit multiplier quotient register, and three 15 bit decrement registers. The decrement registers were a kind of index register whose contents were subtracted from the base address instead of being added to it. All three decrement registers could participate in an instruction: the 3 bit tag field in the instruction was a bit map specifying which of the registers would participate in the operation.
Instruction and data formats
There were two instruction formats, referred to as "Type A" and "Type B".[6] Most instructions were of type B.
Type A instructions had, in sequence, a three bit prefix (instruction code), a 15 bit decrement field, a 3 bit tag field, and a 15 bit address field. They were conditional jump operations based on the values in the decrement registers specified in the tag field. Some also subtracted the decrement field from the contents of the decrement registers. The implementation required 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 had, in sequence, a 12 bit instruction code (with the second and third bits set to 0 to distinguish them from type A instructions), a two bit flag field, four unused bits, a 3 bit tag field, and a 15 bit address field.
- Fixed point numbers were stored in binary sign/magnitude format.
- Single precision floating point numbers had a magnitude sign, an 8-bit excess-128 exponent and a 29 bit magnitude
- Alphanumeric characters were 6-bit BCD, packed six to a word.
The instruction set implicitly subdivided the data format into the same fields as type A instructions: prefix, decrement, tag and address. Instructions existed 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 Lisp used the address and decrement fields to store, respectively, the head and tail of a linked list. The primitive functions car ("Contents of Address part of Register number") and cdr ("Contents of Decrement part of Register number") were named after these fields.[7] The meaning of the term "Register number" is unclear; possibly it refers to an old use of the word "Register" to mean "memory location". The frequently seen claim that they stand for "contents of address register" and "contents of decrement register" does not match the implementation, and the IBM 704 did not have a programmer-accessible address register.
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
- IBM Type 704 Manual of operation, Form 24-66661-1, IBM, 1956
See also
References
- ^ 704 photos from IBM
- ^ Arthur C. Clarke online Biography
- ^ Bell Labs: Where "HAL" First Spoke (Bell Labs Speech Synthesis website)
- ^ Discovery channel documentary with interviews by Ed and Vivian Thorp
- ^ The Tech (MIT) "Thorpe, 704 Beat Blackjack" Vol. 81 No. I Cambridge, Mass., Friday, February 10, 1961
- ^ John Savard. From the IBM 704 to the IBM 7094. http://www.quadibloc.com/comp/cp0309.htm. Retrieved 2009-11-15.
- ^ John McCarthy. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. http://www-formal.stanford.edu/jmc/recursive.html. Retrieved 2009-02-14.
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 Rochester and IBM's management of the design process for computers.
- Applications and installations of the IBM 704 Data Processing System – From A Third Survey of Domestic Electronic Digital Computing Systems, Report No. 1115, March 1961, by Martin H. Weik. Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland. Text format conversion of source paper document at the Computer History Museum (http://www.computerhistory.org).
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)





