All Topics  
CDC 6600

 
CDC 6600

   Email Print
   Bookmark   Link






 

CDC 6600



 
 
The CDC 6600 was a mainframe computer
Mainframe computer

Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing....
 from Control Data Corporation
Control Data Corporation

Control Data Corporation was one of the pioneering supercomputer firms. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s to what was effectively a spinoff, after Seymour Cray left the company to found Cray Research, Inc....
, first delivered in 1964. It is generally considered to be the first successful supercomputer
Supercomputer

A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputers introduced in the 1960s were designed primarily by Seymour Cray at Control Data Corporation , and led the market into the 1970s until Cray left to form his own company, Cray Research....
, outperforming its fastest predecessor, IBM 7030 Stretch, by about three times. It remained the world's fastest computer from 1964 to 1969, when it relinquished that status to its successor, the CDC 7600
CDC 7600

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 system organization of the CDC 6600 was used for the simpler (and slower) CDC 6400
CDC 6400

The CDC 6400, a member of the CDC 6000 series, was a Mainframe computer computer made by Control Data Corporation in the 1960s. The central processing unit was architecturally compatible with the CDC 6600....
, and later a version containing two 6400 processors known as the CDC 6500.






Discussion
Ask a question about 'CDC 6600'
Start a new discussion about 'CDC 6600'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The CDC 6600 was a mainframe computer
Mainframe computer

Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, Enterprise Resource Planning, and financial transaction processing....
 from Control Data Corporation
Control Data Corporation

Control Data Corporation was one of the pioneering supercomputer firms. For most of the 1960s, it built the fastest computers in the world by far, only losing that crown in the 1970s to what was effectively a spinoff, after Seymour Cray left the company to found Cray Research, Inc....
, first delivered in 1964. It is generally considered to be the first successful supercomputer
Supercomputer

A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation. Supercomputers introduced in the 1960s were designed primarily by Seymour Cray at Control Data Corporation , and led the market into the 1970s until Cray left to form his own company, Cray Research....
, outperforming its fastest predecessor, IBM 7030 Stretch, by about three times. It remained the world's fastest computer from 1964 to 1969, when it relinquished that status to its successor, the CDC 7600
CDC 7600

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 system organization of the CDC 6600 was used for the simpler (and slower) CDC 6400
CDC 6400

The CDC 6400, a member of the CDC 6000 series, was a Mainframe computer computer made by Control Data Corporation in the 1960s. The central processing unit was architecturally compatible with the CDC 6600....
, and later a version containing two 6400 processors known as the CDC 6500. These machines were instruction-compatible with the 6600, but ran slower due to a much simpler and more sequential processor design. The entire family is now referred to as the CDC 6000 series
CDC 6000 series

The CDC 6000 series was a family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time....
. The CDC 7600
CDC 7600

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....
 was originally to be compatible as well, starting its life as the CDC 6800, but during the design compatibility was dropped in favor of outright performance. The 7600 and 6600 were binary compatible, but the software developed in Sunnyvale was not compatible on the two machines.

History and impact


CDC's first products were based on the machines designed at ERA
Engineering Research Associates

Engineering Research Associates, commonly known as ERA, was a pioneering computer firm from the 1950s. They became famous for their numerical computers, but as the market expanded they became better known for their drum memory systems....
, which Seymour Cray
Seymour Cray

Seymour Roger Cray was a United States electrical engineer and supercomputer architect who designed a series of computers that were the fastest in the world for decades, and founded the company Cray Research which would build many of these machines....
 had been asked to update after moving to CDC. After an experimental machine known as the Little Character, they delivered the CDC 1604
CDC 1604

The CDC 1604 was a 48-bit computer designed and manufactured by Seymour Cray and his team at the Control Data Corporation. The 1604 is known as the first commercially successful transistorized computer....
, one of the first commercial transistor
Transistor

In electronics, a transistor is a semiconductor device commonly used to Electronic amplifier or switch Electronics signals. A transistor is made of a solid piece of a semiconductor material, with at least three terminals for connection to an external circuit....
-based computers, and one of the fastest machines on the market. Management was delighted, and made plans for a new series of machines that were more tailored to business use; they would include instructions for character handling and record keeping for instance. Cray was not interested in such a project, and set himself the goal of producing a new machine that would be 50 times faster than the 1604. When asked to complete a detailed report on future plans at one and five years into the future, he wrote back that his five year goal was "to produce the largest computer in the world", "large" at that time being synonymous with "fast", and that his one year plan was "to be one-fifth of the way".

