The IBM 7090 was a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computers and was designed for "large-scale scientific and technological applications". The 7090 was the third member of the IBM 700/7000 series scientific computers. The first 7090 installation was in November 1959. In 1960, a typical system sold for $2,900,000 or could be rented for $63,500 a month.
The 7090 used a 36-bit word length, with an address-space of 32K (32,768) words. It operated with a basic memory cycle of 2.18 μs, using the IBM 7302 Core Storage core memory technology from the IBM 7030 (Stretch) project.
The 7090 was six times faster than the 709, and could be rented for half the price.
Development and naming 
Although the 709 was a superior machine to its predecessor, the 704, it was being built and sold at the time that transistor circuitry was supplanting vacuum tube circuits. Hence, IBM redeployed its 709 engineering group to the design of a transistorized successor. That project became called the 709-T (for Transistorized), which because of the sound when spoken, quickly shifted to the nomenclature 7090 (i.e., seven - oh - ninety). Similarly, the related machines such as the 7070 and other 7000 series equipment were called by names of digit - digit - decade (e.g., seven - oh -seventy).
IBM 7094 
An upgraded version, the IBM 7094, was first installed in September 1962. It had seven index registers, instead of three on the earlier machines. The 7094 console had a distinctive box on top that displayed lights for the four new index registers. photos The 7094 introduced double-precision floating point and additional instructions, but was largely backward compatible with the 7090. Minor changes in instruction formats, particularly the way the additional index registers were addressed, sometimes caused problems. On the earlier models, when more than one bit was set in the tag field, the contents of the two or three selected index registers were or'ed, not added together, before the decrement took place. On the 7094, if the three bit tag field was not zero, it selected just one of 7 index registers, however the "or" behavior remained available in a "multiple tag" compatibility mode.
In April 1964, the first 7094 II was installed, which had almost twice as much general speed as the 7090 due to a faster clock cycle, dual memory banks and improved overlap of instruction execution, an early instance of pipelined design.
IBM 7040/7044 
In 1963, IBM introduced two new, lower cost machines called the IBM 7040 and 7044. They had a 36-bit architecture based on the 7090, but with some instructions omitted or optional, and simplified I/O that allowed the use of more modern, higher performance peripherals from the IBM 1400 series. A direct coupled 7094/7044system was introduced later.
Instruction and data formats 
The basic instruction format was the same as the IBM 709, a three-bit prefix, 15-bit decrement, three-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 three index registers (seven in the 7094), the contents of which were subtracted from the address to produce an effective address. The address field contained either 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 eight-bit excess-128 exponent and a 27-bit magnitude
- Double precision floating point numbers, introduced on the 7094, had a magnitude sign, an eight-bit excess-128 exponent, and a 54-bit magnitude. The double precision number was stored in memory in an even-odd pair of consecutive words; the sign and exponent in the second word were ignored when the number was used as an operand.
- Alphanumeric characters were six-bit BCD, packed six to a word.
Octal notation was used in documentation and programming; console displays lights and switches were grouped into three-bit fields for easy conversion to and from octal.
The 7090 series featured a data channel architecture for input and output, a forerunner of modern direct memory access I/O. Up to 8 data channels could be attached, with up to 10 IBM 729 tape drives attached to each channel. The data channels had their own very limited set of operations called commands. These were used with tape (and later, disk) storage as well as card units and printers, and offered high performance for the time. Printing and punched card I/O, however, employed the same modified unit record equipment introduced with the 704 and was slow. It became common to use a less expensive IBM 1401 computer to read cards onto magnetic tape for transfer to the 7090/94. Output would be spooled onto tape and transferred to the 1401 for printing or card punching using its much faster peripherals, notably the IBM 1403 line printer. Later IBM introduced the 7094/7044 Direct Coupled System, using data channel to data channel communication, with the 7094 primarily performing computations and the 7044 performing I/O operations using its fast 1400-series peripherals.
The 7090 and 7094 machines were quite successful for their time, and had a wide variety of software provided for them by IBM. In addition, there was a very active user community within the user organization, SHARE.
FMS, the Fortran Monitor System, was a more lightweight but still very effective system optimized for batch FORTRAN and assembler programming. The assembler provided, FAP, (FORTRAN Assembly Program), was somewhat less complete than MAP, but provided excellent capabilities for the era. FMS also incorporated a considerably enhanced derivative of the FORTRAN compiler originally written for the 704 by Backus and his team.
Notable applications 
- The Compatible Time-Sharing System (CTSS), one of the first time-sharing operating systems, was developed at MIT's Project MAC using a 7094 with an extra bank of memory, among other modifications.
- NASA used 7090s, and, later, 7094s to control the Mercury and Gemini space flights. The IBM 7094 was used during the Apollo missions including Apollo 11 the moon landing. Goddard Space Flight center operated 3 7094s. During the early Apollo Program, a 7094 was kept operational to run flight planning software that had not yet been ported to mission control's newer System/360 computers.
- Caltech/NASA Jet Propulsion Laboratory had three 7094s in the Space Flight Operations Facility (SFOF, building 230), fed via tape using several 1401s, and two 7094/7044 direct-coupled systems (in buildings 125 and 156). [under discussion]
- The US Air Force retired its last 7090s in service from the Ballistic Missile Early Warning System ("BMEWS") in the 1980s after almost 30 years of use.
- The US Navy continued to use a 7094 at Pacific Missile Test Center, Point Mugu, California through much of the 1980s, although a "retirement" ceremony was held in July 1982. Not all of the applications had been ported to its successor, a dual-processor CDC Cyber 175.
- A pair of 7090s in Briarcliff Manor, NY, were the basis for the original version of the SABRE airlines reservation system introduced by American Airlines in 1962.
- In 1961 Alexander Hurwitz used a 7090 to discover two Mersenne primes, with 1281 and 1332 digits - the largest prime numbers known at the time.
- A 7090/1401 installation is featured in the motion picture Dr. Strangelove, with the 1403 printer playing a pivotal role in the plot (it is the hiding place for a transistor radio; which, when found and turned on by one of the three characters played by Peter Sellers in the film, reveals that the nuclear attack ordered by the deranged Air Force base commander is phony, and must be stopped at all costs).
- Three 7090 systems were imported into and installed in Japan in 1963, one each at Mitsubishi Nuclear Power Co. (whose DP division later merged with Mitsubishi Research Institute, Inc.), IBM Japan's data center in Tokyo, and Toshiba in Kawasaki. They were mainly used for scientific computing.
See also 
- IBM 704
- IBM 7040
- IBM 716 line printer
- IBM 729 tape drive
- Early IBM disk storage
- SHARE and IBSYS operating systems
- University of Michigan Executive System
- UNIVAC 1100/2200 series UNIVAC's 36-bit scientific computing family
- Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM's 360 and early 370 systems, MIT Press, 1991, ISBN 0-262-16123-0, p. 36
- http://bitsavers.trailing-edge.com/pdf/ibm/7094/A22-6703-4_7094_PoO_Oct66.pdf IBM 7094 Principles of Operation, p. 8
- Reference Manual, IBM 7090 Data Processing System, 1961, IBM A22-6528-3
- IBM Archives - 7090
- IBM 7090 Data Processing System from BRL61 Report
- IBM 7090/94 Architecture page
- IBM 7090 Music From Mathematics recorded in 1960 by Bell Labs, using the "Digital to Sound Transducer" to realize several traditional and original compositions; this album contains the original Daisy (Bicycle Built for Two).
- IBM 7094 singing Daisy (mp3)
- Bob Supnik's SimH project – Includes a simulator for the 7090/7094 in a user-modifiable package
- Dave Pitts' IBM 7090 support – Includes a simulator, cross assembler and linker