Jump to content

IBM 7090: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Software: formatting fix
Tags: Mobile edit Mobile web edit
 
(85 intermediate revisions by 45 users not shown)
Line 1: Line 1:
{{short description|Second generation (c. 1959) scientific mainframe}}
{{Short description|Mainframe computer}}
{{for|the tape-based operating system|IBM 7090/94 IBSYS}}
[[File:IBM 7090 console.nasa.jpg|thumb|280px|IBM 7090 console]]
{{Use American English|date=February 2023}}
{{Use mdy dates|date=February 2023}}
[[File:IBM 7090 console.nasa.jpg|thumb|280px|IBM 7151 Console Control Unit for 7090]]
The '''IBM 7090''' is a second-generation [[Transistor computer|transistorized]] version of the earlier [[IBM 709]] vacuum tube [[mainframe computer]] that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the [[IBM 700/7000 series#Scientific Architecture|IBM 700/7000 series]] scientific computers. The first 7090 installation was in December 1959.<ref>IBM states "the first 7090 was installed in December, 1959" at [https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html 7090 Data Processing System]</ref> In 1960, a typical system sold for $2.9 million (equivalent to ${{Inflation|US-GDP|2.9|1960|r=0}}&nbsp;million in {{Inflation-year|US}}) or could be rented for $63,500 a month ({{Inflation|US-GDP|63500|1960|r=-3|fmt=eq}}).
The '''IBM 7090''' is a second-generation [[Transistor computer|transistorized]] version of the earlier [[IBM 709]] vacuum tube [[mainframe computer]] that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the [[IBM 700/7000 series#Scientific Architecture|IBM 700/7000 series]] scientific computers. The first 7090 installation was in December 1959.<ref>IBM states "the first 7090 was installed in December, 1959" at [https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html 7090 Data Processing System]</ref> In 1960, a typical system sold for $2.9 million (equivalent to ${{Inflation|US-GDP|2.9|1960|r=0}}&nbsp;million in {{Inflation-year|US}}) or could be rented for $63,500 a month ({{Inflation|US-GDP|63500|1960|r=-3|fmt=eq}}).


The 7090 uses a [[36-bit]] [[word length]], with an address space of 32,768 words (15-bit addresses). It operates with a basic memory cycle of 2.18 μs, using the [[IBM 7302]] Core Storage [[Magnetic-core memory|core memory]] technology from the [[IBM 7030]] (Stretch) project.
The 7090 uses a [[36-bit]] [[word length]], with an address space of 32,768 words (15-bit addresses).<ref name="comp-arch-n-org">{{cite book |title=Computer Architecture and Organization |last1=Hayes |first1=John.P |isbn=0-07-027363-4 |date=1978 |page=33}}</ref> It operates with a basic memory cycle of 2.18 μs, using the [[IBM 7302]] Core Storage [[Magnetic-core memory|core memory]] technology from the [[IBM 7030]] (Stretch) project.


With a processing speed of around 100 [[FLOPS|Kflop/s]],<ref>[https://projects.cs.dal.ca/ddrive/dhb-future.pdf Performance of future high-end computers by David Bailey Lawrence Berkeley National Laboratory report]{{Dead link|date=January 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> the 7090 is six times faster than the 709, and could be rented for half the price.<ref>{{cite book |first1=Emerson W. |last1=Pugh |first2=Lyle R. |last2=Johnson |first3=John H. |last3=Palmer |title=IBM's 360 and early 370 systems |url=https://archive.org/details/ibms360early370s0000pugh |url-access=registration |publisher=MIT Press |year=1991 |isbn=0-262-16123-0 |page=[https://archive.org/details/ibms360early370s0000pugh/page/36 36] }}</ref> An upgraded version, the 7094 was up to twice as fast. It was withdrawn from sale on July 14, 1969, but systems remained in service for more than a decade after.<ref>[https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7094.html IBM 7094 Data Processing System], IBM fact sheet 1962, IBM archives</ref>
With a processing speed of around 100 [[FLOPS|Kflop/s]],<ref>{{cite web |url=https://www.researchgate.net/publication/267998694 |title=Performance of future high-end computers |last=Bailey |first=David |author-link=David H. Bailey (mathematician) |page=4 |date=n.d. |website=[[ResearchGate]] |access-date=April 16, 2022}}</ref> the 7090 is six times faster than the 709, and could be rented for half the price.<ref>{{cite book |first1=Emerson W. |last1=Pugh |first2=Lyle R. |last2=Johnson |first3=John H. |last3=Palmer |title=IBM's 360 and early 370 systems |url=https://archive.org/details/ibms360early370s0000pugh |url-access=registration |publisher=MIT Press |year=1991 |isbn=0-262-16123-0 |page=[https://archive.org/details/ibms360early370s0000pugh/page/36 36] }}</ref> An upgraded version, the 7094, was up to twice as fast. Both the 7090 and the 7094 were withdrawn from sale on July 14, 1969, but systems remained in service for more than a decade after.<ref>{{cite web |url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html |title=7090 Data Processing System |author=<!--Not stated--> |date=n.d. |publisher=IBM |access-date=April 16, 2022}}</ref><ref>{{cite web |url=https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html |title=7094 Data Processing System |author=<!--Not stated--> |date=n.d. |publisher=IBM |access-date=April 16, 2022}}</ref> In 1961, the IBM 7094 famously employed a speech synthesis program to sing "[[Daisy Bell]]", becoming something of a [[cultural icon]].


==Development and naming==
==Development and naming==
Line 11: Line 14:


===IBM 7094===
===IBM 7094===
{| class="infobox" style="font-size:88%;width:34em;"
[[File:IBM 7094 console2.agr.JPG|thumb|IBM 7094 operator's console showing additional index register displays in a distinctive extra box on top. Note "Multiple Tag Mode" light in the top center.]]
|+ IBM 7094 registers
An upgraded version, the '''IBM 7094''', was first installed in September 1962. It has seven index registers, instead of three on the earlier machines. The 7094 console has a distinctive box on top that displays lights for the four new index registers.<ref>http://www.columbia.edu/acis/history/7094.html</ref> The 7094 introduced double-precision floating point and additional instructions, but is largely [[backward compatibility|backward compatible]] with the 7090.
|-
|
{| style="font-size:88%;width:100%;"
|-
|colspan="15" | '''Data registers'''
|-
| style="width:10px; text-align:left" | S
| style="width:10px; text-align:left" | Q
| style="width:10px; text-align:left" | P
| style="width:10px; text-align:left" | <sup>1</sup>
| style="width:10px; text-align:left" | <sup>2</sup>
| style="width:10px; text-align:left" | <sup>3</sup>
| style="width:75px; text-align:center"| ...
| style="width:10px; text-align:left" | <sup>17</sup>
| style="width:10px; text-align:left" | <sup>18</sup>
| style="width:10px; text-align:left" | <sup>19</sup>
| style="width:10px; text-align:left" | <sup>20</sup>
| style="width:10px; text-align:left" | <sup>21</sup>
| style="width:40px; text-align:center"| ...
| style="width:10px; text-align:center"| <sup>35</sup>
| style="width:auto; background:white; color:black" | ''(bit position)''
|- style="background:silver;color:black"
| style="text-align:center;" colspan="14"| Accumulator
| style="background:white; color:black" | AC
|- style="background:silver;color:black"
| style="text-align:center;" colspan="1"| S
| style="text-align:center;background:white;" colspan="2" | &nbsp;
| style="text-align:center;" colspan="11"| Multiplier/Quotient
| style="background:white; color:black" | MQ
|-
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" | <sup>0</sup>
| style="width:10px; text-align:left" | <sup>1</sup>
| style="width:10px; text-align:left" | <sup>2</sup>
| style="width:10px; text-align:left" | <sup>3</sup>
| style="width:75px; text-align:center"| ...
| style="width:10px; text-align:left" | <sup>17</sup>
| style="width:10px; text-align:left" | <sup>18</sup>
| style="width:10px; text-align:left" | <sup>19</sup>
| style="width:10px; text-align:left" | <sup>20</sup>
| style="width:10px; text-align:left" | <sup>21</sup>
| style="width:40px; text-align:center"| ...
| style="width:10px; text-align:center"| <sup>35</sup>
| style="width:auto; background:white; color:black" | ''(bit position)''
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="2" | &nbsp;
| style="text-align:center;" colspan="12"| Sense Indicators
| style="background:white; color:black" | SI
|-
|colspan="15" | '''Index registers'''
|-
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" | <sup>3</sup>
| style="width:75px; text-align:center"| ...
| style="width:10px; text-align:left" | <sup>17</sup>
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:40px; text-align:center"|
| style="width:10px; text-align:center"|
| style="width:auto; background:white; color:black" | ''(bit position)''
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 1
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR1 (XRA)
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 2
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR2 (XRB)
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 3
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR1
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 4
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR4 (XRC)
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 5
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR5
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 6
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR6
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5" | &nbsp;
| style="text-align:center;" colspan="3"| Index Register 7
| style="text-align:center;background:white;" colspan="6" | &nbsp;
| style="background:white; color:black" | XR7
|-
|colspan="14" | '''Instruction counter'''
|-
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" | <sup>3</sup>
| style="width:75px; text-align:center"| ...
| style="width:10px; text-align:left" | <sup>17</sup>
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:10px; text-align:left" |
| style="width:40px; text-align:center"|
| style="width:10px; text-align:center"|
| style="width:auto; background:white; color:black" | ''(bit position)''
|- style="background:silver;color:black"
| style="text-align:center;background:white;" colspan="5"| &nbsp;
| style="text-align:center;" colspan="3"| Instruction&nbsp;Counter
| style="text-align:center;background:white;" colspan="6"| &nbsp;
| style="background:white; color:black;"| IC
|}
|}

[[File:IBM 7094 console3.agr.jpg|thumb|IBM 7151-2 Console Control Unit for 7094 showing additional index register displays in a distinctive extra box on top. Note "Multiple Tag Mode" light in the top center.]]
An upgraded version, the '''IBM 7094''', was first installed in September 1962. It has seven [[index register]]s, instead of three on the earlier machines. The 7151-2 Console Control Unit for the 7094 has a distinctive box on top that displays lights for the four new index registers.<ref>{{Cite web|url=http://www.columbia.edu/acis/history/7094.html|title = The IBM 7094}}</ref> The 7094 introduced double-precision floating point and additional [[Instruction set architecture|instructions]], but largely maintained [[backward compatibility]] with the 7090.
<!-- If there are incompatibilities, please cite sources. -->
<!-- If there are incompatibilities, please cite sources. -->
Although the 7094 has 4 more index registers than the 709 and 7090, at power-on time it is in ''multiple tag mode'',<ref name=IBM7094>{{cite manual|url=http://bitsavers.org/pdf/ibm/7094/A22-6703-4_7094_PoO_Oct66.pdf|title=IBM 7094 Principles of Operation|id=A22-6703-4|date=October 21, 1966|publisher=IBM}}</ref>{{rp|8}} compatible with the 709 and 7090, and requires a '''Leave Multiple Tag Mode'''<ref name=IBM7094/>{{rp|56}} instruction in order to enter ''seven index register mode'' and use all 7 index registers. In multiple tag mode, when more than one bit is set in the tag field, the contents of the two or three selected index registers are [[Bitwise OR|OR]]ed, not added, together, before the decrement takes place. In seven index register mode, if the three-bit tag field is not zero, it selects just one of seven index registers, however, the program can return to multiple tag mode with the instruction '''Enter Multiple Tag Mode''',<ref name=IBM7094/>{{rp|55}} restoring 7090 compatibility.
Although the 7094 has four more index registers than the 709 and 7090, at power-on time it is in ''multiple tag mode'',<ref name=IBM7094>{{cite manual|url=http://bitsavers.org/pdf/ibm/7094/A22-6703-4_7094_PoO_Oct66.pdf|title=IBM 7094 Principles of Operation|id=A22-6703-4|date=October 21, 1966|publisher=IBM}}</ref>{{rp|8}} compatible with the 709 and 7090, and requires a '''Leave Multiple Tag Mode'''<ref name=IBM7094/>{{rp|56}} instruction in order to enter ''seven index register mode'' and use all seven index registers. In multiple tag mode, when more than one bit is set in the tag field, the contents of the two or three selected index registers are logically [[Bitwise operation#OR|ORed]], not [[Binary number#Addition|added]], together, before the decrement takes place. In seven index register mode, if the three-bit tag field is not zero, it selects just one of seven index registers, however, the program can return to multiple tag mode with the instruction '''Enter Multiple Tag Mode''',<ref name=IBM7094/>{{rp|55}} restoring 7090 compatibility.

In April 1964, the first '''7094 II''' was installed, which had almost twice as much general speed as the 7094 due to a faster [[Clock signal|clock cycle]], dual memory banks and improved overlap of instruction execution, an early instance of [[Instruction pipelining|pipelined]] design.<ref>{{cite manual|url=http://bitsavers.org/pdf/ibm/7094/A22-6760_7094model2.pdf|title=IBM 7094 Model II Data Processing System|id=A22-6760|publisher=IBM}}</ref>


The IBM 7094 was the first computer ever to fully sing a song using only synthesizers.
In April 1964, the first '''7094 II''' was installed, which had almost twice as much general speed as the 7094 due to a faster clock cycle, dual memory banks and improved overlap of instruction execution, an early instance of [[Instruction pipeline|pipelined]] design.<ref>{{cite manual|url=http://bitsavers.org/pdf/ibm/7094/A22-6760_7094model2.pdf|title=IBM 7094 Model II Data Processing System|id=A22-6760|publisher=IBM}}</ref>


===IBM 7040/7044===
===IBM 7040/7044===
{{main|IBM 7040}}
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]].
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===
===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.<ref>{{cite web|url=http://www.softwarepreservation.org/projects/os/dc.html|title=The Direct Couple for the IBM 7090|last1=Patrick|first1=Robert L.|last2=Van Vranken|first2=Richard K.|publisher=Software Preservation Group, [[Computer History Museum]]|date= February 2009}}</ref><ref>{{cite journal |title= A directly coupled multiprocessing system |author= E. C. Smith |journal= IBM Systems Journal |date= September–December 1963 |volume= 2 |issue= 3 |pages= 218–229 |doi= 10.1147/sj.23.0218 }}</ref>
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.<ref>{{cite web|url=http://www.softwarepreservation.org/projects/os/dc.html|title=The Direct Couple for the IBM 7090|last1=Patrick|first1=Robert L.|last2=Van Vranken|first2=Richard K.|publisher=Software Preservation Group, [[Computer History Museum]]|date= February 2009}}</ref><ref>{{cite journal |title= A directly coupled multiprocessing system |author= E. C. Smith |journal= IBM Systems Journal |date= September–December 1963 |volume= 2 |issue= 3 |pages= 218–229 |doi= 10.1147/sj.23.0218 }}</ref>


==Transistors and circuitry==
==Transistors and circuitry==
The 7090 used more than 50,000 germanium alloy-junction transistors and (faster) germanium diffused junction<ref name=diffused/> [[drift-field transistor|drift transistors]].<ref name=IBM-7090>[http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html 7090 Data Processing System]</ref>
The 7090 used more than 50,000 [[alloy-junction transistor|germanium alloy-junction transistors]] and (faster) germanium diffused junction<ref name=diffused/> [[drift-field transistor|drift transistors]].<ref name=IBM-7090>[https://web.archive.org/web/20050121014723/http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html 7090 Data Processing System]</ref>


The 7090 used the [[IBM Standard Modular System|Standard Modular System]] (SMS) cards using [[current-mode logic]]<ref>[http://files.righto.com/sms/AA.html SMS AA: Two-Way AND (current mode)]</ref> some using diffused junction drift transistors.<ref name=diffused>[http://files.righto.com/sms/DBZV.html SMS DBZV: Two-Way AND, Type B]</ref>
The 7090 used the [[IBM Standard Modular System|Standard Modular System]] (SMS) cards using [[current-mode logic]]<ref>[http://files.righto.com/sms/AA.html SMS AA: Two-Way AND (current mode)]</ref> some using diffused junction drift transistors.<ref name=diffused>[http://files.righto.com/sms/DBZV.html SMS DBZV: Two-Way AND, Type B]</ref>


==Instruction and data formats==
==Instruction and data formats==
The basic instruction format were the same as the [[IBM 709]]:
The basic instruction formats 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 three-bit opcode (''prefix''), 15-bit ''decrement'' (D), three-bit ''tag'' (T), and 15-bit ''address'' (Y)
Line 36: Line 172:
*Variations of the above with different allocation of bits 12-17 or different allocations of bits 18-35
*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
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
;T=0
Line 48: Line 183:
: subtract the index register from Y
: 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.
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
Data formats are
*[[Fixed-point arithmetic|Fixed-point]] numbers were stored in binary [[Signed number representations#Signed magnitude representation|sign/magnitude format]].
*[[Fixed-point arithmetic|Fixed-point]] numbers were stored in binary [[Signed number representations#Sign–magnitude|sign/magnitude format]].
* [[Single-precision]] [[floating-point]] numbers had a magnitude sign, an eight-bit excess-128 exponent and a 27-bit magnitude (the float number was binary rather than hexadecimal introduced later for system 360)
* [[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.
*[[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.
*Alphanumeric characters were six-bit [[BCD (character encoding)|BCD]], packed six to a word.


[[Octal]] notation wass used in documentation and programming; console displays lights and switches were grouped into three-bit fields for easy conversion to and from octal.
[[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==
==Input/output==
[[Image:IBM 7090 computer.jpg|thumb|left|IBM 7090 operator's console at the NASA [[Ames Research Center]] in 1961, with two banks of IBM 729 magnetic tape drives. The card reader is in front of the man and woman at right.]]
[[Image:IBM 7090 computer.jpg|thumb|left|An IBM 7090 at the NASA [[Ames Research Center]] in 1961, with the director of Ames and several IBM employees. The IBM 7151 Console Control Unit is on the right with two banks of [[IBM 729]] magnetic tape drives in back. The [[IBM 711]] card reader is in front of the man and woman at right.]]
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.
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
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
Line 76: Line 211:
[[Image:NASAComputerRoom7090.NARA.jpg|thumb|280px|Dual 7090s at NASA during [[Project Mercury]].]]
[[Image:NASAComputerRoom7090.NARA.jpg|thumb|280px|Dual 7090s at NASA during [[Project Mercury]].]]


*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]].<ref name=7094CTSS>[http://multicians.org/thvv/7094.html The IBM 7094 and CTSS] Also contains links to many original CTSS documents</ref>
*The [[Compatible Time-Sharing System]] (CTSS), the first general purpose [[time-sharing]] operating system,<ref>{{cite report |last1=Singh |first1=Jai P. |last2=Morgan |first2=Robert P. |date=October 1971 |title=Educational Computer Utilization and Computer Communications |url=https://files.eric.ed.gov/fulltext/ED057575.pdf |publisher=Washington University |location=St. Louis, MO |id=National Aeronautics and Space Administration Grant No. Y/NGL-26-008-054 |page=13 |access-date=March 8, 2022 |quote=Much of the early development in the time-sharing field took place on university campuses.<sup>8</sup> Notable examples are the CTSS (Compatible Time-Sharing System) at MIT, which was the first general purpose time-sharing system...}}</ref> developed at [[Massachusetts Institute of Technology|MIT]]'s Computation Center on three successive computers, an IBM 709, 7090 and 7094 with [[Request price quotation|RPQs]] for additional features. It eventually ran on two separate 7094s, one of them at [[MIT Computer Science and Artificial Intelligence Laboratory#Project MAC|Project MAC]].<ref>{{cite web |url=https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/RPQs/RPQs.html |title=IBM 7094 Hardware Modifications for CTSS (RPQs) |author=<!--Not stated--> |date=n.d. |publisher=[[Massachusetts Institute of Technology]] |access-date=March 29, 2022}}</ref><ref name=7094CTSS>[http://multicians.org/thvv/7094.html The IBM 7094 and CTSS] Also contains links to many original CTSS documents</ref><ref name="ctsspg69">{{cite web |url=http://www.bitsavers.org/pdf/mit/ctss/CTSS_ProgrammersGuide_Dec69.pdf |title=The Compatible Time-Sharing System, A Programmer's Guide |editor-last=Crisman |editor-first=P.A. |date=December 31, 1969 |publisher=The M.I.T Computation Center |access-date=March 10, 2022}}</ref>
*It was the first computer to sing, singing "[[Daisy Bell]]".
*[[NASA]] used 7090s, and, later, 7094s to control the [[Project Mercury|Mercury]] and [[Project Gemini|Gemini]] space flights. [[Goddard Space Flight Center]] operated three 7094s. During the early [[Project Apollo|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. {{Citation needed|date=June 2010}}
*[[NASA]] used 7090s, and, later, 7094s to control the [[Project Mercury|Mercury]] and [[Project Gemini|Gemini]] space flights. [[Goddard Space Flight Center]] operated three 7094s. During the early [[Project Apollo|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. {{Citation needed|date=June 2010}}
*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). {{underdiscussion-inline|Re: Notable applications: JPL}}
*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). {{underdiscussion-inline|Re: Notable applications: JPL}}
*Erhard Glatzel used an IBM 7090 to assist in calculations for the design of the [[Carl Zeiss Planar 50mm f/0.7]] lens commissioned by NASA. This lens was also used by [[Stanley Kubrick]] to shoot candlelit scenes in [[Barry Lyndon]].<ref>{{cite web | url=http://www.marcocavina.com/omaggio_a_kubrick.htm | title=Omaggio All }}</ref>
*An IBM 7090 was installed at LASL, Los Alamos Scientific Laboratory (Now [[Los Alamos National Laboratory]]).
*An IBM 7090 was installed at LASL, Los Alamos Scientific Laboratory (Now [[Los Alamos National Laboratory]]).
*In 1961, an IBM 7090 was the first computer to sing. The specific song was "[[Daisy Bell]]".
*In 1961, Alexander Hurwitz used a 7090 to discover two [[Mersenne prime]]s, with 1,281 and 1,332 digits—the [[largest known prime number]] at the time.
*In 1961, Alexander Hurwitz used a 7090 to discover two [[Mersenne prime]]s, with 1,281 and 1,332 digits—the [[largest known prime number]] at the time.
*In 1961, [[Michael Minovitch]] used [[University of California, Los Angeles|UCLA]]'s 7090 to tackle the [[three-body problem]]. His research was the scientific foundation of [[NASA]]'s [[Planetary Grand Tour]] project.<ref>{{cite news |url=https://www.bbc.co.uk/news/science-environment-20033940 |title=The maths that made Voyager possible |first1=Christopher |last1=Riley |first2=Dallas |last2=Campbell |work=[[BBC News]] |date=23 October 2012 }}</ref>
*In 1961, [[Michael Minovitch]] used [[University of California, Los Angeles|UCLA]]'s 7090 to tackle the [[three-body problem]]. His research was the scientific foundation of [[NASA]]'s [[Planetary Grand Tour]] project.<ref>{{cite news |url=https://www.bbc.co.uk/news/science-environment-20033940 |title=The maths that made Voyager possible |first1=Christopher |last1=Riley |first2=Dallas |last2=Campbell |work=[[BBC News]] |date=October 23, 2012 }}</ref>
*On February 13, 1961, an IBM 7090 was installed at the Woomera Long Range Weapons Establishment in Southern Australia.<ref>{{Cite book|title=Fire Across the Desert: Woomera and the Anglo-Australian Joint Project 1946-1980|last=Morton|first=Peter|publisher=Australian Government Publishing Service|year=1989|isbn=0644475005|location=Canberra|pages=}}</ref>
*On February 13, 1961, an IBM 7090 was installed at the Woomera Long Range Weapons Establishment in Southern Australia.<ref>{{Cite book|title=Fire Across the Desert: Woomera and the Anglo-Australian Joint Project 1946-1980|last=Morton|first=Peter|publisher=Australian Government Publishing Service|year=1989|isbn=0644475005|location=Canberra}} </ref><ref>{{cite book |last1=Morton |first1=Peter |title=Fire across the Desert : Woomera and the Anglo-Australian Joint Project 1946-1980 |date=1989 |publisher=AGPS Press |location=Canberra |isbn=0-6481804-0-9 |url=https://www.dst.defence.gov.au/publication/fire-across-the-desert |format=PDF Digitised 2017}}</ref>
*In 1962, a pair of 7090s in [[Briarcliff Manor, New York]], were the basis for the original version of the [[Sabre (computer system)|SABRE]] airlines reservation system introduced by American Airlines.
*In 1962, a pair of 7090s in [[Briarcliff Manor, New York]], were the basis for the original version of the [[Sabre (computer system)|SABRE]] airlines reservation system introduced by American Airlines.
*The composer [[Iannis Xenakis]] wrote his piece "Atrées" using an IBM 7090 at [[Place Vendôme]], Paris.
*The composer [[Iannis Xenakis]] wrote his piece "Atrées" using an IBM 7090 at [[Place Vendôme]], Paris.
*In 1962, [[Daniel Shanks]] and [[John Wrench]] used an IBM 7090 to compute the first 100,000 digits of {{pi}}.<ref name="Shanks & Wrench">{{Cite journal|last1=Shanks|first1=D.|last2=Wrench, Jr.|first2=J. W.|author2-link=John Wrench|year=1962|title=Calculation of {{pi}} to 100,000 decimals|journal=Mathematics of Computation|publisher=American Mathematical Society|volume=16|issue=77|pages=76–99|doi=10.2307/2003813|jstor=2003813|author1-link=Daniel Shanks}}.</ref>
*In 1962, [[Daniel Shanks]] and [[John Wrench]] used an IBM 7090 to compute the first 100,000 digits of {{pi}}.<ref name="Shanks & Wrench">{{Cite journal|last1=Shanks|first1=D.|last2=Wrench Jr.|first2=J. W.|author2-link=John Wrench|year=1962|title=Calculation of {{pi}} to 100,000 decimals|journal=Mathematics of Computation|publisher=American Mathematical Society|volume=16|issue=77|pages=76–99|doi=10.2307/2003813|jstor=2003813|author1-link=Daniel Shanks}}.</ref>
*In 1963, three 7090 systems were imported into and installed in Japan, 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, Kanagawa|Kawasaki]]. They were mainly used for scientific computing.
*In 1963, three 7090 systems were imported into and installed in Japan, 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, Kanagawa|Kawasaki]]. They were mainly used for scientific computing.
*In 1964, an early version of [[TRACE (computer program)|TRACE]], a high-precision [[orbit determination]] and orbit propagation program, was used on an IBM 7090 computer.<ref>{{cite book|last=Mercer|first=R. J.|title=Trace. Aerospace Orbit Determination Program|date=1964|publisher=Defense Technical Information Center|url=https://books.google.com/books?id=dj-ytgAACAAJ}}</ref>
*In 1964, an early version of [[TRACE (computer program)|TRACE]], a high-precision [[orbit determination]] and orbit propagation program, was used on an IBM 7090 computer.<ref>{{cite book|last=Mercer|first=R. J.|title=Trace. Aerospace Orbit Determination Program|date=1964|publisher=Defense Technical Information Center|url=https://books.google.com/books?id=dj-ytgAACAAJ}}</ref>
*[[Operation Match]], the first computer dating service in the U.S., begun in 1965, used a 7090 at the Avco service bureau in Wilmington, Massachusetts.<ref name="crimson">{{Cite web|url=https://www.thecrimson.com/article/1965/11/3/operation-match-pif-you-stop-to/|title=Operation Match|last=Mathews|first=T. Jay|date=November 3, 1965|website=The Harvard Crimson|access-date=July 22, 2020}}</ref>
*[[Operation Match]], the first computer dating service in the U.S., begun in 1965, used a 7090 at the Avco service bureau in Wilmington, Massachusetts.<ref name="crimson">{{Cite web|url=https://www.thecrimson.com/article/1965/11/3/operation-match-pif-you-stop-to/|title=Operation Match|last=Mathews|first=T. Jay|date=November 3, 1965|website=The Harvard Crimson|access-date=July 22, 2020}}</ref>
*In 1967, Roger N. Shepard adapted M.V. Mathews' algorithm using an IBM 7090 to synthesize [[Shepard tone]]s.<ref>{{cite journal | author=[[Roger N. Shepard]] | title=Circularity in Judgements of Relative Pitch | journal=Journal of the Acoustical Society of America | volume=36 | issue=12 |date=December 1964 | pages=2346–53 | doi=10.1121/1.1919362 | bibcode=1964ASAJ...36.2346S | url=http://scitation.aip.org/docserver/fulltext/asa/journal/jasa/36/12/1.1919362.pdf?expires=1395757814&id=id&accname=408113&checksum=959B1C96D5DC3407A04C0568AE8A418D }}</ref>
*In 1967, Roger N. Shepard adapted M.V. Mathews' algorithm using an IBM 7090 to synthesize [[Shepard tone]]s.<ref>{{cite journal | author=Roger N. Shepard | author-link=Roger N. Shepard | title=Circularity in Judgements of Relative Pitch | journal=Journal of the Acoustical Society of America | volume=36 | issue=12 |date=December 1964 | pages=2346–53 | doi=10.1121/1.1919362 | bibcode=1964ASAJ...36.2346S | url=http://scitation.aip.org/docserver/fulltext/asa/journal/jasa/36/12/1.1919362.pdf?expires=1395757814&id=id&accname=408113&checksum=959B1C96D5DC3407A04C0568AE8A418D }}</ref>
*American composer [[Gerald Strang]] used the 7090/7094 for his series of works under the title ''Compusition'', composed between 1969 and 1972 at [[Bell Labs]].
*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. 7090 serial number 1 and serial number 3 were installed at [[Thule Air Base]] in [[Greenland]] for this application.
*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. 7090 serial number 1 and serial number 3 were installed at [[Thule Air Base]] in [[Greenland]] for this application.
*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.
*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 {{clarify span|text=ported|explain=Did they port or re-write?|date=April 2022}} to its {{clarify span|text=successor,|explain=Is the CDC Cyber 175 a successor or a replacement?|date=April 2022}} a dual-processor [[CDC Cyber]] 175.{{cite needed|date=April 2022}}


=== In the media ===
=== In the media ===
Line 98: Line 235:
* 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
* 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]].''
* 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]]''.

== Competitors ==
Despite its commercial success, the IBM 7090 faced competition in the market. Notable contemporary competitors included, in alphabetical order:

* [[Bull Gamma 60]]

* [[Burroughs Large Systems]]
* [[CDC 1604]]
* [[CDC 3600]]
* [[Atlas (computer)|Ferranti Atlas]]
* [[GE-600 series]]
* [[Honeywell 800]]
* [[Philco computers#S-2000|Philco TRANSAC S-2000]]
* RCA 601
* Sylvania 9300

* [[UNIVAC 1100/2200 series]]
* [[UNIVAC 1107]]


==See also==
==See also==
Line 105: Line 261:
*[[IBM 704]]
*[[IBM 704]]
*[[IBM 709]]
*[[IBM 709]]
*[[IBM 7040]]
*[[IBM 711]] card reader
*[[IBM 711]] card reader
*[[IBM 716]] line printer
*[[IBM 716]] line printer
Line 111: Line 266:
*[[SHARE Operating System|SHARE]] and [[IBSYS]] operating systems
*[[SHARE Operating System|SHARE]] and [[IBSYS]] operating systems
*[[SQUOZE]]
*[[SQUOZE]]
*[[UNIVAC 1100/2200 series]], UNIVAC's 36-bit scientific computing family
*[[University of Michigan Executive System]]
*[[University of Michigan Executive System]]
*[[List of IBM products]]


==References==
==References==
Line 125: Line 280:
| publisher = IBM
| publisher = IBM
}}
}}
* {{cite book |title=Programming and Coding the IBM 709-7090-7094 Computers |author-first=Philip M. |author-last=Sherman |date=1963 |publisher=[[John Wiley & Sons, Inc.]] |location=[[Bell Telephone Laboratories]], Murray Hill, New Jersey, USA |edition=1 |publication-place=New York / London / Sydney |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/7090/books/Sherman_Programming_and_Coding_the_IBM_709-7090-7094_Computers_1963.pdf |access-date=2020-06-18 |url-status=live |archive-url=https://web.archive.org/web/20200618125754/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/7090/books/Sherman_Programming_and_Coding_the_IBM_709-7090-7094_Computers_1963.pdf |archive-date=2020-06-18}}
* {{cite book |title=Programming and Coding the IBM 709-7090-7094 Computers |author-first=Philip M. |author-last=Sherman |date=1963 |publisher=[[John Wiley & Sons, Inc.]] |location=[[Bell Telephone Laboratories]], Murray Hill, New Jersey, USA |edition=1 |publication-place=New York / London / Sydney |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/7090/books/Sherman_Programming_and_Coding_the_IBM_709-7090-7094_Computers_1963.pdf |access-date=June 18, 2020 |url-status=live |archive-url=https://web.archive.org/web/20200618125754/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/7090/books/Sherman_Programming_and_Coding_the_IBM_709-7090-7094_Computers_1963.pdf |archive-date=June 18, 2020}}


==External links==
==External links==
*[http://www-1.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html IBM Archives - 7090]
*[http://www-1.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html IBM Archives - 7090]
*[http://www.ed-thelen.org/comp-hist/BRL61-ibm7070.html#IBM-7090 IBM 7090 Data Processing System from BRL61 Report]
*[http://www.ed-thelen.org/comp-hist/BRL61-ibm7070.html#IBM-7090 IBM 7090 Data Processing System from BRL61 Report]
*[http://www.frobenius.com/7090.htm IBM 7090/94 Architecture page]
*[http://www.frobenius.com/7090.htm IBM 7090/94 Architecture page] {{Webarchive|url=https://web.archive.org/web/20120522215131/http://www.frobenius.com/7090.htm |date=May 22, 2012 }}
*[http://www.317x.com/albums/i/IBM/card2.html 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).
*[http://www.317x.com/albums/i/IBM/card2.html IBM 7090 Music From Mathematics] {{Webarchive|url=https://web.archive.org/web/20120205233843/http://www.317x.com/albums/i/IBM/card2.html |date=February 5, 2012 }} 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).
*[http://audio.textfiles.com/sounds/daisy.mp3 IBM 7094 singing Daisy (mp3) ]
*[http://audio.textfiles.com/sounds/daisy.mp3 IBM 7094 singing Daisy (mp3) ]
*[http://simh.trailing-edge.com Bob Supnik's SimH project] – Includes a simulator for the 7090/7094 in a user-modifiable package
*[http://simh.trailing-edge.com Bob Supnik's SimH project] – Includes a simulator for the 7090/7094 in a user-modifiable package
Line 146: Line 301:
{{s-aft|after=[[UNIVAC LARC]]}}
{{s-aft|after=[[UNIVAC LARC]]}}
{{S-end}}
{{S-end}}
{{Authority control}}


[[Category:IBM transistorized computers|7090]]
[[Category:IBM transistorized computers|7090]]

Latest revision as of 02:42, 25 December 2024

IBM 7151 Console Control Unit for 7090

The IBM 7090 is a second-generation transistorized version of the earlier IBM 709 vacuum tube mainframe computer that was designed for "large-scale scientific and technological applications". The 7090 is the fourth member of the IBM 700/7000 series scientific computers. The first 7090 installation was in December 1959.[1] In 1960, a typical system sold for $2.9 million (equivalent to $23 million in 2023) or could be rented for $63,500 a month (equivalent to $501,000 in 2023).

The 7090 uses a 36-bit word length, with an address space of 32,768 words (15-bit addresses).[2] It operates with a basic memory cycle of 2.18 μs, using the IBM 7302 Core Storage core memory technology from the IBM 7030 (Stretch) project.

With a processing speed of around 100 Kflop/s,[3] the 7090 is six times faster than the 709, and could be rented for half the price.[4] An upgraded version, the 7094, was up to twice as fast. Both the 7090 and the 7094 were withdrawn from sale on July 14, 1969, but systems remained in service for more than a decade after.[5][6] In 1961, the IBM 7094 famously employed a speech synthesis program to sing "Daisy Bell", becoming something of a cultural icon.

Development and naming

[edit]

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).[citation needed]

IBM 7094

[edit]
IBM 7094 registers
Data registers
S Q P 1 2 3 ... 17 18 19 20 21 ... 35 (bit position)
Accumulator AC
S   Multiplier/Quotient MQ
0 1 2 3 ... 17 18 19 20 21 ... 35 (bit position)
  Sense Indicators SI
Index registers
3 ... 17 (bit position)
  Index Register 1   XR1 (XRA)
  Index Register 2   XR2 (XRB)
  Index Register 3   XR1
  Index Register 4   XR4 (XRC)
  Index Register 5   XR5
  Index Register 6   XR6
  Index Register 7   XR7
Instruction counter
3 ... 17 (bit position)
  Instruction Counter   IC
IBM 7151-2 Console Control Unit for 7094 showing additional index register displays in a distinctive extra box on top. Note "Multiple Tag Mode" light in the top center.

An upgraded version, the IBM 7094, was first installed in September 1962. It has seven index registers, instead of three on the earlier machines. The 7151-2 Console Control Unit for the 7094 has a distinctive box on top that displays lights for the four new index registers.[7] The 7094 introduced double-precision floating point and additional instructions, but largely maintained backward compatibility with the 7090. Although the 7094 has four more index registers than the 709 and 7090, at power-on time it is in multiple tag mode,[8]: 8  compatible with the 709 and 7090, and requires a Leave Multiple Tag Mode[8]: 56  instruction in order to enter seven index register mode and use all seven index registers. In multiple tag mode, when more than one bit is set in the tag field, the contents of the two or three selected index registers are logically ORed, not added, together, before the decrement takes place. In seven index register mode, if the three-bit tag field is not zero, it selects just one of seven index registers, however, the program can return to multiple tag mode with the instruction Enter Multiple Tag Mode,[8]: 55  restoring 7090 compatibility.

In April 1964, the first 7094 II was installed, which had almost twice as much general speed as the 7094 due to a faster clock cycle, dual memory banks and improved overlap of instruction execution, an early instance of pipelined design.[9]

The IBM 7094 was the first computer ever to fully sing a song using only synthesizers.

IBM 7040/7044

[edit]

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

[edit]

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.[10][11]

Transistors and circuitry

[edit]

The 7090 used more than 50,000 germanium alloy-junction transistors and (faster) germanium diffused junction[12] drift transistors.[13]

The 7090 used the Standard Modular System (SMS) cards using current-mode logic[14] some using diffused junction drift transistors.[12]

Instruction and data formats

[edit]

The basic instruction formats 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 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 (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, 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

[edit]
An IBM 7090 at the NASA Ames Research Center in 1961, with the director of Ames and several IBM employees. The IBM 7151 Console Control Unit is on the right with two banks of IBM 729 magnetic tape drives in back. The IBM 711 card reader is in front of the man and woman at right.

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; 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

[edit]

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.

IBSYS is a "heavy duty" production operating system with numerous subsystem and language support options, among them 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, (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

[edit]
Dual 7090s at NASA during Project Mercury.

In the media

[edit]
  • A 7090/1401 installation is featured in the motion picture Dr. Strangelove, with the 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.

Competitors

[edit]

Despite its commercial success, the IBM 7090 faced competition in the market. Notable contemporary competitors included, in alphabetical order:

See also

[edit]

References

[edit]
  1. ^ IBM states "the first 7090 was installed in December, 1959" at 7090 Data Processing System
  2. ^ Hayes, John.P (1978). Computer Architecture and Organization. p. 33. ISBN 0-07-027363-4.
  3. ^ Bailey, David (n.d.). "Performance of future high-end computers". ResearchGate. p. 4. Retrieved April 16, 2022.
  4. ^ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and early 370 systems. MIT Press. p. 36. ISBN 0-262-16123-0.
  5. ^ "7090 Data Processing System". IBM. n.d. Retrieved April 16, 2022.
  6. ^ "7094 Data Processing System". IBM. n.d. Retrieved April 16, 2022.
  7. ^ "The IBM 7094".
  8. ^ a b c IBM 7094 Principles of Operation (PDF). IBM. October 21, 1966. A22-6703-4.
  9. ^ IBM 7094 Model II Data Processing System (PDF). IBM. A22-6760.
  10. ^ Patrick, Robert L.; Van Vranken, Richard K. (February 2009). "The Direct Couple for the IBM 7090". Software Preservation Group, Computer History Museum.
  11. ^ E. C. Smith (September–December 1963). "A directly coupled multiprocessing system". IBM Systems Journal. 2 (3): 218–229. doi:10.1147/sj.23.0218.
  12. ^ a b SMS DBZV: Two-Way AND, Type B
  13. ^ 7090 Data Processing System
  14. ^ SMS AA: Two-Way AND (current mode)
  15. ^ Singh, Jai P.; Morgan, Robert P. (October 1971). Educational Computer Utilization and Computer Communications (PDF) (Report). St. Louis, MO: Washington University. p. 13. National Aeronautics and Space Administration Grant No. Y/NGL-26-008-054. Retrieved March 8, 2022. Much of the early development in the time-sharing field took place on university campuses.8 Notable examples are the CTSS (Compatible Time-Sharing System) at MIT, which was the first general purpose time-sharing system...
  16. ^ "IBM 7094 Hardware Modifications for CTSS (RPQs)". Massachusetts Institute of Technology. n.d. Retrieved March 29, 2022.
  17. ^ The IBM 7094 and CTSS Also contains links to many original CTSS documents
  18. ^ Crisman, P.A., ed. (December 31, 1969). "The Compatible Time-Sharing System, A Programmer's Guide" (PDF). The M.I.T Computation Center. Retrieved March 10, 2022.
  19. ^ "Omaggio All".
  20. ^ Riley, Christopher; Campbell, Dallas (October 23, 2012). "The maths that made Voyager possible". BBC News.
  21. ^ Morton, Peter (1989). Fire Across the Desert: Woomera and the Anglo-Australian Joint Project 1946-1980. Canberra: Australian Government Publishing Service. ISBN 0644475005.
  22. ^ Morton, Peter (1989). Fire across the Desert : Woomera and the Anglo-Australian Joint Project 1946-1980 (PDF Digitised 2017). Canberra: AGPS Press. ISBN 0-6481804-0-9.
  23. ^ Shanks, D.; Wrench Jr., J. W. (1962). "Calculation of π to 100,000 decimals". Mathematics of Computation. 16 (77). American Mathematical Society: 76–99. doi:10.2307/2003813. JSTOR 2003813..
  24. ^ Mercer, R. J. (1964). Trace. Aerospace Orbit Determination Program. Defense Technical Information Center.
  25. ^ Mathews, T. Jay (November 3, 1965). "Operation Match". The Harvard Crimson. Retrieved July 22, 2020.
  26. ^ Roger N. Shepard (December 1964). "Circularity in Judgements of Relative Pitch" (PDF). Journal of the Acoustical Society of America. 36 (12): 2346–53. Bibcode:1964ASAJ...36.2346S. doi:10.1121/1.1919362.

Further reading

[edit]
[edit]
Records
Preceded by World's most powerful computer
1960
Succeeded by