Taking his core team to new offices nearby the original CDC headquarters, they started to experiment with higher quality versions of the "cheap" transistors Cray had used in the 1604. After much experimentation they found that there was simply no way the germanium
Germanium

Germanium is a chemical element with the symbol Ge and atomic number 32. It is a lustrous, hard, greyish-white metalloid in the carbon group, chemically similar to its group neighbors tin and silicon....
-based transistors could be run much faster than the 1604. The "business machine" that management had originally wanted, now forming as the CDC 3000
CDC 3000

The CDC 3000 series computers from Control Data Corporation were mid-1960s follow-ons to the CDC 1604 and CDC 924 systems. Over time, a range of machines were produced - divided into the 'upper 3000 series' and the 'lower 3000 series'....
 series, pushed them about as far as they could go. Cray then decided the solution was to work with the then-new silicon
Silicon

Silicon is the most common metalloid. It is a chemical element, which has the symbol Si and atomic number 14. The atomic mass is 28.0855....
-based transistors from Fairchild Semiconductor
Fairchild Semiconductor

Present day Fairchild Semiconductor International, Inc. is a spin-off company resulting from reconstitution of assets in National Semiconductor....
, which were just coming onto the market and offered dramatically improved switching performance.

During this period CDC grew from a startup to a large company and Cray became increasingly frustrated with what he saw as ridiculous management requirements. Things became considerably more tense in 1962 when the new CDC 3600 started to near production quality, and appeared to be exactly what management wanted, when they wanted it. Cray eventually told CDC's CEO, William Norris
William Norris

William Charles Norris was the pioneering CEO of Control Data Corporation, at one time one of the most powerful and respected computer companies in the world....
 that something had to change, or he would leave the company. Norris felt he was too important to lose, and gave Cray the green light to set up a new lab wherever he wanted.

After a short search, Cray decided to return to his home town of Chippewa Falls, WI, where he purchased a block of land and started up a new lab. Although this process introduced a fairly lengthy delay in the design of his new machine, once in the new lab things started to progress quickly. By this time the new transistors were becoming quite reliable, and modules built with them tended to work properly on the first try. Working with Jim Thornton, who was the system architect and the 'hidden genius' behind the 6600, the machine soon took form.

More than 100 CDC 6600s were sold over the machine's lifetime. Many of these went to various nuclear bomb-related labs, and quite a few found their way into university computing labs. Cray immediately turned his attention to its replacement, this time setting a goal of 10 times the performance of the 6600, delivered as the CDC 7600
CDC 7600

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 later CDC Cyber
CDC Cyber

The CDC Cyber range of mainframe computer-class supercomputers were the primary products of Control Data Corporation during the 1970s and 1980s....
 70 and 170 computers were very similar to the CDC 6600 in overall design.

Description


Typical machines of the era used a single complex CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 to drive the entire system. A typical program would first load data into memory (often using pre-rolled library code), process it, and then write it back out. This required the CPUs to be fairly complex in order to handle the complete set of instructions they would be called on to perform. A complex CPU implied a large CPU, introducing signalling delays while information flowed between the individual modules making it up. These delays set a maximum upper limit on performance, the machine could only operate at a cycle speed that allowed the signals time to arrive at the next module.

Cray took another approach. At the time, CPUs generally ran slower than the main memory they were attached to. For instance, a processor might take 15 cycles to multiply two numbers, while each memory access took only one or two. This meant there was a significant time where the main memory was idle. It was this idle time that the 6600 extracted.

Instead of trying to make the CPU handle all the tasks, the 6600s handled math and logic only. This resulted in a much smaller CPU, which in turn allowed it to operate at a higher clock speed. Combined with the faster switching speeds of the silicon transistors, the new CPU design would easily outperform anything then available. The new design ran at 10 MHz (100 ns cycle), about ten times that of other machines on the market. Additionally the simple processor also made operations themselves faster; for instance, the CPU could complete a multiplication in ten cycles.

