Site Map Index Home Frobenius Last Next E-Mail

IBM 7090/94 Architecture

The IBM 7090/94 series was the most popular family of large second-generation transistorized mainframe computers and was designed for "large-scale scientific and technological applications". The first 7090 installation was in November 1959 and was followed in September 1962 by the improved 7094 which was faster and had additional hardware instructions. 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 and introduction of overlapped instruction execution.

By 1965, over 300 IBM 7090/94 systems had been installed with an average purchase price of about $3-million (most were rented from IBM for about $70,000 per month or for about $450,000 per month in today's money as adjusted for inflation). NASA used 7094s to control the Mercury and Gemini space flights. Apparently, the US Air Force retired the last 7094s, in service, from the Ballistic Missile Early Warning System ("BMEWS") in the 1980's after almost 30-years use.

Press to download an interesting one-minute long video clip (8.4mb) from NASA that shows the IBM 7090 in use at the Goddard Spaceflight Center during the Mercury program.

Press to hear an actual recording (590 kb) taken in a 7090 computer room. These machines were physically large and occupied an entire air conditioned room. They were usually behind glass to restrict direct access from casual visitors. Computer operators and the systems staff had to put up with living in a noisy and quite cold environment.

The predecessor machines to the 7090 were the IBM 704 and the IBM 709 (press for photo -- 10kb) which while having almost identical subset architectures (though with only at most about 20% of the speed) were vacuum tube machines that were later representatives of the first generation of commercial computers that began to appear in substantial numbers during the early 1950's.

Press for photo (50kb) of IBM vacuum tubes and tube assemblies. Press for photo (13kb) of ferrite cores similar to that used by the 7090/94 for main Core Memory.

This web page is part of the overall Ancient LISP Internals page that is currently under construction by the author and has been assembled to familiarize the reader with the 7090 series in detail sufficient that the 7090/LISP system source code can be more easily understood and that the exact meaning and origin of certain obscure details mentioned in The LISP 1.5 Programmer's Manual (MIT Press -- McCarthy, et. al.) such as MQ Lights, Flap Traps, CAR, CDR, and many others will be more clear. This web site is intended to be a detailed Reference Guide for the assembly language level programmer.

Press Here for a list of technical references.

This is an extensive site -- a hardcopy printout of everything on the 7090/94 is about 100-pages in length.

Basic 7090/94 Specifications
Internal Memory:Ferrite Magnetic Cores -- 32,768 36-bit binary words with six-bit characters (bytes)
Addressing:Word Addressed (00000 - 77777 Octal), Indirect, and Indexed
Integer Representation:36-bit, 1's-Complement Arithmetic (Left Most Bit = '1' signified Negative Number) -- except for Index Registers which were 2's-Complement
IBM 7090IBM 7094IBM 7094 II
Index Registers:377
Machine Instructions:227268268
Floating Point Hardware:Standard - Single Precision (36-Bits)Standard - Single Precision (36-Bits) and Double Precision (72-Bits)Standard - Single Precision (36-Bits) and Double Precision (72-Bits)
Speeds (in Microseconds)Basic Cycle Time:2.18 µSecs2.0 µSecs 1.4 µSecs
Floating Point Add Time:4.36 µSecs4.0 µSecs2.8 µSecs
Floating Point Multiply Time:4.36 - 30.52 µSecs4.0 - 10.0 µSecs2.8 - 5.6 µSecs

The 7090 series was not designed for high-speed input from cards or for high-speed output to line printers. Rather, the 7090/94 usually read and wrote strictly to and from magnetic tape with large-volume reading of cards and printing of generated output performed offline by separate equipment. In low-end installations, IBM 1401(s) would typically be used to read cards and transfer the information for input to the 7090/94 from magnetic tapes. Similarly, generated output on tapes, from the 7090/94, would be printed by the 1401(s) to high-speed line printers. High-end systems would typically employ an IBM 7040/44 computer that would be directly coupled to the 7090/94 and would be dedicated to high-speed processing of card readers and line printers.

7090/94 System Hardware Configuration Table
Central Processor:Instruction Processing Unit:IBM 7108 (7110 for 7094)Another Photo of 7094 Installation (149kb)
Arithmetic Sequence Unit:IBM 7109 (7111 for 7094)
Console Control Unit:IBM 7151 (the 7094 Console Displayed Four Additional Index Registers)Photo of 7090 Console (39kb)
Closeup Photo of 7094 Console (111kb)
High-Resolution Photo of 7094 Console -- Zoom-in to See Switches, Lights, Labels, etc. (950kb)
Click Here for Detailed Description of Console and its Operation
Core Storage:IBM 7302 (Always 32,768 36-Bit Words in all Configurations)Photo of 7302 Core Memory Unit(41kb)
Multiplexer:IBM 7606 (Controlled all Access to the Core Storage by the Instruction Processing Unit and the Data Channel(s))Photo of 7606 Multiplexer Unit(22kb)
Data Channel:IBM 7607 (Controlled Operation of a Card Reader, Card Punch, Line Printer, and up to Ten IBM 729 Tape Drives -- Up to Eight Channels Could be Connected to a 7090/94 and each Data Channel Could Operate Concurrently and Simultaneously with Computation and while other Channels were Operating)Photo of 7607 Data Channel (61kb)
Data Channel (Optional):IBM 7909 (Data Channel Required to Connect a Disc, Drum, Hypertapes, and/or Teleprocessing Devices -- Up to Four 7909's Could be Attached Depending on the Number of Already Connected 7607's)
Data Channel Console:IBM 7617 (Controlled and Monitored the Counters, Registers, and Test Circuits for the Data Channels)Photo of 7617 Data Channel Console (51kb)
Magnetic Tape:IBM 729 Model II200/556 BPI(Density) -- 15,000/41,700 Characters/Second I/O Speed
IBM 729 Model IV200/556 BPI(Density) -- 22,500/62,500 Characters/Second I/O Speed
IBM 729 Model V200/556/800 BPI(Density) -- 15,000/41,700/60,000 Characters/Second I/O Speed
IBM 729 Model VI200/556/800 BPI(Density) -- 22,500/62,500/90,000 Characters/Second I/O Speed
Card Reader:IBM 711 (Relatively Slow 250 cpm Reader -- Seldom Used On-Line -- Most Production Input Data to the 7090/94 came from Magnetic Tape)Photo of 711 Card Reader (76kb)
Card Punch (Optional):IBM 721 (Relatively Slow 100 cpm Punch -- Seldom Used On-Line -- Most Production Output Data from the 7090/94 was Written to Magnetic Tape)
Line Printer:IBM 716 (Relatively Slow 150 lpm Printer -- Seldom Used On-Line -- Most Production Output Data from the 7090/94 was Written to Magnetic Tape -- Could Print 72-Characters at a time on a 120-Space Line -- Could Print Uppercase Alphanumerics (A-Z, 0-9) with 11-Special Characters)Photo of 716 Line Printer (71kb)
Graphic Output (Optional):IBM 7404
Disc Storage (Optional -- and Rare):IBM 1301 Model-1 (Attached through an IBM 7631 File Control Unit)28-Million Characters
IBM 1301 Model-256-Million Characters
IBM 2302 Model-1117-Million Characters
IBM 2302 Model-2234-Million Characters
Drum Storage (Optional -- and Rare):IBM 7320 (Could Store up to 1,118,400 Characters -- Up to Ten Units Could be Attached through IBM 7631 File Control Unit(s))
Hypertape (Optional):IBM 7340
Hypertape Control (Optional):IBM 7640 (Attached through an IBM 7631 File Control Unit)
Power Converter:IBM 7608 (Converted 60 Cycle(Hz) AC to the Required 400 Cycle(Hz) Power)
Power Control Unit:IBM 7618

The system software, supplied and supported for the 7090/94 by IBM, was called the IBSYS Operating System and included the FAP assembler, FORTRAN II, FORTRAN IV, COBOL, and various libraries and utilities.

Much public domain software -- including compilers (e.g., LISP 1.5 from MIT/McCarthy et. al.), assemblers, and many engineering and scientific packages were readily available from the IBM sponsored SHARE organization.

Detailed 7090/94 Information
Control Console
Register SetBinary RepresentationCharacter Representation
Floating Point ArithmeticInstruction FormatsIndex Registers and Loops
Indirect AddressingSubroutine LinkageInput/Output and Traps
Alphabetical List and Details of Instruction Set (155kb)FAP AssemblerIBSYS Operating System
...a Few Comments from Jack Harper, the 7090/94 Web Page Author

"IBM", "IBM 1301", "IBM 1401", "IBM 2302", "IBM 704", "IBM 709", "IBM 7090", "IBM 7094", "IBM 7108", "IBM 7109", "IBM 711", "IBM 7110", "IBM 7111", "IBM 7151", "IBM 716", "IBM 721", "IBM 729", "IBM 7302", "IBM 7320", "IBM 7340", "IBM 7404", "IBM 7606", "IBM 7607", "IBM 7608", "IBM 7617", "IBM 7618", "IBM 7631", "IBM 7640", "IBM 7909", "IBM Data Channel", "IBM Hypertape", "IBSYS", "FAP", and the photographs contained within this web page, unless otherwise noted, are either registered trademarks or copyrighted information that is owned by the IBM Corporation and is used here with their kind permission.

Feedback regarding the contents of this page -- especially of errors, reminiscences by 704/709/7090/7094 users, opinions, etc. -- are heartily welcomed by the author. -- Last Revision: 24 January 2009
Copyright © 1996 - 2014 Jack Harper (unless otherwise noted)
Site Map Index Home Frobenius Last Next E-Mail