IBM 709

Last updated
IBM 709 front panel at the Computer History Museum IBM 709 front panel at CHM.agr.jpg
IBM 709 front panel at the Computer History Museum

The IBM 709 is a computer system that was initially announced by IBM in January 1957 [1] and first installed during August 1958. [2] [3] [4] The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific computers. The improvements included overlapped input/output, indirect addressing, 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. [5]

Contents

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 2,110 pounds (960 kg) (without peripheral equipment). [6] The 709 was built using vacuum tubes.

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

IBM 709 registers
373635...31...23...1514...07...00(bit position)
Data registers
ACAccumlator
 MQMultiplier/Quotient
 SISense Indicator
Index registers
 XR1Index 1
 XR2Index 2
 XR3Index 3
Program counter
 PCProgram Counter

The IBM 709 has a 38-bit accumulator, a 36-bit multiplier/quotient register, and three 15-bit index registers whose contents are subtracted from the base address instead of being added to it. All three index registers can participate in an instruction: the 3-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. [7] p. 12

Instruction and data formats

There are five instruction formats, referred to as Types A, B, C, D and E. [7] Most instructions are of type B. [8]

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.

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 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 709, and allows I/O to proceed on multiple devices while program execution continues in parallel. Up to two IBM 733 Magnetic Drum units, each with 8,192 words of memory, could be attached independently from the Data Synchronizers. The 709 could initially load programs (boot) from card, tape or drum. [7] :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

Related Research Articles

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<span class="mw-page-title-main">Machine code</span> Lowest level instructions executed by a computer

In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers machine code is "the binary representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions ."

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and fixed point binary, fixed point decimal and hexadecimal floating-point calculations.

In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation of that ISA.

The GE-600 series is a family of 36-bit mainframe computers originating in the 1960s, built by General Electric (GE). When GE left the mainframe business the line was sold to Honeywell, which built similar systems into the 1990s as the division moved to Groupe Bull and then NEC.

<span class="mw-page-title-main">IBM 704</span> Vacuum-tube computer system

The IBM 704 is the model name of a large digital mainframe computer introduced by IBM in 1954. Designed by John Backus and Gene Amdahl, it was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 Manual of operation states:

The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.

<span class="mw-page-title-main">IBM 650</span> Vacuum-tube 1950s computer system

The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass-produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the first computer to make a meaningful profit. The first one was installed in late 1954 and it was the most popular computer of the 1950s.

<span class="mw-page-title-main">IBM 7090</span> Mainframe computer

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. In 1960, a typical system sold for $2.9 million or could be rented for $63,500 a month.

<span class="mw-page-title-main">Apollo Guidance Computer</span> Guidance and navigation computer used in Apollo spacecraft

The Apollo Guidance Computer (AGC) was a digital computer produced for the Apollo program that was installed on board each Apollo command module (CM) and Apollo Lunar Module (LM). The AGC provided computation and electronic interfaces for guidance, navigation, and control of the spacecraft. The AGC was the first computer based on silicon integrated circuits. The computer's performance was comparable to the first generation of home computers from the late 1970s, such as the Apple II, TRS-80, and Commodore PET.

<span class="mw-page-title-main">IBM 701</span> Vacuum-tube computer system

The IBM 701 Electronic Data Processing Machine, known as the Defense Calculator while in development, was IBM’s first commercial scientific computer and its first series production mainframe computer, which was announced to the public on May 21, 1952. It was designed and developed by Jerrier Haddad and Nathaniel Rochester and was based on the IAS machine at Princeton.

The Cyclone is a vacuum-tube computer, built by Iowa State College at Ames, Iowa. The computer was commissioned in July 1959. It was based on the IAS architecture developed by John von Neumann. The Cyclone was based on ILLIAC, the University of Illinois Automatic Computer. The Cyclone used 40-bit words, used two 20-bit instructions per word, and each instruction had an eight-bit op-code and a 12-bit operand or address field. In general IAS-based computers were not code compatible with each other, although originally math routines which ran on the ILLIAC would also run on the Cyclone.

