IBM 7030 Stretch


The IBM 7030, also known as Stretch, was IBM's first transistorized supercomputer. It was the fastest computer in the world from 1961 until the first CDC 6600 became operational in 1964.
Originally designed to meet a requirement formulated by Edward Teller at Lawrence Livermore National Laboratory, the first example was delivered to Los Alamos National Laboratory in 1961, and a second customized version, the IBM 7950 Harvest, to the National Security Agency in 1962. The Stretch at the Atomic Weapons Research Establishment at Aldermaston, England was heavily used by researchers there and at AERE Harwell, but only after the development of the S2 Fortran Compiler which was the first to add dynamic arrays, and which was later ported to the Ferranti Atlas of Atlas Computer Laboratory at Chilton.
The 7030 was much slower than expected and failed to meet its aggressive performance goals. IBM was forced to drop its price from $13.5 million to only $7.78 million and withdrew the 7030 from sales to customers beyond those having already negotiated contracts. PC World magazine named Stretch one of the biggest project management failures in IT history.
Within IBM, being eclipsed by the smaller Control Data Corporation seemed hard to accept. The project lead, Stephen W. Dunwell, was initially blackballed for his role in the "failure", but as the success of the IBM System/360 became obvious, he was given an official apology and, in 1966 was made an IBM Fellow.
In spite of Stretch's failure to meet its own performance goals, it served as the basis for many of the design features of the successful IBM System/360, which shipped in 1964.

Development history

In early 1955, Dr. Edward Teller of the University of California Radiation Laboratory wanted a new scientific computing system for three-dimensional hydrodynamic calculations. Proposals were requested from IBM and UNIVAC for this new system, to be called Livermore Automatic Reaction Calculator or LARC. According to IBM executive Cuthbert Hurd, such a system would cost roughly $2.5 million and would run at one to two MIPS. Delivery was to be two to three years after the contract was signed.
At IBM, a small team at Poughkeepsie including John Griffith and Gene Amdahl worked on the design proposal. Just after they finished and were about to present the proposal, Ralph Palmer stopped them and said, "It's a mistake." The proposed design would have been built with either point-contact transistors or surface-barrier transistors, both likely to be soon outperformed by the then newly invented diffusion transistor.
IBM returned to Livermore and stated that they were withdrawing from the contract, and instead proposed a dramatically better system, "We are not going to build that machine for you; we want to build something better! We do not know precisely what it will take but we think it will be another million dollars and another year, and we do not know how fast it will run but we would like to shoot for ten million instructions per second." Livermore was not impressed, and in May 1955 they announced that UNIVAC had won the LARC contract, now called the Livermore Automatic Research Computer. LARC would eventually be delivered in June 1960.
In September 1955, fearing that Los Alamos National Laboratory might also order a LARC, IBM submitted a preliminary proposal for a high-performance binary computer based on the improved version of the design that Livermore had rejected, which they received with interest. In January 1956, Project Stretch was formally initiated. In November 1956, IBM won the contract with the aggressive performance goal of a "speed at least 100 times the IBM 704". Delivery was slated for 1960.
During design, it proved necessary to reduce the clock speeds, making it clear that Stretch could not meet its aggressive performance goals, but estimates of performance ranged from 60 to 100 times the IBM 704. In 1960, the price of $13.5 million was set for the IBM 7030. In 1961, actual benchmarks indicated that the performance of the IBM 7030 was only about 30 times the IBM 704, causing considerable embarrassment for IBM. In May 1961, Tom Watson announced a price cut of all 7030s under negotiation to $7.78 million and immediate withdrawal of the product from further sales.
Its floating-point addition time was 1.38–1.5 microseconds, multiplication time was 2.48–2.70 microseconds, and division time was 9.00–9.90 microseconds.

Technical impact

