Freddie Williams, Tom Kilburn and Geoff Tootill’s work at the University of Manchester looked at how to develop a computer that could remember its programming. To do this they developed the Williams (or Williams-Kilburn) tube.
The Williams tube used a cathode ray tube (CRT), which probably makes many people think of their old bulky TVs. In this case, a grid of dots was displayed on the surface of the screen, with these dots being the result of an electron hitting the phosphor screen of the tube. When the electron hits the screen, it caused the phosphor to glow, and if the original electron had a high enough energy, then it would result in an electron on the screen being kicked out.
This kicking out of electrons results in a difference of charge, with the surrounding area being negative and the spot of impact being positive. This difference in charge remains for only a fraction of a second before the screen stops being charged and had to be refreshed, but it was read by placing a thin metal sheet over the surface of the tube.
It was the creation of this momentary charge that was used to write an operation into a computer memory, but originally it was only a single bit. On its own, not that useful, but the idea that it could be used to make a computer to remember a program was there. And that’s where the Small Scale Experimental Machine, nicknamed ‘Baby’, comes in.
Baby was designed to test the very idea that the Williams tube was capable of showing a memory. Using war surplus supplies, including some from Bletchley, Baby was built and completed by June 1948. Once finished it was 17 feet in length and 7.4 feet tall, and almost weighed a ton, though this is quite small compared to the ENIAC computer built in America two years earlier, as that was 98.4 feet long and 7.9 feet tall, weighing 27 tons. So, Baby was probably an appropriate nickname, even if we wouldn’t think so today.
Baby used three Williams tubes and one CRT, with the first Williams tube providing the 32 by 32-bit random-access memory (RAM), the next holding a 32-bit accumulator, which showed the immediate result of a calculation, while the third would hold the current program instruction as well as its address in the memory. The CRT would then act as a display for any of the other tubes.
Despite Baby having a 32 by 32-bit RAM, only half of it was used, with 0–12 representing the address of the next instruction and 13–15 showing the instruction that was to be executed. Baby’s instructions were also only written using 3 bits, which in a combination of 1s and 0s, leads to seven possible instructions. Programming Baby meant running through each word of memory and setting it to 1 or 0. This would then provide the instructions that formed the program.