# CDC 3000 series

The CDC 3000 series ("thirty-six hundred" or "thirty-one hundred") are a family of mainframe computers from Control Data Corporation (CDC). The first member, the CDC 3600, was a 48-bit system introduced in 1963. The same basic design led to the cut-down CDC 3400 of 1964, and then the 24-bit CDC 3300, 3200 and 3100 introduced between 1964 and 1965. The 3000 series replaced the earlier CDC 1604 and CDC 924 systems.
The line was a great success and became CDC's cash cow through the 1960s. The series significantly outsold the much faster and more expensive machines in the CDC 6000 series, but the performance of the 3000's relative to other vendors quickly eroded. The line was phased out of production in the early 1970s in favour of new members of the 6000 series, and then the CDC Cyber series, initially based on the 6600 design but spanning a wide range of performance.

## Specifications

| Model | Word size | Release date | Price | Frequency | Memory max | MIPS |
| CDC 3600 | 48-bit | June 1963 | $1,200,000 | 714 kHz (1.4μs cycle) | 1.536 megabyte (262144 x 48 bits) | 0.700 MIPS |
| CDC 3400 | 48-bit | November 1964 | $680,000 | 667 kHz (1.5μs cycle) | 192 kilobytes (32767 x 48 bits) | 0.700 MIPS |
| CDC 3300 | 24-bit | December 1965 | $220,000 | 800 kHz (1.25μs cycle) | 768 kilobytes (262144 x 24 bits) | 0.800 MIPS |
| CDC 3200 | 24-bit | May 1964 | $200,000 | 800 kHz (1.25μs cycle) | 96 kilobytes (32767 x 24 bits) | 0.800 MIPS |
| CDC 3100 | 24-bit | February 1965 | $120,000 | 571 kHz (1.75μs cycle) | 96 kilobytes (32767 x 24 bits) | 0.500 MIPS |

## Upper 3000 series

The upper 3000 series uses a 48-bit word size. The first 3000 machine to be produced was the CDC 3600; first delivered in June 1963. First deliveries of the CDC 3400 and CDC 3800 were in December 1965. These machines were designed for scientific computing applications; they were the upgrade path for users of the CDC 1604 machines. However these machines were overshadowed by the upcoming 60-bit CDC 6000 series machines when the CDC 6600 was introduced in December 1964 and delivered in 1965. Some high-end computer labs purchased these machines as stopgaps, while waiting for delivery of their 6600 machine. (CDC had indicated that the 6600 machines would use the same assembly language.)

## Lower 3000 series

The lower 3000 series use a 24-bit word size. They are based on the earlier CDC 924 - a 24-bit version of the (48-bit) CDC 1604. The first lower 3000 to be released was the CDC 3200 (May 1964), followed by the smaller CDC 3100 (February 1965), and the CDC 3300 (December 1965). The final machine in the series, the CDC 3500, was released in March 1967 and uses integrated circuits instead of discrete components. The 3300 and 3500 have optional relocation capabilities, floating-point arithmetic, and BDP (Business + Data Processing) instructions. These machines were targeted towards business and commercial computing.

## The 3150

Control Data Corporation's CDC 3150 was described as a "batch computer," and it included a FORTRAN and a COBOL compiler. Its console looked like this.

## Instruction sets

The instruction set of the upper 3000 series is composed mostly of 24-bit instructions (packed two per word), but also contained some 48-bit instructions. The lower 3000 is based on a 24-bit subset of those available on the upper 3000 systems. It is therefore possible to write programs which will run on all 3000 systems. And as these systems were based on the prior 1604 and 924 instruction sets, some backward compatibility also exists. However the systems do diverge from each other in areas such as relocation and the BDP instructions.

## Memory

All 3000 series computers use magnetic-core memory. The CDC 3500 machine use the same core memory modules as used in the CDC 6000 / Cyber 70 series computers.

## Architecture

The lower 3000 CPU uses a 24-bit architecture: instructions are 24 bits in length, as are the two operand registers A and Q. There are four index registers of 15 bits, B0 through B3, though B0 is always zero (zero when read; writes do not affect the value). There is no status (flags or condition code) register. Up to 32,768 words of core memory, 24 bits per word, can be directly addressed, and multiple banks can be switched in. Two or three memory bank configurations are the most common.
Each instruction contains six bits of opcode, one bit specifying whether indirect addressing used, two bits of index register address and fifteen bits of address.
Arithmetic uses ones' complement, so there are two forms of zero: positive zero and negative zero. The A and Q register can function as a combined 48-bit register for certain arithmetic instructions. The E register has 48 bits.
The 3600 CPU can execute around one million instructions per second (1 MIPS), giving it supercomputer status in 1965.
Much of the basic architecture design of the 3000 series was done by Seymour Cray, then passed on to others to complete as he moved on to designing the CDC 6000 series. Several of the innovative features that made the 6600 'the first supercomputer' can be seen in prototype in the 3000 series.