Of course, being simple, the CPU wouldn't be able to do much. A typical CPU of the era had a complex instruction set
Complex instruction set computer

A complex instruction set computer is a computer instruction set architecture in which each instruction can execute several low-level operations, such as a load from Memory , an arithmetic operator, and a memory , all in a single instruction....
, which included instructions to handle all of the normal "housekeeping" tasks like memory access and input/output
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
. Cray instead implemented these instructions in a simpler processor dedicated solely to these tasks, thus leaving the CPU itself with many fewer instructions. (This was the first of what later came to be called reduced instruction set computer
Reduced instruction set computer

The acronym RISC , for reduced instruction set computing, represents a CPU design strategy emphasizing the insight that simplified instructions that "do less" may still provide for higher performance if this simplicity can be utilized to make instructions execute very quickly....
 (RISC) design.) By allowing the CPU, peripheral processors (PPs) and I/O to operate in parallel, the design considerably improved the performance of the machine. Under normal conditions a machine with two processors would also make the machine dramatically twice as expensive. Key to the 6600's design was to make the I/O processor, known as peripheral processors (PPs), as simple as possible. The PPs were based on the simple 12-bit CDC 160A
CDC 160A

The CDC 160 and CDC 160-A were 12-bit minicomputers built by Control Data Corporation from the late 1950s, through the mid-1960s. The 160 was designed by Seymour Cray - reportedly over a long three-day weekend....
, which ran much slower than the CPU, gathering up data and "squirting" it into main memory at high speed via dedicated hardware.

The machine as a whole operated in a fashion known as barrel and slot, the "barrel" referring to the ten PPs, and the "slot" the main CPU. For any given slice of time, one PP was given control of the CPU, asking it to complete some task (if required). Control was then handed off to the next PP in the barrel. Programs were written, with some difficulty, to take advantage of the exact timing of the machine to avoid any "dead time" on the CPU. With the CPU running much faster than normal each memory access required ten of these faster cycles to complete, so by using ten PPs, each PP was guaranteed one memory access per machine cycle.

The 10 PPs were implemented virtually - there was CPU hardware only for a single PP. This CPU hardware was shared and operated on 10 PP register sets which represented each of the 10 PP states (similar to modern multithreading
Temporal multithreading

Temporal multithreading is one of the two main forms of multithreading that can be implemented on computer processor hardware, the other form being simultaneous multithreading....
 processors). The PP register barrel
Barrel processor

A barrel processor is a Central processing unit that switches between Thread of execution on every Instruction cycle. This CPU design technique is also known as "interleaved" or "fine-grained" temporal multithreading....
 would "rotate", with each PP register set presented to the "slot" which the actual PP CPU occupied. The shared CPU would execute all or some portion of a PP's instruction whereupon the barrel would rotate again, presenting the next PP's register set (state). Multiple rotations of the barrel were needed to complete an instruction. A complete barrel rotation occurred in 1000 nanoseconds (100 nanoseconds per PP), and an instruction could take from 1 to 5 rotations of the barrel to be completed, or more if it was a data transfer instruction.

The basis for the 6600 CPU is what would today be referred to as a RISC system, one in which the processor is tuned to do instructions which are comparatively simple and have limited and well defined access to memory. The philosophy of many other machines was toward using instructions which were complicated—for example, a single instruction which would fetch an operand from memory and add it to a value in a register. In the 6600, loading the value from memory would require one instruction, and adding it would require a second. While slower in theory due to the additional memory accesses, the PPs offloaded this expense. This simplification also forced programmers to be very aware of their memory accesses, and therefore code deliberately to reduce them as much as possible.

The Central Processor (CP)

The Central Processor (CP) and main memory of the 6400, 6500, and 6600 machines have a 60 bit word length. The Central Processor has eight general purpose 60-bit
Bit

A bit is a binary numeral system numerical digit, taking a value of either 0 or 1. Binary digits are a basic unit of information Computer data storage and transmission in digital computing and digital information theory....
 registers
Processor register

