CDC 7600

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jztinfinity (talk | contribs) at 20:23, 25 September 2011 (→‎Reception and Usage). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The CDC 7600 was the Seymour Cray-designed successor to the CDC 6600, extending Control Data's dominance of the supercomputer field into the 1970s. The 7600 ran at 36.4 MHz (27.5 ns clock cycle) and had a 65 Kword primary memory using core and variable-size (up to 512 Kword) secondary memory (depending on site). It was generally about ten times as fast as the CDC 6600, and could deliver about 10 MFLOPS on hand-compiled code, with a peak of 36 MFLOPS.[1] In addition, in benchmark tests in early 1970 it was shown to be slightly faster than its IBM rival, the IBM System 360, Model 195.[2] When the system was released in 1969, it carried a price tag around $5 million,[3] more as options and features were added.

Design

After the 6600 started to near production quality, Cray lost interest in it and turned to designing its replacement. Making a machine "somewhat" faster would not be too difficult in the late 1960s; the introduction of integrated circuits allowed for denser packing of components, and in turn a high clock speed. Transistors in general were also getting somewhat faster as the production processes and quality improved. However these sorts of improvements might be expected to make a machine twice as fast, perhaps as much as five times, but not the tenfold increase he demanded. Likewise the 6600 already had a hard time filling its existing ten functional units, so simply adding more parallelism wouldn't help all that much.

In order to solve this problem, Cray turned to the concept of an instruction pipeline. While the 6600 could work on several instructions at once, it had to wait for any one to complete its trip through a functional unit before moving on to the next. For some period of time, the majority of the circuitry in any one unit was not being used. A pipeline improves on this by feeding in the next instruction before the first has completed, thereby having each unit effectively work in "parallel", as well as the machine as a whole. The improvement in performance generally depends on the number of steps the unit takes to complete, for instance, the 6600's divide unit took 10 cycles to complete an instruction, so by pipelining the units it could be expected to gain about 10 times the speed.

Things are never that simple, however. Pipelining requires that the unit's internals can be effectively separated to the point where each step of the operation is running on completely separate circuitry. This is rarely achievable in the real world. Nevertheless, the use of pipelining on the 7600 improved performance over the 6600 by a factor of about 3.

As always, Cray's design also focussed on packaging to reduce size, shorten signal paths, and thereby increase operating frequency. For the 7600 each circuit module actually consisted of up to six PC boards, each one stuffed with subminiature resistors, diodes, and transistors. The six boards were stacked up and then interconnected along their edges, making for a very compact, but basically unrepairable module.

However the same dense packing also led to the machine's biggest problem—heat. For the 7600, Cray once again turned to his refrigeration engineer, Dean Roush, formerly of the Amana company. Roush added an aluminum plate to the back of each side of the cordwood stack, which were in turn cooled by a liquid freon system running through the core of the machine. Since the system was mechanical and therefore prone to failure, the 7600 was redesigned into a large "C" shape to allow access to the modules on either side of the cooling piping by walking into the inside of the C and opening the cabinet.

Relationship with the CDC 6600

Although the 7600 shared many features of the 6600, including hardware, instructions, and its 60-bit word size, it was not object-code compatible with the CDC 6600. In addition, it was not entirely source-code (COMPASS) compatible, as some instructions in the 7600 did not exist in the 6600, and vice-versa. It had originally been named the CDC 6800, but was changed to 7600 when Cray decided it could not be completely compatible. However, due to the 7600's operating system design, the 6600 and 7600 shared a "uniform software environment" despite the low-level differences.[2]

In fact, from a high-level perspective, the 7600 was quite similar to the 6600. At the time computer memory could be arranged in blocks with independent access paths, and Cray's designs used this to their advantage. While most machines would use a single CPU to run all the functionality of the system, Cray realized that this meant each memory block spent a considerable amount of time idle while the CPU was processing instructions and accessing other blocks. In order to take advantage of this, the 6600 and 7600 left mundane housekeeping tasks, printing output or reading punched cards for instance, to a series of ten smaller 12-bit machines based on the CDC 160A known as Peripheral Processors or PP's. For any given cycle of the machine one of the PP's was in control, feeding data into the memory while the main processor was crunching numbers. When the cycle completed, the next PP was given control. In this way the memory always held up-to-date information for the main processor to work on (barring delays in the external devices themselves), eliminating delays on data as well as allowing the CPU to be built for mathematical performance and nothing else. The PPU could have been called a very smart "communications channel".

Like the 6600, the 7600 used 60-bit words with instructions that were generally 15-bits in length (although there were longer versions). However the instruction set itself had changed to reflect the new internal memory layout, thereby rendering it incompatible with the earlier 6600. The machines were similar enough to make porting of compilers and operating systems possible without too much trouble. The machine initially did not come with software; sites had to be willing to write their own operating system, like NLTSS, NCAROS, and others; and compilers like LRLTRAN [Livermore's version of Fortran with dynamic memory management and other non-standard features].

Reception and Usage

From the period from about 1969 to 1975, the CDC 7600 was generally regarded as the fastest computer in the world,[1] except for specialized units. However, even with the advanced mechanicals and cooling the 7600 was prone to failure. Both LLNL and NCAR reported that the machine would break down at least once a day, often 4 or 5 times. Acceptance at installation sites took years while the bugs were worked out, and while the machine generally sold well enough given its "high end" niche, it is unlikely the machine generated any sort of real profits for CDC. The successor CDC 8600 was never completed, and Seymour Cray went on to form his own company, Cray Research.[1]

One surviving 7600 is partially on display at the Computer History Museum.[3] Its sheer size allows only 2 corner units to be shown. The rest is in storage.

Another 7600 is on display at the Chippewa Falls Museum of Industry and Technology, along with its console and a tape controller.

References

  1. ^ a b c Gordon Bell - A Seymore Cray Perspective
  2. ^ a b "Control Data Corporation (CDC) 7600: 1971–1983". Computational and Information Systems Labratory. University Corporation for Atmospheric Research. Archived from the original on 20 July 2011. Retrieved 25 September 2011.
  3. ^ a b "7600 Supercomputer". Collections. Computer History Museum. Retrieved 25 September 2011.

External links