Homebrew Drum Computer
rickb at bensene.com
Fri Dec 14 16:52:29 CST 2007
Some of the smaller drum-based computers from the late '50's and earlu
'60's (transistorized) had drums that didn't rotate nearly as fast as
6000 RPM. In High School, we had a very interesting 24-bit machine made
by 3M (did you know that 3M made computers for a time?) that was a
dual-CPU machine, with a communications
Channel between the two processors and shared access to peripherals.
Each CPU was a 24-bit, bit-serial machine, each with an 8K-word magnetic
drum, which used a pair of heads per track (one read, one write).
The drum rotated at 3000 RPM.
The drum was quite an assembly. One of the drums failed, leaving one
CPU inoperative. I carefully disassembled the drum to figure out why it
quit working. As it turned out, a bearing had failed, and the drum
crashed into the heads. Irrepairable mess. A lot of brownish-colored
powder greeted me when I opened the housing of the drum assembly, and
the drum surface was scratched with some fairly deep grooves. The crash
happened during the night, and there was a protection feature on the
motor that if too much current was drawn (e.g., head crash or some kind
of jam), the power to the motor was removed. When I came in the next
day, that CPU was "dead". Fortunately, the other CPU could run without
independently without its pair, and it was still running fine.
It was clear that the machining of the drum assembly was very precise.
The bearings were very high-precision, pin-type sealed bearings. The
drive shaft and motor connection were precisely machined and clearly
dynamically balanced. There was vibration isolation between the drive
motor and the drive shaft for the drum. The heads flew at a fixed (but
adjustable) height from the drum...they were not floating head The
heads were mounted in a staggered fashion to enable them all to fit.
They were very small head assemblies. The CPU was clocked by a master
timing track on the drum. There was some kind of phase-locked loop that
once the drum was up to approximately the correct operational speed, the
PLL would monitor the clock frequency and make small adjustments to the
motor speed to keep things all in synchronization. Spin-up time was
about 20 seconds if I recall correctly. During spin-up, the CPU was
held in HALT state, and the write amps were force disabled.
IIRC, there were 40 (octal) tracks, 00-37. Each "sector" was 24 bits of
data (with some additional timing/identification data that was invisible
to the user). There were also some number of what were called "blocks"
that were different groups of 40 tracks, but I can't recall the number
of them (maybe 8? - though through some simple math that I don't care to
do at the moment, it could probably be figured out). Instruction words
had a 5 bit operation code, addresses in Block/Track/Sector format for
operand and next instruction location, as well as some other bits for
stuff like I/O instructions and immediate operations. I recall that the
timing for most instructions was such that as the current instruction
was fetched, the operand should be at the current track/sector address
+3, and the next instruction should be at the current track/sector
address +6 for optimal programming. This would mean that just after the
instruction was fetched and decoded, the operand would be under the head
ready to be read/written, and by the time the operation was complete,
the next instruction would be under the head ready for reading.
It was an interesting machine. No index registers. Doing table
accesses required loading an instruction into the accumulator, adding a
constant (or a calculated variable if you wanted to try to keep things
optimized by interlacing table addresses), and storing the instruction
back in its place, then branching to it. It had two main registers, the
accumulator, and a "B" register, which could serve as a temporary
register, and was also used for I/O operations. It had a
hard-logic-based loader. Putting the machine in LOAD mode, would accept
octal coded address and data information from the ASR33 Teletype and
write it out to the drum. It could run fast enough to load pre-preared
punched tapes from the ASR33's paper tape reader.
I can't remember exactly, but I'd guess that the CPU had about 50 3x5
circuit boards, each with varying numebers of transistors and diodes.
It was definitely discrete DTL logic. I'd guess the total transistor
count to be something in the range of 1000-1500. The circuit cards were
arranged in a horseshoe fashion, surrounding the magnetic drum. The CPU
itself was about 12RU, and fit in a standard 19" rack. The two CPUs
were in a small rack that housed them one atop the other. Each could
slide out far enough for complete access to all components. The power
supplies for the CPUs were in a separate enclosure, with an individual
power supply for each CPU. There was a big I/O equipment rack that was
19", and about 6 ft. tall. The machine was originally used as a
real-time data acquisition system (albeit at slow acquisition rates..the
machine was not very fast), and once CPU did all of the data
acquisition, and the other did post-processing and report generation.
The I/O rack was full of various different types of modular units
including A/D converters, programmable amplifiers, timers, D/A
converters, counters, and simple contact closure inputs and relay
outputs, as well as the interfaces for a real-time clock, the ASR-33
TTY, and a wide-carriage IBM (pre-selectric) output typewriter for
typing out reports.
Sure wish I could remember the model number of the machine. As I
recall, it was manufactured sometime in 1965 or so. It vanished a few
years after I graduated from High School...probably scrapped, sadly. I
wonder ow many computers 3M built...can't have been many, as there's no
reference to computer equipment as being products of 3M in anything I
can find on the web. Wonder if there are any of these machines left at
As for a 6000 RPM drum, I'd think that you'd definitely not be
successful using a pop can with magtape glued to it. The tolerances and
balance just wouldn't work at this kind of speed. In order to make a
real practical drum, you'd need a pretty good machine shop, and access
to high quality bearings, low vibration motors, and other materials
(such as the coating for the drum and vibration damping materials) as
well as a means to balance rotating assemblies precisely.
The Old Calculator Museum
More information about the cctalk