ElectroMechanical
Home Up Ethics Pradigms Resources Architecture

 

 The forerunner of today’s digital computers used electromechanical components called relays, rather than electronic circuits such as vacuum tubes and transistors. A relay is constructed from a coil of wire wound round an iron cylinder. When a current flows through the coil, it generates a magnetic field that causes the iron to act like a magnet. A flat springy strip of iron is located close to the iron cylinder. When the cylinder is magnetized, the iron strip is attracted, which, in turn, opens or closes a switch. Relays can perform any operation that can be carried out by the logic gates making up today’s computers. Unfortunately, you cannot construct fast computers from relays because relays are far too slow, bulky and unreliable. However, the relay did provide a technology that bridged the gap between the mechanical calculator and the modern electronic digital computer.

 The relay (simplified arrangement)

In 1914 Torres y Quevedo, a Spanish scientist and engineer, wrote a paper describing how electromechanical technology such as relays could be used to implement Babbage's Analytical Engine [Randell94]. Randell comments that Torres could have successfully produced a complete Analytical Engine in the 1920s. Torres was one of the first to appreciate that a necessary element of the computer is conditional behavior – its ability to select a future action on the basis of a past result. Randell quotes from a paper by Torres:

"Moreover, it is essential – being the chief objective of Automatics – that the automata be capable of discernment; that they can at each moment, take account of the information they receive, or even information they have received beforehand, in controlling the required operation. It is necessary that the automata imitate living beings in regulating their actions according to their inputs, and adapt their conduct to changing circumstances."

One of the first electromechanical computers was built by Konrad Zuse in Germany. Zuse’s Z2 and Z3 computers were used in the early 1940s to design aircraft in Germany. The heavy bombing at the end of the Second World War destroyed Zuse’s computers and his contribution to the development of the computer was ignored for many years. He is mentioned here to demonstrate that the notion of a practical computer occurred to different people in different places. Zuse used binary arithmetic, developed floating-point-arithmetic (his Z3 computer had a 22-bit word length, with 1 bit for the sign, 7 exponential bits and a 14-bit mantissa), and it has been claimed that his Z3 computers had all the features of a von Neumann machine apart from the stored program concept. Moreover, because the Z3 was completed in 1941, it was the World’s first functioning programmable mechanical computer. Zuse’s Z4 computer was finished in 1945, later taken to Switzerland and was used at the Federal Polytechnical Institute in Zurich until 1955. 

At the same time that Zuse was working on his computer in Germany, Howard Aiken at Harvard University constructed his Harvard Mark I computer in 1944 with both financial and practical support from IBM. Aiken was familiar with Babbage's work and his electromechanical computer, which he first envisaged in 1937, operated in a similar way to Babbage’s proposed analytical engine. The original name for the Mark I was the “Automatic Sequence Controlled Calculator” which, perhaps, better describes its nature. 

Aiken's machine was a programmable calculator that was used by the US Navy until the end of World War II. Curiously, Aiken's machine was constructed to compute mathematical and navigational tables – the same goal as Babbage's machine. Indeed just like Babbage, the Mark I used decimal counter wheels to implement its main memory consisting of 72 words of 23 digits plus a sign. Arithmetic operations used a fixed-point format (i.e., each word has an integer and a fraction part) and the operator can select the number of decimal places via a plugboard. The program was stored on paper table (similar to Babbage’s punched cards), although operations and addresses (i.e., data) were stored on the same tape. Input and output operations used punched cards or an electric typewriter. 

Because the Harvard Mark I treated data and instructions separately (as did several of the other early computers), the term Harvard Architecture is now applied to any computer that has separate paths (i.e., buses) for data and instructions. Aiken’s Harvard Mark I does not support conditional operations and therefore his machine is not strictly a computer. However, his machine was later modified to permit multiple paper tape readers with a conditional transfer of control between the readers.