CDC 160 series

From Wikipedia, the free encyclopedia
Jump to: navigation, search
CDC 160
Control Data 160-A.jpg
CDC 160-A with close-up of control panel
Developer Seymour Cray
Manufacturer Control Data Corporation
Release date 1960 (1960)
Introductory price $100,000 equivalent to $809,561 in 2016
Units shipped 400
Storage 4096 words of magnetic core
Power 115v, 12 amps
Dimensions 29 x 61 1/2 x 30 inches
Weight 810 lbs.
Successor CDC 6000 series

The CDC 160 series is a series of discontinued minicomputers built by Control Data Corporation. The CDC 160 and CDC 160-A are 12-bit minicomputers[1][2] built from 1960 to 1965; the CDC 160G is a 13-bit minicomputer, with an extended version of the CDC 160-A instruction set, and a compatibility mode in which it did not use the 13th bit.[3] The 160 was designed by Seymour Cray - reportedly over a long three-day weekend[citation needed]. It fit into the desk where its operator sat.

The 160 architecture uses ones' complement arithmetic with end-around carry.[4]

NCR joint-marketed the 160-A under its own name for several years in the 1960s.[5]

Overview[edit]

The CDC 160-A was a simple piece of hardware, and yet provided a variety of features which were scaled-down capabilities found only on larger systems. It was therefore an ideal platform for introducing neophyte programmers to the sophisticated concepts of low-level Input/output (I/O) and interrupt systems.

All 160 systems had a paper-tape reader, and a punch, and most had an IBM Electric typewriter modified to act as a computer terminal.[6][7][8] Memory on the 160 was 4096 12-bit words. The instruction set was small and RISC-like. The CPU had a 12-bit ones' complement accumulator but no multiply or divide. There was a full complement of instructions and several addressing modes. Indirect addressing was almost as good as index registers. The instruction set supported both relative (to the current P register) and absolute. The original instruction set did not have a subroutine call instruction and could only address one bank of memory.[1]

In the 160-A model, a "return jump" and a memory bank-switch instruction was added. Return-jump allowed simple subroutine calls and bank switching allowed other 4K banks of memory to be addressed, albeit clumsily, up to a total of 32,768 words.[2] The extra memory was expensive and had to live in a separate box as large as the 160 itself. The 160-A model could also accept a multiply/divide unit, which was another large and expensive peripheral box.

In the 160 and 160-A, the memory cycle time was 6.4 microseconds. An add took two cycles. The average instruction took 15 microseconds, for a processing rate of 67,000 instructions per second.[1][2]

The 160G model extended the registers and memory words to 13 bits; in G mode, all 13 bits were used, while in A mode, only the lower 12 bits were used, for binary compatibility with the 160-A. The 160G added some instructions, including built-in multiply and divide instructions, and some additional addressing modes.[3][9]

Low-level I/O allowed control of devices, interfacing for determining device status, and for reading and writing data as either single bytes, or as blocks. I/O could be completed to a register, or to memory, or via a direct memory access (DMA) channel. The distinction between these I/O types was that regular I/O would 'hang' the CPU until the I/O operation completed, but DMA I/O allowed the CPU to proceed with instruction execution concurrently with the data transfer. The interrupt system was purely based on IO, meaning that all interrupts were generated externally. Interrupts were introduced to neophytes as being the alert mechanism by which a program could be informed that a previously initiated DMA I/O operation was completed.

Application Areas[10][edit]

  • Real-Time Applications
  • Off-Line Data Conversion
  • Scientific Data Processing
  • Commercial Data Processing
  • Data Acquisition and Reduction
  • Engineering Problem Solving
  • Communications and Telemetering Systems
  • Control Data's Satellite Computer System

Peripherals[10][edit]

  • 163 or 164 Magnetic tape systems
  • 161 Typewriter unit
  • 1610 Card read and punch system
  • 1612 Line printer
  • 165 Plotter
  • 166 Buffered line printer
  • 167 Card reader
  • 168 Arithmetic unit
  • 169 Auxiliary memory unit
  • 350 Paper tape reader
  • Model BRPE-11 Teletype paper punch tape punch
  • 603 Magnetic tape transport

Successors[edit]

The 160 architecture was modified to become the basis of the peripheral processors (PPs) in the CDC 6000 series mainframe computers and its successors. Large parts of the 160 instruction set were unchanged in the peripheral processors. However there were changes to incorporate the 6000 data channel programming, and control of the central processor. In the early days of the 6000s, almost the entire operating system ran in the PPs. This left the central processor unencumbered by operating system demands and available for user programs.

References[edit]

  1. ^ a b c 160 Computer Programming Manual (PDF). Control Data Corporation. 1960. Retrieved March 28, 2013. 
  2. ^ a b c Control Data 160-A Computer Programming Manual (PDF). Control Data Corporation. March 1963. Retrieved March 28, 2013. 
  3. ^ a b Control Data 160G Programming Reference Manual (PDF). Control Data Corporation. May 11, 1965. Retrieved March 28, 2013. 
  4. ^ "A Programmer's Reference Manual for the CDC-160" by Douglas W. Jones
  5. ^ Flamm, Kenneth (1988). Creating the computer: government, industry, and high technology. Brookings Institution Press. p. 118. ISBN 0815728506. 
  6. ^ Control Data 160 Typewriter Unit (PDF). Control Data Corporation. December 1962. Retrieved March 28, 2013. 
  7. ^ Control Data 160 Computer (PDF). Control Data Corporation. Retrieved March 28, 2013. 
  8. ^ Control Data 160-A Computer (PDF). Control Data Corporation. November 1962. Retrieved March 28, 2013. 
  9. ^ "Control Data 160G Computer System" (PDF). Control Data Corporation. Retrieved March 28, 2013. 
  10. ^ a b "Control Data 160 Computer". 61 (8). August 1961. 

External links[edit]