The Tube Computer integrates 920 thermionic triodes and 5 Backplane boards into a functional general purpose computer. Conveniently each 6N3P tube contains 2 triodes using a single heater, halving the physical size and power requirements.
All the double triodes are configured as identical NOR gates. Memory registers are built from groups of 5 NOR gates, and combined into D type flip flops to form the binary counters. The NOR gates also create all the functional components, including the 8 bit ALU, the oscillator, registers and the vacuum tube RAM.
The 10 tube modules plug into five backplanes and they in turn are mounted onto a 4mm acrylic panel using 3mm x 10mm offsets. The 190cm x 130cm wall panel is attached via three 2m x 30mm x 30mm aluminium box sections to the wall. The total wall load is about 20Kg and fortunately, the wall is made of brick.
I tried to make The Tube Computer a straight forward design with data, instruction, and address buses all separate and able to be accessed simultaneously. I believe this is known as a Harvard Architecture [but I may be wrong!]. These buses do interact, as the Memory Address Register value is sent to the data bus during the fetch sequence. The Tube Computer also has a NOT data bus. This is to reduce the tube count, as each register requires one less NOR gate. There are around 50 registers, so creating a NOT data bus is well worth the effort.
The clock system is far too complex. The ring oscillator’s output has to be buffered several times to square up the signal, which then feeds a 3 stage binary counter. The outputs are then decoded to deliver the control pulses for the instruction cycle. There are 6 fetch and a single execute cycle after which follows an unused cycle. This was used as a second execute cycle in my previous systems. The Tube Computer does not have an instruction pipeline and the fetch / execute cycle is carried out progressively, so every instruction is completed before the succeeding one is initiated. There must be a much simpler way to generate an Instruction Cycle!
No Safety Net
The Tube Computer programs are written using just 16 instructions.
Machine code is real code, a totally different world to all the posh high level languages. It's gloves off with no safety net. You simply talk directly to the computer.
It is incredibly fast compared to other programming languages, and gives you control over data storage, memory, and computer hardware.
It can be a very useful tool in fast decryption and modern graphics. It's use may also give a deeper understanding of high level coding.
But really it's just great fun.
Tube Modules
The original module design, as on the IBM700 was to place the components under the tube base.
With The Tube Computer I tried to make a modern interpretation of this 1950s design philosophy.
The 10 tube boards were interesting to design and I created several versions. There is but little space under a vacuum tube socket and everything gets a bit tight.
The Tube Computer’s HT is below 100v and so enabled much smaller and closer components. I tried to keep a 2mm spacing for ease of soldering and then I encased the components for both stability and safety.
Component Palaver
The tubes I have are recycled from the 1950s and 60s. They were manufactured in many different eastern European factories and have a very wide range of characteristics.
Normally each component is identical to its peer, so you can accurately calculate the optimum value for other circuit items. The selection of values for The Tube Computer NOR Gate was different. I calculated the component values and tested the results, but in many cases the theory did not accurately match the practice. So I built a test rig to test the viability of various component values and found a range of values that seemed to work in most cases. But what a palaver!
Vacuum tubes (or just tubes) in the US, are also named thermionic valves (or just valves) in the UK, and электронная лампа (or just electron tubes) in Eastern Europe. The 6N3P thermionic tubes were produced in various grades in many communist factories.
The finest 6N3P tubes were selected at manufacture for military use, with up to 5000 hours life expectancy and printed with an additional code (Cyrillic 6Н3П-ЕВ). The rest were for domestic use, and with the ability to operate at over 200Mhz, the 6N3P was used in many East European VHF radios, televisions and in several beautiful radiograms in the 1950s and 1960s.
The basic, domestic quality thermionic tubes have codes for a projected life span of either 1500 (6Н3П-Е) or only 500 hours (6Н3П). Many were used and then stored for over 50 years, quality stamps may have been accidentally altered, so life expectancy may be questionable, both for the tubes and for me!
The click, click, click of the 7 segment displays in the British Rail clocks were a calming station feature. Time passed slowly whilst you waited for your train to eventually arrive in the 1980s and the sound of the clocks kept you company.
I bought the stripped out units from Dave Fisher, who took the redundant stock from British Rail and passed them on to readers of Electronic Magazines. Made by Bodet, each yellow segment of the display has two actuators, one to show and one to hide. Each actuator coil has a 40 ohm resistance and can be driven by a 100ms 12 volt pulse.
They are very simple to multiplex as a 16 way connector [2 unused] link all the characters in a display. Although it only takes a couple of amps to pulse all the petals at once, the noise is horrendous, so I decided to pulse the petals sequentially!
The Tube Computer’s binary output is sent directly to the mechanical display where an interface converts it into decimal and pulses the petals.
Decoupling
They say you can never have too much decoupling, or was that chocolate?
Decoupling capacitors are extremely important, but often overlooked.
They provide a bypass path for transient currents which would otherwise cause voltage spikes on common power supply paths.
Every Tube Computer NOR gate has a decoupling capacitor underneath the tube to provide a close bypass route to ground.
The Tube Computer has hundreds of vacuum tubes dedicated to memory registers and a small Tube RAM, but in an attempt to create other types of memory I have experimented with photocells illuminated by lamps, neons and leds as experimental NOR gates.
A pair of these optical NOR gates can make a simple SR latch memory cell. I built three, just to test the idea. Unfortunately they take over 120ms to switch, but they do form a stable ring oscillator. I have yet to build a complete optical NOR memory system, but hopefully fibre optics will form the core. It could look quite interesting.
A Nice Cup of Tea
The Tube Computer also incorporates an ALU carry forward register.
The result is held and later used by the [ADDC] instruction, Enabling 16, 32, 64 and even 128 bit maths.
Yes ridiculous, but running a 32 bit maths programme gives you plenty of time to make a nice cup of tea, or maybe run a 128 bit program to have time for a three course lunch with a friend.
The binary counter is the most interesting circuit. The clock system produces the instruction cycle signals from the ring oscillator and feeds three binary counters in series. Each one halves the frequency of the previous one to produce the three bits needed for the microcode instruction steps, plus the load signal for the registers. They are not standard binary counter circuits, and they are designed entirely with NOR gates. Each one consists of two SR latches, the first is cross coupled to the second and the second is fed back to the first. It needs to be setup very carefully. But it does help if the tubes for each binary counter have similar parameters. There are four phases to the counter operation, the first phase to setup is when the first latch sets during the stable high output of the second latch on the edge of the input signal. The third phase, the first latch reset, can then be set during the stable low output of the second latch on the edge of the input signal. Stable as a rock when done, but what a molarkie to setup!
Instructions
The Tube Computer has 16 single step instructions for data storage, data manipulation and program control.
The instructions are [LOADA], to load the Accumulator [LOADB] to load the MBR, [STOREA], [STOREB], [JUMPØ] a conditional jump if the Accumulator is zero, [GOTO] an unconditional jump, [INPUT] which also adds an input Flag, [OUTPUT] plus an output Flag, and [STATUS] which sets the IO condition. There are also the [ADD], [XNOR], [INC], [NOT],[CARRY] and [ADDC] which is [ADD] plus carry in for the ALU.
Clocks
The clock of the Tube Computer is a slightly ambiguous term, as there are many.
I have tried to simplify this by referring to the clock system with a [CLK] at the lowest level which becomes several numbered clocks [CLK6:CLKØ] from the binary counters and sequential logic. They in tern generate the load timing pulses [LOAD] for the memory registers.
I do not think it is standard practice but I found this idea of CLK >CLK[n] >LOAD easier to follow and design.
Thank you
Thank you for reading this page. It has been a really enjoyable project and I have learnt so much from the build.
I do hope that other far more advanced designs can be produced by the incredible computer engineers of today and tomorrow.
But there are so many other interesting challenges out there, just waiting to be resolved.
Maybe just for the fun of doing it!
And maybe just by you!
The Tube Computer does not use a relay RAM but I have kept this information here just in case it is of use to anyone. For reasons that are now irrelevant I built an 8 byte, 700Hz, relay RAM for a previous thermionic tube computer. It just seemed a good idea at the time!
Each 6N3P triode can individually source over 22ma and so can easily switch a reed relay.
It was a 700Hz hybrid memory system using vacuum tube address, clear, read & write NOR gates coupled to reed relay memory cells built on separate stackable 20cm x 30cm boards.
Reed relays operate much faster than the little blue HK4100F subminiature signal relays but they are more expensive, require a considered PCB layout, and sadly they are very quiet. Normally closed [n/c] reed relays are available, but for simplicity I chose to use only normally open [n/o] versions and let the software do the additional computation.
I still find it amazing that the memory cells of each byte of the Relay RAM can be cleared and then written in parallel more than 700 times each second. I have also tested the write speed at 1000Hz, they do work in a single write but are not 100% in a repeat write test. The read was stable at 1000Hz.
Due my complete lack of understanding of how a relay RAM works, I decided to designed my own from scratch. I found even drawing the relay schematics difficult until I realised that a relay is just a type of transmission gate, and then the penny dropped. Forget about the little coil and bent bits of metal and just consider the relay as a rather special transmission gate. One that incorporates the benefits of a bidirectional control signal with good hysteresis, 150 milliohms transmission resistance, and a small operating delay.
What a fantastic device. Normally transmission gate latches require 2 additional NOT gates to add a feedback delay but the reed relay has a small, built in delay. Simplicity itself!
Relays bounce is not really an issue if you wait for the bounce to finish before loading the data, but the back electromotive force is normally a real pain and the negative spikes can clearly be seen on the display. They are due to the collapse of the magnet field when the drive voltage is removed from the coil by the clear pulse, shown here below the memory trace.
The collapse of the magnetic field induces a negative voltage pulse in the same coil. This can easily damage electronic equipment and usually a diode is used to convert this unwanted current into heat. The speed of the relay is reduced by this quenching of the back EMF, but for any NMOS driver or CMOS input this protection is a must, as they do not like minus 30 volts up 'em.
Tubes, on the other hand, take it in their stride, so that the reed relays are able to run as fast as possible without any back EMF protection.