IBM 704
 |
An IBM 704 mainframe (image courtesy of LLNL) |
The
IBM 704, 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 1, 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,
[Arthur C. Clarke online Biography] where the
HAL 9000 computer sings the same song.
[Bell Labs: Where "HAL" First Spoke (Bell Labs Speech Synthesis website)]Ed Thorp also used the IBM 704 as a research tool, investigating the probabilities of winning while developing his
blackjack gaming theory.
[Discovery channel documentary with interviews by Ed and Vivian Thorp] He used Fortran to formulate the equations of his research model.
The basic instruction format was a 3-bit
prefix, 15-bit
decrement, 3-bit
tag, and 15-bit
address. The prefix field specified the class of instruction. The decrement field often contained an immediate
operand to modify the results of the operation, or was used to further define the instruction type. The three bits of the tag specified any combination of three "decrement registers", an early kind of
index registers in which the contents of the registers were subtracted from the address to produce an
effective address. The address field either contained an address or an immediate operand.
*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.
* Charles J. Bashe, Lyle R. Johnson, John H. Palmer, Emerson W. Pugh,
IBM's Early Computers (MIT Press, Cambridge, 1986)
*
IBM (...) TYPE 704 Manual of operation: Preliminary edition (scans of pp. 1–39)
*
Complete Manual of Operation and other IBM 704 manuals (
PDF file)
*
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).