In computer architecture, a processor register is a small amount of Computer storage available on the CPU whose contents can be accessed more quickly than storage available elsewhere....
 X0 through X7, eight 18-bit address registers A0 through A7, and eight 18-bit scratchpad registers B0 through B7 (typically used for array indexing, with B0 permanently set to zero). Additional registers used for bookkeeping (such as the scoreboard
Scoreboarding

Scoreboarding is a centralized method, used in the CDC 6600, for dynamically scheduling a Pipeline so that the instructions can Out-of-order execution when there are no conflicts and the hardware is available....
 register) are not accessible to the programmer. Additional registers (such as RA and FL) can only be loaded through the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
. The CP has no instructions for input and output, which are accomplished through Peripheral Processors (below). In keeping with the RISC "load/store" philosophy, there are no instructions to read or write from/to core memory. All memory accesses are performed through loading an address into the A registers; loading A1 through A5 with an address would cause the data word at that location to be read into the corresponding X register (X1 through X5), while loading an address into A6 or A7 would cause register X6 or X7 to be written out to memory at that address. (Registers X0 and A0 were not involved in load/store operations this way.) A separate hardware load/store unit handled the actual data movement independent of the operation of the instruction stream, allowing other operations to complete while memory was being accessed, which required (best case) eight cycles. In modern designs this sort of operation is normally supported directly by load/store instructions, which are given an explicit memory location to read or write, instead of the address registers used in the 6600. Floating-point operations were given pride of place in this architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
: the CDC 6600 (and kin) stand virtually alone in being able to execute a 60-bit floating point
Floating point

In computing, floating point describes a system for numerical representation in which a String of digits represents a rational number.The term floating point refers to the fact that the radix point can "float": that is, it can be placed anywhere relative to the Significant figures of the number....
 multiplication in time comparable to that for a program branch.

The 6600 CP included 10 parallel functional units, allowing multiple instructions to be worked on at the same time. Today this is known as a superscalar
Superscalar

A superscalar Central processing unit architecture implements a form of parallel computer called instruction level parallelism within a single processor....
 design, but was unique for its time. Unlike most modern CPU designs, functional units were not pipelined; the functional unit would become busy when an instruction was "issued" to it and would remain busy for the entire time required to execute that instruction. (By contrast, the CDC 7600 introduced pipelining into its functional units.) In the best case, an instruction could be issued to a functional unit every 100 ns clock cycle. The system read and decoded instructions from memory as fast as possible, generally faster than they could be completed, and fed them off to the units for processing. The units were:
  • floating point multiply (2 copies)
  • floating point divide
  • floating point add
  • "long" integer add
  • incrementers (2 copies; performed memory load/store)
  • shift
  • boolean logic
  • branch


Previously executed instructions went into an eight-word pipeline (officially called a "stack") kept in onboard CP registers. Since the 15-bit instructions were packed four to a word, the system could pick any one of up to 32 previous instructions to run depending on which units were free. The pipeline was always flushed by an unconditional jump; it was sometimes faster (and would never be slower) than a conditional jump. The system used a 10 megahertz clock, but used a four-phase signal, so the system could at times effectively operate at 40 MHz. A floating point multiplication took ten cycles, while a division took 29, and the overall performance considering memory delays and other issues was about 3 MFLOPS. Using the best available compilers, late in the machine's history, FORTRAN
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
 programs could expect to maintain about 0.5 MFLOPS.

Memory organization


User programs are restricted to use only a contiguous area of main memory. The portion of memory to which an executing program has access is controlled by the RA (Relative Address) and FL (Field Length) registers which are not accessible to the user program. When a user program tries to read or write a word in central memory at address a, the processor will first verify that a is between 0 and FL-1. If it is, the processor accesses the word in central memory at address RA+a. This process is known as base-bound relocation; each user program sees core memory as a contiguous block words with length FL, starting with address 0; in fact the program may be anywhere in the physical memory. Using this technique, each user program can be moved ("relocated") in main memory by the operating system, as long as the RA register reflects its position in memory. A user program which attempts to access memory outside the allowed range (that is, with an address which is not less than FL) will trigger an interrupt, and will be terminated by the operating system. When this happens, the operating system may create a core dump
Core dump

In computing, a core dump consists of the recorded state of the working Computer storage of a computer program at a specific time, generally when the program has terminated abnormally ....
 which records the contents of the program's memory and registers in a file, allowing the developer of the program a means to know what happened. Note the distinction with virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 systems; in this case, the entirety of a process's addressable space must be in core memory, must be contiguous, and its size cannot be larger than the real memory capacity.

