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 7090||IBM 7094||IBM 7094 II|
|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 µSecs||2.0 µSecs
|Floating Point Add Time:||4.36 µSecs||4.0 µSecs||2.8 µSecs|
|Floating Point Multiply Time:||4.36 - 30.52 µSecs||4.0 - 10.0 µSecs||2.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 II||200/556 BPI(Density) -- 15,000/41,700 Characters/Second I/O Speed|
|IBM 729 Model IV||200/556 BPI(Density) -- 22,500/62,500 Characters/Second I/O Speed|
|IBM 729 Model V||200/556/800 BPI(Density) -- 15,000/41,700/60,000 Characters/Second I/O Speed|
|IBM 729 Model VI||200/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-2||56-Million Characters|
|IBM 2302 Model-1||117-Million Characters|
|IBM 2302 Model-2||234-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
"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.
http://www.frobenius.com/7094.htm -- Last Revision: 24 January 2009
Copyright © 1996 - 2013 Jack Harper (unless otherwise noted)