Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM 709
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Vacuum tube computer system, 1959}} [[File:IBM 709 front panel at CHM.agr.jpg|thumb|IBM 709 front panel at the [[Computer History Museum]]]] The '''IBM 709''' is a [[computer]] system that was announced by [[IBM]] in January 1957<ref>{{Cite book|url=https://books.google.com/books?id=ZI-1AAAAIAAJ&q=709+1958|title=IBM and the U.S. data processing industry: an economic history|last1=Fisher|first1=Franklin M.|last2=McKie|first2=James W.|last3=Mancke|first3=Richard B.|date=October 1983|publisher=Praeger|isbn=9780030630590|pages=37|language=en}}</ref> and first installed during August 1958.<ref>{{Cite book|url=https://books.google.com/books?id=bOlEAAAAIAAJ&q=ibm+709+August+1958|title=The Composition of the Computer Market: Past, Present, Future : a Report|last=Schulz|first=Peter R.|date=1970|publisher=Stanford-Sloan Program, Graduate School of Business, Stanford University|pages=8|language=en}}</ref><ref>{{Cite book|url=https://books.google.com/books?id=YcBYAAAAMAAJ&q=%22ibm+709%22+August+1958|title=An introduction to automatic computers|last=Chapin|first=Ned|date=1963|publisher=Van Nostrand|pages=192|language=en}}</ref><ref>{{Cite web|url=http://personal.anderson.ucla.edu/clay.sprowls/history/WDPC/RFP/negotiatons.htm|title=WDPC Negotiations|website=personal.anderson.ucla.edu|others=September 16, 1958: The IBM 709 computer arrives (26 tons of iron)|access-date=2018-01-21|quote=Use of the big computer, second of its type to come off the assembly line, is being given to the WDPC (...)|archive-date=2006-09-12|archive-url=https://web.archive.org/web/20060912154821/http://personal.anderson.ucla.edu/clay.sprowls/history/WDPC/RFP/negotiatons.htm|url-status=dead}}</ref> The 709 was an improved version of its predecessor, the [[IBM 704]], and was the third of the [[IBM 700/7000 series#Scientific Architecture|IBM 700/7000 series]] of scientific computers. The improvements included overlapped input/output, [[indirect address]]ing, and three "convert" instructions which provided support for [[decimal]] arithmetic, leading zero suppression, and several other operations. The 709 had 32,768 words of [[36-bit]] [[magnetic-core memory]] and could execute 42,000 add or subtract instructions per second. It could multiply two 36-bit integers at a rate of 5000 per second.<ref>[http://www.columbia.edu/acis/history/ibm709.html IBM 709 at Columbia University history page]</ref> An optional hardware [[emulator]] executed old IBM 704 programs on the IBM 709. This was the first commercially available emulator. Registers and most 704 instructions were emulated in 709 hardware. Complex 704 instructions such as floating-point trap and input-output routines were emulated in 709 software. The [[FORTRAN Assembly Program]] was introduced for the 709. It was a large system; customer installations used 100 to 250 kW to run them and almost as much again on the cooling. It weighed about {{convert|2110|lb|kg}} (without peripheral equipment).<ref name=Report>[http://ed-thelen.org/comp-hist/BRL61-ibm0709.html IBM 709 Data Processing System] BRL report, (details of each installation) with photos</ref> The 709 was built using [[vacuum tube]]s. IBM announced a transistorized version of the 709, called the [[IBM 7090]], in 1958, only a year after the announcement of the 709, thus cutting short the 709's product life. ==Registers== {| class="infobox" style="font-size:88%;width:34em;" |+ IBM 709 registers |- | {| style="font-size:88%;width:100%;" |- | style="width:10px; text-align:left" | <sup>3</sup><sub>7</sub> | style="width:10px; text-align:left" | <sup>3</sup><sub>6</sub> | style="width:10px; text-align:left" | <sup>3</sup><sub>5</sub> | style="width:60px; text-align:center"| ... | style="width:10px; text-align:left" | <sup>3</sup><sub>1</sub> | style="width:60px; text-align:center"| ... | style="width:10px; text-align:right" | <sup>2</sup><sub>3</sub> | style="width:60px; text-align:center"| ... | style="width:10px; text-align:center"| <sup>1</sup><sub>5</sub> | style="width:10px; text-align:center"| <sup>1</sup><sub>4</sub> | style="width:60px; text-align:center"| ... | style="width:10px; text-align:center"| <sup>0</sup><sub>7</sub> | style="width:60px; text-align:center"| ... | style="width:10px; text-align:center"| <sup>0</sup><sub>0</sub> | style="width:auto; background:white; color:black" | ''(bit position)'' |- |colspan="15" | '''Data registers''' |- style="background:silver;color:black" | style="text-align:center;" colspan="14"| AC | style="background:white; color:black" | Accumlator |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="2" | | style="text-align:center;" colspan="12"| MQ | style="background:white; color:black" | Multiplier/Quotient |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="2" | | style="text-align:center;" colspan="12"| SI | style="background:white; color:black" | Sense Indicator |- |colspan="15" | '''Index registers''' |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="9" | | style="text-align:center;" colspan="5"| XR1 | style="background:white; color:black" | Index 1 |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="9" | | style="text-align:center;" colspan="5"| XR2 | style="background:white; color:black" | Index 2 |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="9" | | style="text-align:center;" colspan="5"| XR3 | style="background:white; color:black" | Index 3 |- |colspan="15" | '''Program counter''' |- style="background:silver;color:black" | style="text-align:center;background:white;" colspan="9"| | style="text-align:center;" colspan="5"| PC | style="background:white; color:black;"| Program Counter |} |} The IBM 709 has a 38-bit accumulator, a 36-bit multiplier/quotient register, and three 15-bit [[index register]]s whose contents are subtracted from the base address instead of being added to it. All three index registers can participate in an instruction: the three-bit ''tag'' field in the instruction is a bit map specifying which of the registers participate in the operation, however if more than one index register is specified, their contents are combined by a [[logical or]] operation, not addition.<ref name=709refman>IBM 709 Reference Manual, Form A22-6501-0, 1958</ref><sup>p. 12</sup> ==Instruction and data formats== There are five instruction formats, referred to as Types A, B, C, D and E.<ref name=709refman/> Most instructions are of type B.<ref>{{cite web | title=From the IBM 704 to the IBM 7094 | author=John Savard | url=http://www.quadibloc.com/comp/cp0309.htm | access-date=2009-11-15}}</ref> Type A instructions have, in sequence, a 3-bit ''prefix'' (instruction code), a 15-bit ''decrement'' field, a 3-bit ''tag'' field, and a 15-bit ''address'' field. They are conditional jump operations based on the values in the decrement registers specified in the ''tag'' field. Some also subtract the ''decrement'' field from the contents of the index registers. The implementation requires that the second two bits of the instruction code be non-zero, giving a total of six possible type A instructions. One (STR, instruction code binary 101) was not implemented until the IBM 709. Type B instructions have, in sequence, a 12-bit instruction code (with the second and third bits set to 0 to distinguish them from type A instructions), a 2-bit ''flag'' field, four unused bits, a 3-bit ''tag'' field, and a 15-bit ''address'' field. Types C, D and E are used for specialized instructions. * Fixed-point numbers are stored in binary [[Computer numbering formats|sign/magnitude format]]. * Single-precision [[floating-point]] numbers have a sign, an 8-bit excess-128 exponent and a 27-bit fraction (there was no "hidden bit"). * Alphanumeric characters are 6-bit [[Binary-coded decimal#IBM and BCD|BCD]], packed six to a word. The instruction set implicitly subdivides the data format into the same fields as type A instructions: prefix, decrement, tag and address. Instructions exist to modify each of these fields in a data word without changing the remainder of the word. ==I/O channel== The primary improvements of the 709 over the previous 704 involved more magnetic-core memory and apparently the first use of independent I/O channels. Whereas I/O on the 704 is a programmed function of the central processor - data words are transferred to or from the I/O register, one at a time, using a "copy" instruction - the 709 uses the IBM-766 data synchronizer, which provides two independently "programmed" I/O channels. Up to three Data Synchronizers can be attached to a 709, each able to control up to 20 [[IBM 729]] tape drives and an [[IBM 716]] alphanumeric line printer, [[IBM 711]] card-reader and 721 card punch. This allows six times as many I/O devices on the 709, and allows I/O to proceed on multiple devices while program execution continues in parallel. Up to two IBM 733 [[Drum memory|Magnetic Drum]] units, each with 8,192 words of memory, could be attached independently from the Data Synchronizers. The 709 could initially load programs ([[booting|boot]]) from card, tape or drum.<ref name=709refman />{{rp|113}} The [[IBM 738]] Magnetic Core Storage used on the 709 was also a milestone of hybrid technology. Although the core array drivers all used vacuum tubes, the read sense amplifiers were a very early use of transistors in computing. ==See also== * [[List of vacuum tube computers]] * [[IBM 740]] CRT recorder * [[SHARE Operating System]] (SOS) * [[SQUOZE]] ==References== {{reflist}} ==Further reading== * {{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}} ==External links== * [https://web.archive.org/web/20050114203044/http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP709.html 709 Data Processing System] β IBM history * [http://ed-thelen.org/comp-hist/BRL61-ibm0709.html IBM 709 Data Processing System] β BRL report, (details of each installation) with photos * [http://www.columbia.edu/acis/history/ibm709.html IBM 709 page at Columbia University] β with photos {{IBM vacuum tube computers}} [[Category:IBM vacuum tube computers|709]] [[Category:IBM 700/7000 series|7 0709]] [[Category:Computer-related introductions in 1958]] [[Category:36-bit computers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Convert
(
edit
)
Template:IBM vacuum tube computers
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:Short description
(
edit
)