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 sometimes called by names of digit - digit - decade (e.g., seven - oh - seventy).IBM 7094
IBM 7040/7044
In 1963, IBM introduced two new, lower cost machines called the IBM 7040 and 7044. They have a 36-bit architecture based on the 7090, but with some instructions omitted or optional, and simplified input/output that allows the use of more modern, higher performance peripherals from the IBM 1400 series.7094/7044 Direct Coupled System
The 7094/7044 Direct Coupled System (DCS) was initially developed by an IBM customer, the Aerospace Corporation, seeking greater cost efficiency and scheduling flexibility than IBM's IBSYS tape operating system provided. DCS used a less expensive IBM 7044 to handle input/output (I/O) with the 7094 performing mostly computation. Aerospace developed the Direct Couple operating system, an extension to IBSYS, which was shared with other IBM customers. IBM later introduced the DCS as a product.Transistors and circuitry
The 7090 used more than 50,000 alloy-junction transistor, germanium alloy-junction transistors and (faster) germanium diffused junction drift-field transistor, drift transistors.7090 Data Processing SystemInstruction and data formats
The basic instruction format were the same as the IBM 709: *A three-bit opcode (''prefix''), 15-bit ''decrement'' (D), three-bit ''tag'' (T), and 15-bit ''address'' (Y) *A twelve-bit opcode, two-bit ''flag'' (F), four unused bits, three-bit ''tag'' (T), and 15-bit ''address'' (Y) *Variations of the above with different allocation of bits 12-17 or different allocations of bits 18-35 The documentation of opcodes used signed octal The flag field indicated whether to use indirect addressing or not. 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 tag field might describe an index register to be operated on, or be used as described below. The Y field might contain an address, an immediate operand or an opcode modifier. For instructions where the tag field indicated indexing, the operation was ;T=0 : use Y ;7090 : form the logical or of the selected index registers and subtract from Y ;7094 in multiple tag mode (power-on default) : same as 7090 ;7094 in seven index register mode : subtract the index register from Y If there was no F field or F is not all one bits, then the above was the ''effective address''. Otherwise it was an ''indirect effective address''; i.e., fetch the word at that location and treat the T and Y fields as described above. Data formats are *Fixed-point arithmetic, Fixed-point numbers were stored in binary Signed number representations#Signed magnitude representation, sign/magnitude format. * Single-precision floating-point numbers had a magnitude sign, an eight-bit excess-128 exponent and a 27-bit magnitude (numbers were binary, rather than the hexadecimal format introduced later for System/360) *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 (character encoding), 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.Input/output
The 7090 series features a data channel architecture for input and output, a forerunner of modern direct memory access I/O. Up to eight data channels can be attached, with up to ten IBM 729 tape drives attached to each channel. The data channels have their own very limited set of operations called commands. These are 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 written 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, 7094/7044 Direct Coupled System; the 7044 handled ''spooling'' between its fast 1400-series peripherals and 1301 or 1302 disk files, and used data channel to data channel communication as the 7094's interface to spooled data, with the 7094 primarily performing computations. There is also a 7090/7040 DCS.Software
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 (computing), SHARE. IBM 7090/94 IBSYS, IBSYS is a "heavy duty" production operating system with numerous subsystem and language support options, among them Fortran, FORTRAN, COBOL, SORT/MERGE, the MAP assembler, and others. 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, (IBM 700/7000 series#FORTRAN assembly program, 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 Massachusetts Institute of Technology, MIT's Computation Center using a 7090 with an extra bank of memory, among other modifications; it eventually ran on two separate 7094s, one of them at MIT Computer Science and Artificial Intelligence Laboratory#Project MAC, Project MAC.The IBM 7094 and CTSSIn the media
* A 7090/1401 installation is featured in the motion picture ''Dr. Strangelove'', with the IBM 1403, 1403 printer playing a pivotal role in the plot * An IBM 7090 is featured in the 2016 American biographical film ''Hidden Figures.'' * IBM 7094 specs are visible scrolling on a screen in the 1997 film ''Event Horizon (film), Event Horizon''.See also
*IBM 709/90 9PAC, 9PAC *Early IBM disk storage *IBM 701 *IBM 704 *IBM 709 *IBM 711 card reader *IBM 716 line printer *IBM 729 tape drive *SHARE Operating System, SHARE and IBSYS operating systems *SQUOZE *UNIVAC 1100/2200 series, UNIVAC's 36-bit scientific computing family *University of Michigan Executive SystemReferences
Further reading
* *External links