All but the earliest 10 CDC 6000 series
CDC 6000 series

The CDC 6000 series was a family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time....
 machines could be configured with an optional Extended Core Storage (ECS) system. ECS was built from a different variety of core memory than was used in the central memory. This made it economical for it to be both larger and slower. The primary reason was that ECS memory was wired with only 2 wires per core (contrast with 4 for central memory), Because it performed very wide transfers, its sequential transfer rate was the same as that of the small core memory. A 6000 CPU could directly perform block memory transfers between a user's program (or operating system) and the ECS unit. Wide data paths were used, so this was a very fast operation. Memory bounds were maintained in a similar manner as central memory - with an RA/FL mechanism maintained by the operating system. ECS could be used for a variety of purposes, including containing user data arrays that were too large for central memory, holding often-used files, swapping, and even as a communication path in a multi-mainframe complex.

Peripheral Processors (PPs)

To handle the 'household' tasks which other designs put in the CPU, Cray included ten other processors, based partly on his earlier computer, the CDC 160A
CDC 160A

The CDC 160 and CDC 160-A were 12-bit minicomputers built by Control Data Corporation from the late 1950s, through the mid-1960s. The 160 was designed by Seymour Cray - reportedly over a long three-day weekend....
. These machines, called Peripheral Processors, or PPs, were full computers in their own right, but were tuned to performing I/O
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
 tasks and running the operating system. One of the PPs was in overall control of the machine, including control of the program running on the main CPU, while the others would be dedicated to various I/O tasks—quite similarly to I/O channels in IBM mainframe
IBM mainframe

IBM mainframes, though perceived as synonymous with mainframe computers in general due to their marketshare, are now technically and specifically IBM's line of business computers that can all trace their design evolution to the IBM System/360....
s of the time. When the program needed to perform some sort of I/O, it instead loaded a small program into one of these other machines and let it do the work. The PP would then inform the CPU when the task was complete with an interrupt.

Each PP included its own memory of 4096 12-bit words. This memory served for both for I/O buffering and program storage, but the execution units were shared by 10 PPs, in a configration called the Barrel and slot
Barrel processor

A barrel processor is a Central processing unit that switches between Thread of execution on every Instruction cycle. This CPU design technique is also known as "interleaved" or "fine-grained" temporal multithreading....
. This meant that the execution units (the "slot") would execute one instruction cycle from the first PP, then one instruction cycle from the second PP, etc. in a round robin fashion. This was done both to reduce costs, and because access to CP memory required 10 PP clock cycles: when a PP accesses CP memory, the data is available next time the PP receives its slot time.

Wordlengths, characters

The central processor had 60-bit words, whilst the peripheral processors had 12-bit words. CDC used the term "byte" to refer to 12-bit entities used by peripheral processors; characters were 6-bit, and central processor instructions were either 15 bits, or 30 bits with a signed 18-bit address field, the latter allowing for a directly addressable memory space of 128K words of central memory (converted to modern terms, with 8-bit bytes, this is 0.94 megabytes). The signed nature of the address registers limited an individual program to 128K words. (Later CDC 6000-compatible machines could have 256K or more words of central memory, budget permitting, but individual user programs were still limited to 128K words of CM.) Central processor instructions started on a word boundary when they were the target of a jump statement or subroutine return jump instruction, so no-operations were sometimes required to fill out the last 15, 30 or 45 bits of a word.

The 6-bit characters, in an encoding called display code
Display code

Display code is the 6-bit character set used by many computer systems manufactured by Control Data Corporation, notably the CDC 6600 in 1964. The CDC 6000 series, and their followons, had 60 bit words....
, could be used to store up to 10 characters in a word. They permitted a character set of 64 characters, which is enough for all upper case letters, digits, and some punctuation. Certainly, enough to write FORTRAN
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
, or print financial or scientific reports. There were actually two variations of the display code
Display code

Display code is the 6-bit character set used by many computer systems manufactured by Control Data Corporation, notably the CDC 6600 in 1964. The CDC 6000 series, and their followons, had 60 bit words....
 character sets in use, 64-character and 63-character. The 64-character set had the disadvantage that two consecutive ':' (colon) characters might be interpreted as the end of a line if they fell at the end of a 10-byte word. A later variant, called 6/12 display code
