Raytheon 704
   HOME

TheInfoList



OR:

The Raytheon 704 is a
16-bit 16-bit microcomputers are microcomputers that use 16-bit microprocessors. A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
introduced by Raytheon in 1970. The basic machine contained 4  kwords (8 kB) of memory and a simple
arithmetic logic unit In computing, an arithmetic logic unit (ALU) is a Combinational logic, combinational digital circuit that performs arithmetic and bitwise operations on integer binary numbers. This is in contrast to a floating-point unit (FPU), which operates on ...
(ALU) running at 1 MHz. It was normally operated with a Teletype Model 33 acting as a computer terminal. It sold for "less than $10,000" (). A key feature of the design was the ability to expand the central processing unit (CPU) using plug-in cards. Options included a hardware multiply/divide unit, an 8-level vectored interrupt controller, a DMA controller, among others. Memory could also be added using the same cards, allowing up to 32 kW in total. Memory was based on an 18-bit word, not 16-bit, with the extra bits for use with an optional parity check card. Another unique feature was that general input/output expansion was external, using a daisy chained cable system known as DIO. This allowed devices like lab equipment and low-speed storage like tape drives to be added without requiring an internal card to support it; the device was added simply by connecting it to the nearest free DIO port on the computer or any other DIO device. The 704 does not appear to have seen widespread use, although passing mentions can be found in many documents and it had a presence in scientific circles. It is historically notable as the first computer to be used to run play-by-mail games, when Flying Buffalo Inc purchased one in 1970. The 704 was used as an onsite seismic processing system by Petty-Ray Geophysical, named the Com*MAND 1, in the early 1970s, equipped with 1/2" tape drives, card reader, Teletype 33 console, and Gould 11" electrostatic plotter. Lacking an ATP, Vibroseis correlation of a full tape of seismic data would take several hours. The successor to the 704 was the RDS 500 which was extensively used by seismic acquisition companies such as Petty-Ray Geophysical, named the Com*MAND 2, CGG (company), Seismograph Survey Company (SSC) and Seismograph Survey Ltd (SSL), as well as several national oil companies.


History

When it was launched, the 704 was a competitive machine compared to recently-released systems. The PDP-8/I, of 1968, cost $12,800 for a similar 4 kWord machine, but used smaller 12-bit words and thus had 6 kB of memory compared to the 704's 16-bit words where the same 4 kWord memory was 8 kB. The 704 was also faster, running at 1 MHz rather than the PDP-8's 600 kHz. Another machine aimed more squarely at the 704's instrumentation market was the HP 2116A, another 16-bit design that listed at $22,000. In spite of these advantages, the 704 faced stiff competition from other newly-introduced machines like the Data General Nova, which had a similar feature set but was less expensive, with a similar configuration costing $7,999. The Nova was slower than the 704, but this was addressed in the SuperNOVA, released in 1970 for $11,700. This sandwiched the 704 between lower-cost, lower-performance solutions, and higher-performance solutions that were only slightly more expensive. The 704 saw relatively little use and has largely been lost to history as a result; surviving references are typically in advertising or in mentions in a variety of scientific papers. It appears that one was purchased by Flying Buffalo Inc in 1970 to run play-by-mail games.


Description


Hardware design