## Software

The operating systems for the upper 3000 are called SCOPE (Supervisory Control Of Program Execution). Tape SCOPE is a serial batch OS with no buffering for card reading or print spooling. Drum SCOPE upgraded performance and features print spooling. CDC developed a OS for the 3800 called SUMMIT (Simultaneous Usage of Multiprogramming, Multiprocessing with Interactive Timesharing) to take advantage of hardware's advanced features. Because CDC focused all its resources in advancing the 6600 system, SUMMIT was never released.
The earliest operating system for the lower 3000 series was called RTS OS. However, it was quickly replaced with MSOS (Mass Storage OS). The premier operating system for the CDC 3300 and CDC 3500 is called MASTER (Multi Access, Shared Time Executive Routine). MASTER is a multi-tasking, disk-based OS but still batch job oriented. Card jobs are cached to disk and printer output spooled. MASTER optimizes memory usage with page-mapping hardware.
An operating system called REAL-TIME SCOPE exists for both lower- and upper-3000 systems. A disk-based version of SCOPE was eventually made available for the upper-3000 systems.
FORTRAN, COBOL, and ALGOL were available. The assembly language was called COMPASS. These were available from CDC.
An APL system for the upper 3000 series computers was developed at the University of Massachusetts Amherst. This system was made available to other users of the upper 3000 series.

## Character set

The operating systems for the CDC 3xxx typically use six-bit characters, so the 64 character set does not contain lowercase letters. The character set contained (in display code order):
This six-bit extension of the four-bit BCD encoding is referred to as BCDIC (BCD interchange code.) IBM later extended this code further to create the eight-bit "extended BCDIC", or EBCDIC code.
Depending on the device, some characters are rendered differently, especially the line printer and some terminals:
| character | sometimes displays as |
| _ | → or { |
| ? | ↓ or } |
Note the absence of control characters, especially carriage return and line feed. These are encoded by the record structure.

## Partial list of users
### United States

Oregon State University offered a CDC 3300 for use from the mid-to-late 1960s up until about 1980. It used a home grown operating system known as OS3 (for Oregon State Open Shop Operating System).
The U.S. Internal Revenue Service used CDC 3000 series computers for many years.
Northeastern University in Boston used a CDC 3300 in the early 1970s.
International Timesharing Corporation (ITS) of Chaska, Minnesota sold timesharing services using CDC 3300s. (ITS later acquired another timesharing company that used CDC 3600s, before it, in turn, was acquired by United Computing Systems of Kansas City, Missouri.)
California State University at Northridge had a dual 3170 that provided timesharing service to the California State University and College system. Many of the other campuses also had CDC 3150 machines for local batch operation. In 1970 CDC 3150s were installed at most campuses of the California State College system. San Jose State and LA State got CDC 3300s and served as regional data centers with (very flaky) data links to the other campuses. California State Polytechnic College (San Luis Obispo) and San Diego State University had IBM System/360s. The rest got 3150s. Typical configuration was 24K words of 24-bit core memory, four 7-track tape drives, drum printer, card reader, card punch, two 8MB disc drives (removable packs). At Humboldt State College this was used for both administrative and instructional purposes. It replaced an IBM 1620.
The US Air Force used numerous CDC 3800 series systems in the Air Force Satellite Control Facility located at what is now Onizuka Air Force Station in Sunnyvale, California. As part of the Air Force Satellite Control Network, they were used to do orbital planning and maintenance calculations for defense satellites until they were phased out and replaced by IBM mainframes in the mid-1990s. These systems used the JOVIAL programming language to provide the accuracy necessary for these calculations.
The Center for Naval Analyses had a CDC 3800 from about 1968 until about 1975. It was used for scientific computing in support of operations research for the U. S. Navy.
Michigan State University's Department of Computer Science and Engineering had a CDC 3600
CDC's South West Region had the following accounts late 1960s and early 1970s:
    Long Beach Memorial Hospital, Long Beach, California (patient location tracking and billing)
    Many of the California state universities (Fullerton, Los Angeles, etc.) in their engineering departments
    California State College Los Angeles was also the California state southern region data center. (common admissions, etc.)
    California State College San Jose, the Northern California regional data center, had a CDC 3300, as did LA State Southern Regional data center.
    Jet Propulsion Lab (Pasadena, California) - test of various outer space modules
    University of Texas, El Paso
    Vandenberg AFB (missile launch control) (also two CDC 3600s - main base - use unknown)
    Thompson-Ramo-Wollridge - Redondo Beach, California
    Cal Poly, Pomona, California (engineering school)
    Cal Poly Northridge, California (engineering school)
    Point Mugu, Naval Air Station (weather balloon tracking/data analysis)
    El Centro Naval Air Station
    Camp Pendleton, California (US Marine Corps) - development/test bed for Marine Tactical Aircraft Command and Control System - MTACCS) - Initially 3300 - upgraded to a 3500 about 1973-74.
    Beverly Hills Data Center - Part of the CDC Cybernet network and also a rarity for CDC - did complete bank computing for about 12 small local banks. A midpoint of the CyberNet system, it interfaced to the Los Angeles Data Center (CDC 6600). The banking accounts were acquired from Corporation for Economic, Industrial and Operations Research (C.E.I.R) - an IBM system (1401?) which was replaced with the 3300. This system had 8 or 10 CDC 854 disk drives and connected to a Burroughs model B-3000 magnetic ink character reader (MICR).

