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

Upper 3000 series 

The upper 3000 series used 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 assembler language.)

Lower 3000 series 
The lower 3000 series used a 24-bit word size.  They were 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 used integrated circuits instead of discrete components.  The 3300 and 3500 had 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 was composed mostly of 24-bit instructions (packed two per word), but also contained some 48-bit instructions.  The lower 3000 was based on a 24-bit subset of those available on the upper 3000 systems.  It was therefore possible to write programs which would run on all 3000 systems.  And as these systems were based on the prior 1604 and 924 instruction sets, some backward compatibility also existed.  However the systems did diverge from each other in areas such as relocation and the BDP instructions.

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

Architecture 
The lower 3000 CPU was a 24-bit architecture: instructions were 24 bits in length, as were the two operand registers A and Q.  There were four index registers of 15 bits, B0 through B3, though B0 is always zero (zero when read; writes do not affect the value).  There was no status (flags or condition code) register.  Up to 32,768 words of core memory, 24 bits per word, could be directly addressed, and multiple banks could be switched in.  Two or three memory bank configurations were the most common.

Each instruction contained six bits of opcode, one bit specifying whether indirect addressing used, two bits of index register address and fifteen bits of address.

Arithmetic was ones' complement, so there were two forms of zero: positive zero and negative zero.  The A and Q register could function as a combined 48-bit register for certain arithmetic instructions. The E register had 48 bits.

The 3600 CPU could 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 were called SCOPE (Supervisory Control Of Program Execution).  Tape SCOPE was a serial batch OS with no buffering for card reading or print spooling.  Drum SCOPE upgraded performance and featured 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 was called MASTER (Multi Access, Shared Time Executive Routine).  MASTER was a multi-tasking, disk-based OS but still batch job oriented. Card jobs were cached to disk and printer output spooled.  MASTER optimized memory usage with page-mapping hardware.

An operating system called REAL-TIME SCOPE existed 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 used six-bit characters, so the 64 character set did not contain lowercase letters.  The character set contained (in display code order):
 : A-Z 0-9 + - * / ( ) $ = (space) , . # [ ] % " _ ! & ' ? < > @ \ ^ ;
This six-bit extension of the four-bit BCD encoding was 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 lineprinter and some terminals:

Note the absence of control characters, especially carriage return and line feed.  These were 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 where I worked 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

See also 
 Punched card input/output

References

External links 
 "Bizarre Architecture" lecture series at Univ. of Mass. (pdf)
 3000 series documentation at bitsavers.org
 OS3 documentation at bitsavers.org
 3000 series brochure at computerhistory.org
 CDC printers/peripherals for sale (Ad,1975: CDC 501,505,512

3000
Control Data Corporation mainframe computers
Transistorized computers
24-bit computers
48-bit computers