Like most minicomputers of the late 1960s, the 704 was designed to be mounted in a rack mount case, with the CPU being tall. The central processing unit (CPU) used 16-bit words, although it also included instructions that worked on 8-bit data, useful for working with ASCII text. Math was performed in parallel and used two's complement number format. Memory addresses were only 15-bits, allowing a maximum of 32 kilowords (64 kbytes) of directly addressable
main memory Computer data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers. The central processing unit (CPU) of a computer ...
. A showcase feature was the external input/output system, handled using a separate 16-bit wide "data input/output bus", or DIO, with up to 16 devices on two physical ports. These were connected together with custom DIO cables, daisy chained up to in total. By using both ports on separate 50-foot chains and placing the CPU in the center, the total distance could be up to . The end of every DIO bus had to have a electrical terminator, even if it was unused. The basic unit included 4 kilowords of 18-bit memory, and a DIO controller for an ASCII terminal, normally the Teletype Model 33 or 35. This left four free card slots, and at launch, Raytheon offered a variety of plug-in expansions. These included 4 kilowords core memory modules, with enough room in the case for a total of four modules for a total of 16 kilowords. The purpose of the 18-bit memory was to allow the use of an optional parity check module, which offloaded this task from the CPU. Two bits were used to store separate parity bits for the two bytes of data in each word. In the event an error was found, the processor was halted and a lamp illuminated on the front panel. The hardware multiply/divide card reduced the time for a 16-bit multiply from 105 µsec to only 8, and a divide from 193 to 10. The DIO normally had a single level of interrupt, which is fine for simple uses but not in
realtime computing Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response. Real-time programs must guarantee response within specified time constrai ...
and similar roles where rapid hardware handling of data is a major concern. For these roles, the Priority Interrupt Expansion added an eight-level interrupt system, and a second card could be used to expand this to 16 levels. Installing this option also activated the front-panel interrupt button, which was normally inactive as the only interrupt, level 00, was assigned to the terminal. The direct memory access (DMA) card connected up to six devices to memory, although only one device was active at a time, using a separate dedicated bus that bypassed the CPU and DIO. This was normally used for
hard disk A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with magnet ...
and
magnetic tape Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magne ...
support. The DMA bus also used custom cables, limited in this case to in length with only a single bus. Like DIO, the bus had to be terminated. Finally, a Power Failsafe Option was available that was intended to stop the processor in a known-good state if it noticed the voltage from the power supply dropping, indicating an imminent power failure. An Automatic Bootstrap Module is mentioned but was not available at launch time. Sales documents from the era also mention a
real time clock A real-time clock (RTC) is an electronic device (most often in the form of an integrated circuit) that measures the passage of time. Although the term often refers to the devices in personal computers, servers and embedded systems, RTCs are p ...
and an analog-to-digital converter.


CPU model

The CPU ran lock-step with the core memory, which was a typical design of the era. This limited the machine to a basic 1 µsec cycle time, or 1 MHz in common modern terms. The clock was a 20 MHz crystal oscillator that was divided down for the various components. There were 72 basic instructions, plus the and instructions if the multiply/divide unit was installed. Instructions were generally one word long, in strong contrast to typical designs of the era which used variable length instructions depending on the addressing mode. Most instructions used the single user-visible 16-bit accumulator ACR and a 16-bit memory buffer register (MBR) used to temporarily hold operands for two-operand instructions (the other being ACR). 15-bit registers were used for the program counter (PCR) and memory address register (MAR), the later of which was used while fetching data from memory. Addresses could also be offset using the 16-bit index register IXR. Two other registers, the 5-bit EXR and 8-bit INR served special purposes. Opcodes were generally 4-bits in length, in bits 0 through 3. The purpose of the 15-bit addresses in a 16-bit machine was to set aside one bit in the instruction format to indicate that the address was relative, normally bit 4. This left bits 5 through 15 for use as an address or constant. When used as an address, this meant it was only 11 bits long, and an additional four bits from the 5-bit EXR were added to the front to make a complete 15-bit address. This meant the memory was logically organized as a set of 2 k pages, and working with data in another page required instructions to change the EXR. All five bits of EXR were used when using byte addressing, or only four when addressing words. On top of both, the index register would be added if the index bit was turned on in the instruction. Math instructions, and , always worked on 16-bit values, as did logical operations – , ("inclusive" OR) and (exclusive OR). Interesting additions were to invert the value and to perform the two's complement. Shift and rotate instructions were available in 16 and 32-bit forms. There were three primary comparison operators, to compare words and to compare bytes, and to compare a byte in the accumulator with a literal byte (constant) in the address section of the instruction word. The only other support for literals was which loaded a constant byte value into the accumulator. These sorts of literal (or constant) instructions are generally much more common in most processors as it avoids a memory accesses for these frequently used instructions. Conditional branching was not supported directly, instead, there were a series of "skip" instructions that could be performed after a comparison. For instance, would skip the next instruction if the value in the accumulator was zero. To perform branches, the next instruction would normally be a jump, or jump-and-store-address-in-IXR, , used for subroutines. In addition to the accumulator, skip instructions were provided that read the index register, the results of a comparison and for four of the front-panel switches.


ATP add-on

In January 1971, Raytheon announced a new add-on for the 704 system, the Array Transform Processor, or ATP. This required an entire 3U case of its own. This was essentially a vector processor dedicated to performing
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). Fourier analysis converts a signal from its original domain (often time or space) to a representation in th ...
s (FFT), with arrays from 2 to 8192 complex numbers. A typical 2048 FFT could be accomplished in "only 150 milliseconds!" A system consisting of a 704, the ATP and enough memory to hold the data ran to about $40,000 ().


Notes


References


Citations


Bibliography

* * * {{cite book , title=Minicomputer Review 1975 , publisher=GML Corporation , date=1975 , ref=CITEREFReview1975 Minicomputers 16-bit computers Computer-related introductions in 1970 Raytheon Company products