First Generation Computers. The first generation of computers is said by some to have started in 1946 with ENIAC, the first 'computer' to use electronic valves (ie. vacuum tubes). Others would say it started in May 1949 with the introduction of EDSAC, the first stored program computer. Whichever, the distinguishing feature of the first generation computers was the use of electronic valves. My personal take on this is that ENIAC was the World's first electronic calculator and that the era of the first generation computers began in 1946 because that was the year when people consciously set out to build stored program computers (many won't agree, and I don't intend to debate it). The first past the post, as it were, was the EDSAC in 1949. The period closed about 1958 with the introduction of transistors and the general adoption of ferrite core memories. OECD figures indicate that by the end of 1958 about 2,500 first generation computers were installed world-wide. (Compare this with the number of PCs shipped world-wide in just the third quarter of 2006, quoted as 59.1 million units by research company Gartner). Two key events took place in the summer of 1946 at the Moore School of Electrical Engineering at the University of Pennsylvania. One was the completion of the ENIAC. The other was the delivery of a course of lectures on "The Theory and Techniques of Electronic Digital Computers". In particular, they described the need to store the instructions to manipulate data in the computer along with the data. The design features worked out by John von Neumann and his colleagues and described in these lectures laid the foundation for the development of the first generation of computers. That just left the technical problems! One of the projects to commence in 1946 was the construction of the IAS computer at the Institute of Advanced Study at Princeton. The IAS computer used a random access electrostatic storage system and parallel binary arithmetic. It was very fast when compared with the delay line computers, with their sequential memories and serial arithmetic. The Princeton group was liberal with information about their computer and before long many universities around the world were building their own, close copies. One of these was the SILLIAC at Sydney University in Australia. I have written an emulator for SILLIAC. You can find it here, along with a link to a copy of the SILLIAC Programming Manual. First Generation Technologies In 1946 there was no 'best' way of storing instructions and data in a computer memory. There were four competing technologies for providing computer memory: electrostatic storage tubes, acoustic delay lines (mercury or nickel), magnetic drums (and disks?), and magnetic core storage. A high-speed electrostatic store was the heart of several early computers, including the computer at the Institute for Advanced Studies in Princeton. Professor F. C. Williams and Dr. T. Kilburn, who invented this type of store, described it in Proc.I.E.E. 96, Pt.III, 40 (March, 1949). A simple account of the Williams tube is given here. The great advantage of this type of "memory" is that, by suitably controlling the deflector plates of the cathode ray tube, it is possible to redirect the beam almost instantaneously to any part of the screen: random access memory. Acoustic delay lines are based on the principle that electricity travels at the speed of light while mechanical vibrations travel at about the speed of sound. So data can be stored as a string of mechanical pulses circulating in a loop, through a delay line with its output connected electrically back to its input. Of course, converting electric pulses to mechanical pulses and back again uses up energy, and travel through the delay line distorts the pulses, so the output has to be amplified and reshaped before it is fed back to the start of the tube. The sequence of bits flowing through the delay line is just a continuously repeating stream of pulses and spaces, so a separate source of regular clock pulses is needed to determine the boundaries between words in the stream and to regulate the use of the stream. Delay lines have some obvious drawbacks. One is that the match between their length and the speed of the pulses is critical, yet both are dependent on temperature. This required precision engineering on the one hand and careful temperature control on the other. Another is a programming consideration. The data is available only at the instant it leaves the delay line. If it is not used then, it is not available again until all the other pulses have made their way through the line. This made for very entertaining programming! A mercury delay line is a tube filled with mercury, with a piezo- electric crystal at each end. Piezo-electric crystals, such as quartz, have the special property that they expand or contract when the electrical voltage across the crystal faces is changed. Conversley, they generate a change in electrical voltage when they are deformed. So when a series of electrical pulses representing binary data is applied to the transmitting crystal at one end of the mercury tube, it is transformed into corresponding mechanical pressure waves. The waves travel through the mercury until they hit the receiving crystal at the far end of the tube, where the crystal transforms the mechanical vibrations back into the original electrical pulses. Mercury delay lines had been developed for data storage in radar applications. Although far from ideal, they were an available form of computer memory around which a computer could be designed. Computers using mercury delay lines included the ACE computer developed at the National Physical Laboratory, Teddington, and its successor, the English Electric DEUCE. A good deal of information about DEUCE (manuals, operating instructions, program and subroutine codes and so on) is available on the Web and you can find links to it here. Nickel delay lines take the form of a nickel wire. Pulses of current representing bits of data are passed through a coil surrounding one end of the wire. They set up pulses of mechanical stress due to the 'magnetostrictive' effect. A receiving coil at the other end of the wire is used to convert these pressure waves back into electrical pulses. The Elliott 400 series, including the 401, 402, 403 used nickel delay lines. Much later, in 1966, the Olivetti Programma 101 desk top calculator also used nickel delay lines. The magnetic drum is a more familiar technology, comparable with modern magnetic discs. It consisted of a non-magnetic cylinder coated with a magnetic material, and an array of read/write heads to provide a set of parallel tracks of data round the circumference of the cylinder as it rotated. Drums had the same program optimisation problem as delay lines. Two of the most (commercially) successful computers of the time, the IBM 650 and the Bendix G-15, used magnetic drums as their main memory. The Massachusetts Institute of Technology Whirlwind 1 was another early computer and building started in 1947. However, the most important contribution made by the MIT group was the development of the magnetic core memory, which they later installed in Whirlwind. The MIT group made their core memory designs available to the computer industry and core memories rapidly superceded the other three memory technologies.