Ramo-Wooldridge RW-300

For various reasons, I’ve been researching the Ramo-Wooldridge RW-300 digital control computer, announced in July 1957 and first operated in March 1959 in closed-loop operation at a Texaco oil refinery. (In 1958, Ramo-Wooldridge merged with Thompson Products to become Thompson Ramo Wooldridge Inc., better known as TRW.)

This was essentially the first digital computer targeted specifically at industrial process control, with an integrated analog-to-digital and digital-to-analog converter module. TRW’s marketing savvy hit a sweet spot with the RW-300, and it was installed in dozens of industrial facilities by 1963: cement kilns, oil refineries, petrochemical plants, electric power stations, nuclear reactors, air traffic control, etc.

Thankfully, there is an amazing amount of freely-available technical information online about this pioneering computer (see references below), which I’ve been reading eagerly. The RW-300 architecture was based on an 18-bit word and seems to be centered around a magnetic drum memory (7936 words base, 15360 words with “expanded drum” option “for a slight extra charge”). There doesn’t seem to be a “clock rate” per se, but rather the instruction cycle time (“word time” in the manuals) is related to the sector rate of the drum memory = 60 Hz / 128 sectors = 130.2 microseconds (7680 Hz), with addition taking 6 or 7 cycles, multiplication 23 cycles, and division 24 cycles. Digital computation used diode-transistor logic; the exact number of semiconductor components is unclear but seems to be about 4000 diodes and 500 transistors (TRW source documentation says exactly “460 transistors in the computer proper.”) Analog-to-digital and digital-to-analog conversion were independent from the processor, essentially “mapping” tracks on the drum to ADC inputs and DAC outputs. The RW-300 included a watchdog timer — so both the concept and the term dates back to at least the late 1950s.

This computer was about the size of a desk, with a power consumption of about 500 watts. Cost was $98,000 for the base unit (digital only); the US National Aviation Facilities Experimental Station in Atlantic City, NJ purchased an RW-300 for about $304,000 including a reasonable set of optional modules: ADC/DAC converter module, 64-channel ADC input multiplexer, 36-channel DAC output mux and sample-and-hold, 504 digital outputs, 288 digital inputs, 4 magnetic tape units, real-time clock. (In 2025 dollars these costs would be $1.08M and $3.36M.)

I wonder what they did to run this computer internationally in places where the line frequency was 50 Hz, since the drum motor was synchronous and therefore would have run at the line frequency provided. (“My colleagues in the United States have 20% higher computing performance than we do, with the same hardware! It’s not fair!”)

References:

[Cross-posted to https://www.reddit.com/r/ECE/comments/1lc68kf/the_ramowooldridge_rw300_historical/]

[Edit: add link to Kennett Classic]

2 Likes

Two questions:

  1. According to the TRW Course Outline, at least some schematics were provided to course attendees (“See Voltage Distribution Diagram in Schematic section of this notebook” mentioned several times).

    Anyone got any ideas how to track down the schematics?

  2. How does a “circulating register” work? Most of the RW-300’s registers were “circulating” and I get the impression that instead of having state stored in a transistor-based flip-flop, the register state was stored in the magnetic drum itself. I can’t seem to grasp the nuances here.

see diagrams:

Lots of nice detail, thanks!

The recirculating register (or short tracks) are done, I believe, by having a write head some fraction of a revolution upstream of the read head. So whatever is read will be re-written at once, and comes back around to the read head in a fraction of a revolution. That gives a direct tradeoff, less capacity for better access time, all the way down to a single register value.

As for 50Hz vs 60Hz, a possible answer would be to power the computer from a motor-generator set, which might generally be used to provide very stable power. (It can also be used to power at a different, usually a higher, frequency.)

2 Likes

That makes sense. Oh, here we go; from the Theory of Operation manual:

Five tracks, called one-word circulating registers, are provided with dual heads which read and record the same information simultaneously. The writing head in the dual unit is separated from the reading head by a distance equal to 17 or 18 bits. Two or three one-bit delays are added by the read- write circuitry to achieve the desired sector delay between reading and writing. Information on these tracks is continuously circulating and therefore immediately available to the Computer circuits. The tracks are used in arithmetic and control operations.

1 Like

I find it nice (although also horrible) that the implementation details are so closely visible to the programmer. Also I like the way that the drum itself often (as in this case) supplies the clock for the whole machine.

I guess, with all the implications of sequential memory, as a programmer, you must have felt like a jokey riding the drum… :slight_smile:

Edit: More seriously speaking, there must have been a rhythmical dimension to this (or, in the old paradigm of “number at rest” = math and “number in motion” = music, a musical component) that we are missing today.

The idea of a circulating memory with a few short elements and others long came up in the Pilot ACE, in which project the term “optimum coding” arose. This is the idea of placing code and data in such locations that the access time is minimised. An instruction set where every instruction gives the address of the next is an advantage here. From Automatic Digital Computation Symposium 1953:

The Idea of optimum coding can best be introduced by considering a simple example, a subroutine for the computation of a square root, successive digits being obtained by the use of the ordinary Horner process. At any stage, the partial answer, the current trial digit and the remainder will have to be stored and these will be used to find the next digit of the root. If this is to be done quickly these three numbers must be immediately available to the arithmetical organs of the machine and are therefore best stored in delay lines of one word length. The machine therefore must have a certain number of short tanks. This number need, however, only be small and most of the memory can be in the form of long tanks. The best number of short delay lines will be considered later. For the square root process considered above three short tanks are enough to give short access time.

The subroutine will contain a sequence of instructions which will at each stage determine the next digit of the root, use it to form the next partial answer, determine the next trial digit, find the new remainder and finally determine when this sequence of instruction has been repeated the required number of times. The control of the machine will accept each instruction in turn and set up the necessary parts of the machine to carry out the instruction. If no time is to be lost due to the access time of the instructions each one must be immediately available to the control when It is required at the end of the previous instruction. For this it is not necessary to have the instructions stored In short delay lines, but it can be achieved by placing the Instructions in such positions in the long delay lines that they are running out at the time when the control is first ready to accept them. This is the principle of optimum coding. To take advantage of this principle the control of the machine must be suitably designed.

Great post… and thanks for the link to CHM. We have an RW-300 on display in our Revolution exhibit. It’s on loan from the Smithsonian. A bit plain looking, but in application terms (as you point out) very powerful for its time and broadly useful across many industries.

2 Likes

!!!

Wow! Thanks for the feedback! I have some other questions about the CHM’s collection; I think I found you on LinkedIn so I’ll try to contact you there.

–Jason