On this page
In 1964 a computer from Control Data Corporation took the world speed record and kept it for five years. Its designer, Seymour Cray, won by letting many parts of the machine work at once, and by removing the heat that came from packing those parts close together.
What was the CDC 6600, and why is it called the first supercomputer?
The Computer History Museum records that the CDC 6600 "toppled speed records in 1964" and executed 3,000,000 instructions per second. The museum describes it as almost 10 times faster than any computer built before it. It was not surpassed until the CDC 7600 in 1969, another Cray design.
The same page says the 6600 had 400,000 transistors and more than 100 miles of wiring, and that Control Data sold about 100 of them. That commercial success is why The Register calls it "the first ever successful supercomputer design." The museum also quotes IBM chief Tom Watson Jr.'s memo asking how IBM had lost "our industry leadership" to a company with "34 people, including the janitor."
In his foreword to Design of a Computer: The Control Data 6600, published in 1970, Cray wrote that James Thornton "was personally responsible for most of the detailed design."
How did parallel units make the CDC 6600 fast?
In the same foreword, Cray contrasted the 6600 with the "one address sequential machines" that launched the computing industry, which worked through a program one operation at a time. The 6600's central processor instead had ten functional units that were independent of each other and could operate simultaneously, according to Thornton's book. There were two floating multiply units and two increment units, plus one unit each for floating add, floating divide, fixed add, Boolean logic, shift and branch.
A control unit called the scoreboard sent each instruction out only when the unit it needed was free and the register for its answer was not reserved. Thornton wrote that in a typical program "at least two or three functional units will be in operation simultaneously."
Input and output went to ten small peripheral processors, each with its own memory of 4,096 12-bit words, which took most of that work off the central processor.
A worked example: one unit at a time versus parallel units
Thornton's book lists how long each instruction took, in minor cycles of 100 nanoseconds. A floating multiply took 10 minor cycles, a floating add took 4, and an increment took 3.
Suppose a program needs X = (a × b) + (c × d) and must also add 1 to a loop counter.
One unit at a time: 10 + 10 + 4 + 3 = 27 minor cycles, or 2.7 microseconds.
With the 6600's units: both multiplies start together on the two multiply units, and an increment unit updates the counter at the same moment. The add must wait for both products, so it runs from cycle 10 to cycle 14.
Result: 14 minor cycles, or 1.4 microseconds, for the same work.
This simplified model ignores instruction fetch and issue time; the diagram at the top draws it to scale.
Now try (a × b) + (c × d) + (e × f) with two multiply units and one add unit. One at a time takes 38 minor cycles; parallel units take 24. Can you draw that timeline?
Why did the CDC 6600 need Freon cooling?
Thornton wrote that large computers needed high packing density to reach higher speeds. The cost: as more parts were crowded together, the power dissipated per cubic foot rose, so his team had to examine alternatives to traditional air cooling.
The 6600 was built from "cordwood" modules: two printed circuit boards side by side, with transistors and resistors packed between them. Heat travelled by conduction through the board, the module plate and the compartment walls into metal cold bars. Each bar carried a copper tube connected to a Freon refrigeration system. The cold bars were held at no lower than 60°F (about 16°C), and the room's humidity had to be controlled so that water would not condense on the cold metal. Tightly packed chips still need cooling; see why your laptop needs a cooling fan.
Heat flow is easier to follow when you can watch it. The Fermi Simulation Lab has interactive simulations for ideas that are easier to see than to read.
What can students learn from Cray's design?
Use the 6600's logic on any multi-step problem, such as a long physics numerical:
List every step.
Mark which steps need another step's answer first.
Group the independent steps; they can be done together or in any order.
Find the longest chain of dependent steps. That chain, not the number of steps, sets the total time.
For supercomputers at work today, see how IMD uses supercomputers to forecast India's weather, and how Jule Charney ran the first computer weather forecast on ENIAC.
If step 2 is where you get stuck in a numerical, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer.



