|
|
|
Much of the development of early telegraph systems was by trial and error. We have already described how Lord Kelvin laid the foundation of transmission line theory when he investigated the performance of telegraph systems. Now we are going to mention some of the other intellectual concepts that contributed to the birth of the computer industry. In 1854 George Boole described a means of manipulating logical variables that provided the foundation for binary digital systems and logic design. Claude Shannon at Bell Labs extended Boole’s work in the 1930s to the algebra of the switching circuits used to design computers. In the late 1930s Alan M. Turing, a British mathematician, provided some of the theoretical foundations of computer science. In particular, Turing developed the notion of a universal machine (now called a Turing Machine) capable of executing any algorithm that can be described. The structure of a Turning machine bears no resemblance to any real machine before or after Turning’s time. However, it is a simple device with memory elements, a processor, and a means of making decisions. A Turing machine has an infinitely long tape containing symbols in cells (i.e., the memory). A read/write head reads symbol, X, in the cell currently under the head and uses a processor to write a new symbol, Y, in the cell previously occupied by X (note that Y may be the same as X). Having read a symbol, the processor can move the tape one cell to the left or the right. The processor is a simple finite state machine. Turing’s work led to the concept of computability and the idea that one computer can emulate another computer and, therefore, a problem that can be solved by one computer can be solved by every other computer. A consequence of Turing’s work is that problems that can be shown to be unsolvable by a Turing machine cannot be solved by any future computer – no matter what advances in technology take place. Alan Turing played a major role in World War II when he worked on code breaking at Bletchley Park in England. An early digital computer called Colossus was constructed for decrypting intercepted German messages encoded using the Lorenz cipher. Colossus was a high-speed vacuum tube computer that employed parallel processing, although it was not a programmable device. However, this work probably played little role in the development of the computer because of its secrecy.
|