Display code

Display code is the 6-bit character set used by many computer systems manufactured by Control Data Corporation, notably the CDC 6600 in 1964. The CDC 6000 series, and their followons, had 60 bit words....
, was also used in the KRONOS and NOS
NOS (software)

NOS was an operating system with time-sharing capabilities, written by the Control Data Corporation in the 1970s. NOS ran on the 60-bit CDC 6000 series mainframe computers and their successors....
 timesharing systems to allow full use of the ASCII
ASCII

American Standard Code for Information Interchange , is a coding standard that can be used for interchanging information, if the information is expressed mainly by the written form of English words....
 character set in a manner somewhat compatible with older software.

With no byte addressing instructions at all, code had to be written to pack and shift characters into words. The very large words, and comparatively small amount of memory, meant that programmers would frequently economize on memory by packing data into words at the bit level.

It is interesting to note that due to the large word size, and with 10 characters per word, it was often faster to process words full of characters at a time - rather than unpacking/processing/repacking them. For example, the CDC COBOL
COBOL

COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
 compiler was actually quite good at processing decimal fields using this technique. These sorts of techniques are now commonly used in the 'multi-media' instructions of current processors.

Physical design

The machine was built in a plus-sign-shaped cabinet with a pump and heat exchanger in the outermost 18 inches of each of the 4 arms. Cooling was done with Freon
Freon

Freon is DuPont's trade name for its odorless, colorless, nonflammable, and noncorrosive chlorofluorocarbon and hydrochlorofluorocarbon refrigerants, which are used in air conditioning, refrigeration and some automatic fire-fighting systems....
 circulating within the machine and exchanging heat to an external chilled water supply. Each arm could hold 4 chassis, each about 8 inches thick, hinged near the center, and opening a bit like a book. The intersection of the "plus" was filled with cables which interconnected the chassis. The chassis were numbered from 1 (containing all 10 PPUs and their memories, as well as the 12 rather minimal I/O channels) to 16. The main memory for the CPU was spread over many of the chassis. In a system with only 64K words of main memory, one of the arms of the "plus" was omitted.

The logic of the machine was packaged into modules about 2.5 inches square and about an inch thick. Each module had a connector (roughly 20 pins in each of 2 vertical rows) on one edge, and 6 test points on the opposite edge. The module was placed between two aluminum cold plates to remove heat. The module itself consisted of two parallel printed circuit boards, with components mounted either on one of the boards or between the two boards. This provided a very dense, if somewhat difficult to repair, package with good heat removal that was known as cordwood packaging
Cordwood construction

Cordwood construction is a term used for a natural building method in which "cordwood" or short lengths pieces of debarked tree are laid up crosswise with masonry or Cob mixtures to build a wall....
.

Operating system and programming


If there was a sore point with the 6600 it was the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 support, which took entirely too long to work out.

The machines originally ran a very simple job-control
Batch processing

Batch processing is execution of a series of Computer programs on a computer without human interaction.Batch jobs are set up so they can be run to completion without human interaction, so all input data is preselected through Script s or command-line parameters....
 system known as COS (Chippewa Operating System), which was quickly "thrown together" based on the earlier CDC 3000
CDC 3000

The CDC 3000 series computers from Control Data Corporation were mid-1960s follow-ons to the CDC 1604 and CDC 924 systems. Over time, a range of machines were produced - divided into the 'upper 3000 series' and the 'lower 3000 series'....
 operating system in order to have something running to test the systems for delivery. However the machines were intended to be delivered with a much more powerful system known as SIPROS (for Simultaneous Processing Operating System), which was being developed at the company's System Sciences Division in Los Angeles
Los Ángeles

Los ?ngeles is the Capital of the Biob?o Province, in the municipality of the same name, in Regions of Chile VIII , in the center-south of Chile....
. Customers were impressed with SIPROS's feature list, and many had SIPROS written into their delivery contracts.

SIPROS turned out to be a major fiasco. Development timelines continued to slip, costing CDC major amounts of profit in the form of delivery delay penalties. After several months of waiting with the machines ready to be shipped, the project was eventually cancelled. Luckily the programmers who had worked on COS had little faith in SIPROS (likely due largely to not invented here
Not Invented Here

Not Invented Here is a term used to describe persistent sociological, Corporate culture or institutional culture that avoids using or buying already existing products, research or knowledge because of its different origins....
 syndrome) and had continued working on improving COS.