In computer programming, CAR (car) and CDR (cdr) are primitive operations on cons cells introduced in the Lisp programming language. A cons cell is composed of two pointers; the car operation extracts the first pointer, and the cdr operation extracts the second.

<span class="mw-page-title-main">UNIVAC 1103</span> Univac computer introduced in 1953

The UNIVAC 1103 or ERA 1103, a successor to the UNIVAC 1101, is a computer system designed by Engineering Research Associates and built by the Remington Rand corporation in October 1953. It was the first computer for which Seymour Cray was credited with design work.

<span class="mw-page-title-main">IBM 700/7000 series</span> Mainframe computer systems made by IBM through the 1950s and early 1960s

The IBM 700/7000 series is a series of large-scale (mainframe) computer systems that were made by IBM through the 1950s and early 1960s. The series includes several different, incompatible processor architectures. The 700s use vacuum-tube logic and were made obsolete by the introduction of the transistorized 7000s. The 7000s, in turn, were eventually replaced with System/360, which was announced in 1964. However the 360/65, the first 360 powerful enough to replace 7000s, did not become available until November 1965. Early problems with OS/360 and the high cost of converting software kept many 7000s in service for years afterward.

<span class="mw-page-title-main">Index register</span> CPU register used for modifying operand addresses

An index register in a computer's CPU is a processor register used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for holding loop iterations and counters. In some architectures it is used for read/writing blocks of memory. Depending on the architecture it may be a dedicated index register or a general-purpose register. Some instruction sets allow more than one index register to be used; in that case additional instruction fields may specify which index registers to use.

In computing, channel I/O is a high-performance input/output (I/O) architecture that is implemented in various forms on a number of computer architectures, especially on mainframe computers. In the past, channels were generally implemented with custom devices, variously named channel, I/O processor, I/O controller, I/O synchronizer, or DMA controller.

<span class="mw-page-title-main">IBM 7070</span> Decimal computer introduced by IBM in 1958

IBM 7070 is a decimal-architecture intermediate data-processing system that was introduced by IBM in 1958. It was part of the IBM 700/7000 series, and was based on discrete transistors rather than the vacuum tubes of the 1950s. It was the company's first transistorized stored-program computer.

<span class="mw-page-title-main">Monrobot XI</span> Computer introduced in 1960

The Monroe Calculating Machine Mark XI was a general-purpose stored-program electronic digital computer introduced in 1960 by the Monroe Calculating Machine Division of Litton Industries. The system was marketed for "primarily for billing, and invoice writing", but could also be used for low-end scientific computing.

Philco was one of the pioneers of transistorized computers, also known as second generation computers. After the company developed the surface barrier transistor, which was much faster than previous point-contact types, it was awarded contracts for military and government computers. Commercialized derivatives of some of these designs became successful business and scientific computers. The TRANSAC Model S-1000 was released as a scientific computer. The TRANSAC S-2000 mainframe computer system was first produced in 1958, and a family of compatible machines, with increasing performance, was released over the next several years.

References

  1. Fisher, Franklin M.; McKie, James W.; Mancke, Richard B. (October 1983). IBM and the U.S. data processing industry: an economic history. Praeger. p. 37. ISBN   9780030630590.
  2. Schulz, Peter R. (1970). The Composition of the Computer Market: Past, Present, Future : a Report. Stanford-Sloan Program, Graduate School of Business, Stanford University. p. 8.
  3. Chapin, Ned (1963). An introduction to automatic computers. Van Nostrand. p. 192.
  4. "WDPC Negotiations". personal.anderson.ucla.edu. September 16, 1958: The IBM 709 computer arrives (26 tons of iron). Archived from the original on 2006-09-12. Retrieved 2018-01-21. Use of the big computer, second of its type to come off the assembly line, is being given to the WDPC (...){{cite web}}: CS1 maint: others (link)
  5. IBM 709 at Columbia University history page
  6. IBM 709 Data Processing System BRL report, (details of each installation) with photos
  7. 1 2 3 IBM 709 Reference Manual, Form A22-6501-0, 1958
  8. John Savard. "From the IBM 704 to the IBM 7094" . Retrieved 2009-11-15.

Further reading