### Europe

CERN used a CDC 3800 from 1966 until January 1969, when it was replaced by a CDC 6600. The 3800 was then acquired by State of Geneva and installed at the local University of Geneva.
A number of CDC 3000s were installed in France, either in academic computing centers, in software companies or in the aeronautics, nuclear and oil industries.
The University of Oslo had a CDC 3300 (1967 - 1976)
One CDC 3300 was installed in the late 1960s in England, in Computation Research & Development Ltd, a London-based subsidiary of the civil engineering designers Freeman Fox & Partners. It was used for engineering calculations and commercial computing. It was de-commissioned in 1974.
The German Meteorological Service Deutscher Wetterdienst used a CDC 3800 and CDC 3400 for numerical weather prediction in late 1960s.

### Oceania

There were many CDC 3000 series machines in Australia. CSIRO had a 3600 installed in Canberra in 1964, with satellite 3200 machines in Melbourne, Sydney, and probably Brisbane and Adelaide. The Bureau of Census and Statistics had a 3600, 3300, and a 3500 in Canberra, with a 3200 in each of the six state capitals several of which were upgraded to 3300s about 1970. Monash University had a 3200 delivered in 1964. Defence Signals Directorate had at least one. BHP had two 3300 machines at each of its Newcastle and Port Kembla Data centres. They were replaced by 3500s in 1977, and remained in operation until the mid-1980s.

### Communist bloc

Communist-ruled Hungary obtained a CDC 3300 machine between 1969 and 1971. It was administered by the National Academy of Sciences throughout the 1970s, mainly for running scientific computations.
Other CDC 3300 systems installed in former Eastern Bloc countries (list not complete):
* Computer research centre Bratislava with contribution of OSN Development program, CRC/UNDP
* Central Statistical Office, Prague.
* Romanian Aircraft, Bucharest (3500 System)

## Standard peripherals

* 405 - Card reader. 80 column 'high-speed' punched card reader
* 415 - Card punch, 80 column card punch
* 501 - Line printer, rotating drum, 136 character wide printer. Note that there were no lower case letters.
* 505 - Line printer
* 512 - Line printer, chain type
* 601 - Magnetic tape drive
* 604 - Magnetic tape drive
* 607 - Magnetic tape drive
* 609 - Magnetic tape drive (9-track)
* 700 series - Optical page reader
* 800 - Rotating magnetic memory series
* 808 - Rotating disks, approx 32 inches per disk, approx 32-36 disks per spindle.
* 852 - Disk drive with removable media pack, 2 to 3 million seven 7-bit characters, six disks (10 recording surfaces)/pack. Data-compatible with IBM 1311
* 853 - Similar to 852, 4 million characters. Media mechanically interchangeable with IBM 1311, but not recorded data
* 854 - Similar to 853, 8 million characters
* 915 - Optical page reader
The CDC 6000 series were also initially marketed with many of the same peripherals.

## Images

| CDC 3000 series family, in basic configuration | Three views of a CDC 3000 series model 3400 with sizing | CDC 3800 console at the Udvar-Hazy Center of the Smithsonian National Air and Space Museum |