# CDC 1604

The CDC 1604 is a 48-bit computer designed and manufactured by Seymour Cray and his team at the Control Data Corporation (CDC). The 1604 is known as one of the first commercially successful transistorized computers. (The IBM 7090 was delivered earlier, in November 1959.) Legend has it that the 1604 designation was chosen by adding CDC's first street address (501 Park Avenue) to Cray's former project, the ERA-UNIVAC 1103.
A cut-down 24-bit version, designated the CDC 924, was shortly thereafter produced, and delivered to NASA.
The first 1604 was delivered to the U.S. Navy Post Graduate School in January 1960 for JOVIAL applications supporting major Fleet Operations Control Centers primarily for weather prediction in Hawaii, London, and Norfolk, Virginia. By 1964, over 50 systems were built. The CDC 3600, which added five op codes, succeeded the 1604, and "was largely compatible" with it.
One of the 1604s was shipped to the Pentagon to DASA (Defense Atomic Support Agency) and used during the Cuban missile crises to predict possible strikes by the Soviet Union against the United States.
A 12-bit minicomputer, called the CDC 160, was often used as an I/O processor in 1604 systems. A stand-alone version of the 160 called the CDC 160-A was arguably the first minicomputer.

## Architecture

Memory in the CDC 1604 consists of 32K 48-bit words of magnetic core memory with a cycle time of 6.4 microseconds. It is organized as two banks of 16K words each, with odd addresses in one bank and even addresses in the other. The two banks are phased 3.2 microseconds apart, so average effective memory access time was 4.8 microseconds. The computer executes about 100,000 operations per second.
Each 48-bit word contains two 24-bit instructions. The instruction format is 6-3-15: six bits for the operation code, three bits for a "designator" (index register for memory access instructions, condition for jump (branch) instructions) and fifteen bits for a memory address (or shift count, for shift instructions).
The CPU contains a 48-bit accumulator (A), a 48-bit Auxiliary Arithmetic register (Q), a 15-bit program counter (P), and six 15-bit index registers (1-6). The Q register was usually used in conjunction with A for forming a double-length register AQ or QA, participating with A in multiplication, division and logical product (masking) operations, and temporary storage of A's contents while using A for another operation.
Internal integer representation uses ones' complement arithmetic. Internal floating point format is 1-11-36: one bit of sign, eleven bits of offset (biased) binary exponent, and thirty-six bits of binary significand.
The most-significant three bits of the accumulator are converted from digital to analog and connected to a tube audio amplifier contained in the console. This facility could be used to program audio alerts for the computer operator, or to generate music. Those familiar with the inner workings of the software could often hear what parts of a task were being performed by the CDC 1604; as a debugging aid, for example, a never-ending repetitive musical phrase indicated the program was stuck in a loop.

## Uses and applications

In 1960, one of the first text-mining applications, Masquerade, was written for the Marathon Oil Company in Findlay, Ohio. Masquerade was a text-mining program that used syntactic structures underlying text data to mask out words and phrases for searching purposes. During 1969, Fleet Operations Control Center, Pacific (FOCCPAC at Kunia) on Oahu in Hawaii launched an Automated Control Environment (ACE) using a cluster of five CDC 160As to supervise a multi-tasking network of four CDC 1604s.
The Minuteman I was the first U.S. solid-rocket ICBM system to be fielded. There were two entirely separate ground station designs which were developed independently. The smaller, more elegant, single silo design incorporated two redundant CDC 1604 computer systems, each equipped with dual cabinets containing four 200 bpi magnetic tape drives. The computers were used to pre-compute guidance and aiming control information. Results based on current weather and targeting information were downloaded into the missile prior to launch. Model displays of both of these ICBM ground station designs, including block models of the CDC 1604 computers, may be viewed at the Octave Chanute Aerospace Museum in Rantoul, Illinois.
The third version of the PLATO computer-based educational system was implemented on a CDC 1604-C.
JOVIAL was used as the main programming language of the CDC 1604, while octal was used to program shared services supported by the CDC 160A. NAVCOSSACT based at the Washington Navy Yard provided systems and training support.
The CDC 1604 was used to compose Sailboat and other artworks by Sam Schmitt and Stockton Gaines.

## Similar machines

The 1604 design was used by the Soviet nuclear weapons laboratory. Their BESM-6 computer, which entered production in 1968, was designed to be somewhat software compatible with the CDC 1604, but it ran 10 times faster and had additional registers.

## The 924

The CDC 924 is a 24-bit computer that supported the use of "any input-output devices capable of communicating with the 160 and/or 1604 computer," and its six independent channels permitted three simultaneous input operations even as three channels concurrently performed output.
Like many CDC processors, it used ones' complement arithmetic.
Some advanced features of the 924, which included 64 instructions, were:
* Six index registers. The value "7" was reserved to indicate indirect-addressing.
* an execute instruction (in what the hardware reference manual called "a subroutine of a single instruction").$^{:p.2–41}$
* powerful Storage Search instructions.$^{:pp.2-32thru2-35}$