While the IBM 7030 was not considered successful, it spawned many technologies incorporated in future machines that were highly successful. The Standard Modular System transistor logic was the basis for the IBM 7090 line of scientific computers, the IBM 7070 and 7080 business computers, the IBM 7040 and IBM 1400 lines, and the IBM 1620 small scientific computer; the 7030 used about transistors. The IBM 7302 Model I Core Storage units were also used in the IBM 7090, IBM 7070 and IBM 7080. Multiprogramming, memory protection, generalized interrupts, the eight-bit byte for I/O
were all concepts later incorporated in the IBM System/360 line of computers as well as most later CPUs.
Stephen Dunwell, the project manager who became a scapegoat when Stretch failed commercially, pointed out soon after the phenomenally successful 1964 launch of System/360 that most of its core concepts were pioneered by Stretch. By 1966 he had received an apology and been made an IBM Fellow, a high honor that carried with it resources and authority to pursue one's desired research.
Instruction pipelining, prefetch and decoding, and memory interleaving were used in later supercomputer designs such as the IBM System/360 Models 91, 95 and IBM System/370 Model 195, and the IBM 3090 series as well as computers from other manufacturers., these techniques are still used in most advanced microprocessors starting with the Intel Pentium and the Motorola/IBM PowerPC, as well as in many embedded microprocessors and microcontrollers from various manufacturers.

Hardware implementation

The 7030 CPU uses emitter-coupled logic on 18 types of Standard Modular System cards. It uses 4,025 double cards and 18,747 single cards, holding 169,100 transistors, requiring a total of 21 kW power. It uses high-speed NPN and PNP germanium drift transistors, with cut-off frequency over 100 MHz, and using ~50 mW each. Some third level circuits use a 3rd voltage level. Each logic level has a delay of about 20 ns. To gain speed in critical areas emitter-follower logic is used to reduce the delay to about 10 ns.
It uses the same core memory as the IBM 7090.

Installations

  1. Los Alamos Scientific Laboratory in April 1961, accepted in May 1961, and used until June 21, 1971.
  2. U.S. National Security Agency in February 1962 as the main CPU of the IBM 7950 Harvest system, used until 1976, when the IBM 7955 Tractor tape system developed problems due to worn cams that could not be replaced.
  3. Lawrence Livermore National Laboratory, Livermore, California.
  4. Atomic Weapons Establishment, Aldermaston, England.
  5. U.S. Weather Bureau.
  6. MITRE Corporation, used until August 1971. In the spring of 1972, it was sold to Brigham Young University, where it was used by the physics department until scrapped in 1982.
  7. U.S. Navy Dahlgren Naval Proving Ground.
  8. IBM.
  9. Commissariat à l'énergie atomique, France.
The Lawrence Livermore Laboratory's IBM 7030 and portions of the MITRE Corporation/Brigham Young University IBM 7030 now reside in the Computer History Museum collection, in Mountain View, California.

Architecture

Data formats

Instructions are either 32-bit or 64-bit.

Registers

The registers overlay the first 32 addresses of memory as shown.
! AddressMnemonicRegisterStored in:
0$Z64-bit zero: always reads as zero, cannot be changed by writesMain core storage
1$ITinterval timer : decremented at 1024 Hz, recycles about every 8.5 minutes, at zero it turns on the "time signal indicator" in the indicator registerIndex core storage
1$TC36-bit time clock : count of 1024 Hz ticks, bits 38..63 increment once per second, recycles each ~777 days.Index core storage
2$IA18-bit interruption addressMain core storage
3$UB18-bit upper boundary address Transistor register
3$LB18-bit lower boundary address Transistor register
31-bit boundary control : determines whether addresses within or outside the boundary addresses are protectedTransistor register
464-bit maintenance bits: only used for maintenanceMain core storage
5$CAchannel address : readonly, set by the "exchange", an i/o processorTransistor register
6$CPUSother CPU bits : signaling mechanism for a cluster of up to 20 CPUsTransistor register
7$LZCleft zeroes count : number of leading zero bits from a connective result or floating point operationTransistor register
7$AOCall-ones count : count of bits set in connective result or decimal multiple or divideTransistor register
8$LLeft half of 128-bit accumulatorTransistor register
9$RRight half of 128-bit accumulatorTransistor register
10$SBaccumulator sign byte Transistor register
11$INDindicator register Transistor register
12$MASK64-bit mask register: bits 0..19 always 1, bits 20..47 writable, bits 48..63 always 0Transistor register
13$RM64-bit remainder register: set by integer and floating point divide instructions onlyMain core storage
14$FT64-bit factor register: changed only by the "load factor" instructionMain core storage
15$TR64-bit transit registerMain core storage
16
...
31
$X0
...
$X15
64-bit index registers Index core storage

The accumulator and index registers operate in sign-and-magnitude format.

Memory

Main memory is 16K to 256K 64-bit binary words, in banks of 16K.
The memory was immersion oil-heated/cooled to stabilize its operating characteristics.

Software