The Williams tube, or the Williams–Kilburn tube after inventors Freddie Williams (26 June 1911 – 11 August 1977), and Tom Kilburn (11 August 1921 – 17 January 2001), developed in 1946 and 1947, was a cathode ray tube used as a computer memory to electronically store binary data. It was the first random-access digital storage device, and was used successfully in several early computers.
Williams and Kilburn applied for British patents on December 11, 1946, and October 2, 1947, followed by US patent applications on December 10, 1947, and May 16, 1949.
The Williams tube depends on an effect called secondary emission that occurs on cathode ray tubes (CRTs). When the electron beam strikes the phosphor that forms the display surface it normally causes it to light up, however, if the beam energy is above a given threshold (depending on the phosphor mix) it also causes electrons to be struck out of the phosphor. They travel a short distance before being attracted back to the surface and falling on it a short distance away. The overall effect is to cause a slight positive charge in the immediate region of the beam where there is a deficit of electrons, and a slight negative charge around the dot where those electrons land. The resulting charge well remains on the surface of the tube for a fraction of a second while the electrons flow back to their original locations. The lifetime depends on the electrical resistance of the phosphor and the size of the well.
The process of creating the charge well is used as the write operation in a computer memory, storing a single binary digit, or bit. A collection of dots or spaces, often one horizontal row on the display, represents a computer word. There is a relationship between the size and spacing of the dots and their lifetime, as well as the ability to reject crosstalk with adjacent dots. This produces an upper limit on the memory density, and each Williams tube could typically store about 1024–2560 bits of data. Because the electron beam is essentially inertia free and can be moved anywhere on the display, the computer can access any location, making it a random access memory. Typically the computer would load the address as an X and Y pair into the driver circuitry and then trigger a time base generator that would sweep the selected locations, reading from or writing to the internal registers, normally implemented as flip-flops.
Reading the memory took place via a secondary effect caused by the writing operation. During the short period when the write takes place, the redistribution of charges in the phosphor creates an electrical current that induces voltage in any nearby conductors. This is read by placing a thin metal sheet just in front of the display side of the CRT. During a read operation, the beam writes to the selected bit locations on the display. Those locations that were previously written to are already depleted of electrons, so no current flows, and no voltage appears on the plate. This allows the computer to determine there was a 1 in that location. If the location had not been written to previously, the write process will create a well and a pulse will be read on the plate, indicating a 0.
Reading a memory location creates a charge well whether or not one was previously there, destroying the original contents of that location, and so any read has to be followed by a write to reinstate the original data. In some systems this was accomplished using a second electron gun inside the CRT that could write to one location while the other was reading the next. Since the display would fade over time, the entire display had to be periodically refreshed using the same basic method. However, as the data is read and then immediately written, this operation can be carried out by external circuitry while the central processor unit (CPU) was busy carrying out other operations. This refresh operation is similar to the memory refresh cycles of DRAM in modern systems.
Since the refresh process caused the same pattern to continually reappear on the display, there was a need to be able to erase previously written values. This was normally accomplished by writing to the display just beside the original location. The electrons released by this new write would fall into the previously written well, filling it back in. The original systems produced this effect by writing a small dash, which was easy to accomplish without changing the master timers and simply producing the write current for a slightly longer period. The resulting pattern was a series of dots and dashes. There was a considerable amount of research on more effective erasing systems, with some systems using out-of-focus beams or complex patterns.
Some Williams tubes were made from radar-type cathode ray tubes with a phosphor coating that made the data visible, while other tubes were purpose-built without such a coating. The presence or absence of this coating had no effect on the operation of the tube, and was of no importance to the operators since the face of the tube was covered by the pickup plate. If a visible output was needed, a second tube connected in parallel with the storage tube, with a phosphor coating but without a pickup plate, was used as a display device.
Developed at the University of Manchester in England, it provided the medium on which the first electronically stored-memory program was implemented in the Manchester Small-Scale Experimental Machine (SSEM) computer, which first successfully ran a program on 21 June 1948. In fact, rather than the Williams tube memory being designed for the SSEM, the SSEM was a testbed to demonstrate the reliability of the memory. Tom Kilburn wrote a 17-line program to calculate the highest factor of 218. Tradition at the university has it that this was the only program Kilburn ever wrote.
The Williams tube tended to become unreliable with age, and most working installations had to be "tuned" by hand. By contrast, mercury delay line memory was slower and not truly random access, as the bits were presented serially, which complicated programming. Delay lines also needed hand tuning, but did not age as badly and enjoyed some success in early digital electronic computing despite their data rate, weight, cost, thermal and toxicity problems. However, the Manchester Mark 1, which used Williams tubes, was successfully commercialised as the Ferranti Mark 1. Some early computers in the USA also used the Williams tube, including the IAS machine (originally designed for Selectron tube memory), the UNIVAC 1103, Whirlwind, IBM 701, IBM 702 and the Standards Western Automatic Computer (SWAC). Williams tubes were also used in the Soviet Strela-1 and in the Japan TAC (Tokyo Automatic Computer).