Operating system development
Operating system development

Operating system development refers to the development of operating systems, and it is often abbreviated to OSDev....
 then split into two camps. The CDC-sanctioned evolution of COS was undertaken at the Sunnyvale (California) software development lab. Many customers eventually took delivery of their systems with this software, then known as SCOPE
SCOPE (software)

SCOPE, an acronym for Supervisory Control Of Program Execution, was the name used by the Control Data Corporation for a number of operating system projects in the 1960s....
 (Supervisory Control Of Program Execution). (Some Control Data Field Engineers used to refer to SCOPE as Sunnyvale's Collection Of Programming Errors). SCOPE version 1 was, essentially, dis-assembled COS; SCOPE version 2 included new device and file system support; SCOPE version 3 included permanent file support, EI/200 remote batch support, and INTERCOM time sharing support. SCOPE always had significant reliability and maintainability issues.

The underground evolution of COS took place at the Arden Hills, Minnesota
Arden Hills, Minnesota

Arden Hills is a city in Ramsey County, Minnesota, Minnesota, United States. The population was 9,652 at the 2000 census. Bethel University and Seminary is located in the city of Arden Hills....
 assembly plant. MACE ([Greg] Mansfield And [Dave] Cahlander Executive) was written largely by a single programmer in the off-hours when machines were available. Its feature set was essentially the same as COS and SCOPE 1. It retained the earlier COS file system, but made significant advances in code modularity to improve system reliability and adaptiveness to new storage devices. MACE was never an official product, although many customers were able to wrangle a copy from CDC.

MACE was later used as the basis of KRONOS
Kronos

Kronos can refer to:*Cronus, a Titan, the father of ZeusIn computing*Kronos , a secret 32-bit graphical workstation developed in the Soviet Union in the mid-1980s....
, named after the Greek god of time
Chronos

In Greek mythology, Chronos in pre-Socratic philosophical works is said to be the personification of time. His name actually means "time," and is alternatively spelled Khronos or Chronus ....
. The main marketing reason for its adoption was the development of its TELEX time sharing feature and its BATCHIO remote batch feature. KRONOS continued to use the COS/SCOPE 1 file system with the addition of a permanent file feature.

An attempt to unify the SCOPE and KRONOS operating system products produced NOS
NOS (software)

NOS was an operating system with time-sharing capabilities, written by the Control Data Corporation in the 1970s. NOS ran on the 60-bit CDC 6000 series mainframe computers and their successors....
, (Network Operating System). NOS was intended to be the sole operating system for all CDC machines, a fact CDC promoted heavily. Many SCOPE customers remained software-dependent on the SCOPE architecture, so CDC simply renamed it NOS/BE (Batch Environment), and were able to claim that everyone was thus running NOS. In practice, it was far easier to modify the KRONOS code base to add SCOPE features than the reverse.

The assembly plant environment also produced other operating systems which were never intended for customer use. These included the engineering tools SMM for hardware testing, and KALEIDOSCOPE, for software smoke testing. Another commonly used tool for CDC Field Engineers during testing was MALET (Maintenance Application Language for Equipment Testing), which was used to stress test components and devices after repairs and/or servicing by engineers. Testing conditions often used hard disk packs and magnetic tapes which were deliberately marked with errors to determine if the errors would be detected by MALET and the engineer.

Emulation

Desktop CYBER
Desktop CYBER

Desktop CYBER accurately Emulator a range of Control Data Corporation CDC Cyber mainframe computer and Peripheral in software....
 emulates the CDC 6400 and various CDC CYBER mainframes in software running on modern desktop PCs.

See also

  • CDC 6000 series
    CDC 6000 series

    The CDC 6000 series was a family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time....


External links

  • – by C. Gordon Bell
    Gordon Bell

    C. Gordon Bell is a computer engineer and manager. An early employee of Digital Equipment Corporation , Bell designed several of their Programmed Data Processor machines and later became Vice President of Engineering, overseeing the development of the VAX....
     of Microsoft Research (formerly of DEC)