FASTER THAN THOUGHT
This machine has been specially designed to demonstrate the principles of automatic digital computers. Any demonstration can only give one a very sketchy idea of these machines and therefore this booklet has been prepared for those persons who desire to learn a little more about computers in general and of Nimrod in particular.
This booklet will be read by people having widely differing interests and therefore it has been attempted to use the simplest possible explanations in order to embrace the widest field. The science of computing with these machines has developed during the last decade at such a rate that machines which were put into service four years ago are now considered obsolescent. Under these circumstances it was inevitable that a new terminology would arise in a very haphazard manner and in fact there is still no standard language for describing the machines. A further complication is apparent when it is realised that the 'new' terminology has been produced by ascribing slightly different meanings to normal words, and for this reason a glossary has been included at the end in which the meanings of the various words are explained.
Automatic computers are often described as mechanical or electronic brains. The use of the word 'brain' can lead to great confusion and therefore we prefer to avoid its use. In the first place it gives one the impression that automatic computers can think for themselves, which is not true of any machine that has been made so far. They do 'think' after a fashion but only in the manner that their designer and the person controlling the machine allow. Secondly the word 'brain,' together with other words, has been used in literature giving the impression that these machines are extremely complex and quite beyond the understanding of the ordinary person. It is true that some of the individual details are complicated and also that one must learn to appreciate the individual steps in a 'thought' process, but there should be little difficulty in grasping the broad principles of operation of the machine and thereby getting some insight into computing methods. Nimrod and this booklet attempt to introduce these broad principles to the widest possible audience.
As the complexity of life has increased all nations have found that the amount of calculation required has become very large in both scientific and commercial fields. Therefore man has tried to find methods of easing this burden. The Eastern nations soon became proficient in the use of the abacus on which even to-day they can calculate at very high speeds. The progress of the Western nations in this field was very slow and advances in methods of calculation have always tended to follow scientific, rather than commercial requirements. Logarithms were invented and used initially for astronomical calculations and were adopted for other purposes rather slowly. Many people to-day use the slide-rule which is an application of the logarithm principle and constitutes our simplest calculating machine. Logarithms can give great accuracy but they are slow in use while the slide-rule is comparatively rapid but its accuracy is very limited. In 1820 the first desk calculating machine was produced commercially and since then it has been successfully developed and applied to many problems. The speed of a desk machine is, however, limited since each operation must be set up individually by an operator. Therefore, something better was required. The answer was produced by a man who was literally a century ahead of his times and whose major work was so outstanding that it was ignored for a hundred years. This man was Charles Babbage, Lucasian Professor of Mathematics of Cambridge University who lived from 1791 to 1871. He formulated the principles of the modern automatic sequence controlled computer and commenced to build two machines, but was not able to obtain sufficient financial assistance to complete them. He exhibited part of one of the machines at the Great Exhibition of 1851. His work on the calculating part of his machines was recognised and led to the development of the modern desk calculator. Unfortunately his ideas on the automatic control of calculating machines were allowed to stagnate. Only recently was it realised that Babbage's "Analytical Engine," which he controlled with punched Jacquard cards, was the forerunner of the modern automatic computer.
Desk calculating machines are used for scientific and commercial purposes and there are a very large number of different types. All add and subtract while some multiply and divide and some can print out their results. The characteristic of these machines is that an operator is required who controls the machine in every major step of the process of calculation; any decisions that are required are made by the operator according to the instructions of the person who has planned the calculation.
The next step was the introduction by Dr. Hollerith in 1894 of a punch card machine for statistical work. This machine had no application for calculation purposes in its original version but it did provide the foundation on which others have built. These machines are characterised by the fact that numbers are fed to the machine automatically in the form of holes punched in cards and the results are either punched in cards or printed out automatically. When calculations are required the processes involved are inserted into the machine by means of a plug board or similar mechanism. The sequence of events called for by this plug board takes place on every card that is fed in, and therefore these machines can be described as simple sequence controlled calculating machines. There are a great variety of machines of this type, each machine having a special purpose and it is quite beyond the scope of this booklet to attempt to describe them. These machines can carry out quite complex operation and are mainly employed where the same type of calculation is required over and over again. Examples of the work carried out by these machines are firstly, automatic payroll calculation including the correct deduction of tax, secondly, automatic invoicing including the actual printing of the invoice, and thirdly, calculation of accounts such as electricity accounts in which the machine takes into consideration all the various types of charges and finally prints the account form. A few machines have been built that really fall into this second category, but which are so large that they are often classified as automatic computers. They are really very large punched card machines capable of working with very long sequences but they are still sequence controlled machines and obey the sequence over and over again.
Another type of computer that is still extremely useful for scientific work and has found application in the design of predictors is the differential analyser. It has the disadvantage that its accuracy is limited.
Other forms of special purpose computers have been built but their use cannot be described here.
It is difficult to state which machine was the first true automatic computer as a number of slow speed machines were made from 1938 onwards evolving slowly from large scale punch card type machines to true automatic computers. The first machine exhibiting most of the characteristics of the modern machines to go into service was the Havard Mark I which has been in use ever since 1944. In 1947 the ENIAC was commissioned ; this was the first high speed electronic automatic computer, but it was very inflexible in use by modern standards. Since then several machines have been completed and many are in construction in the United States. Machines are also being constructed in France, Holland and Sweden. In this country the EDSAC at Cambridge has been operating for some time and a number of other machines are in construction. The pilot model of the ACE at the National Physical Laboratory is in operation while the pilot model at Manchester University has been replaced by the final machine known as the Ferranti Mark 1.
Automatic computers have three essential characters.
(1) They can calculate.
(2) They can 'remember.'
(3) They can make decisions.
The decisions they make are very simple but by making enough of them it is possible to make very complex decisions.
The machines usually have two other characteristics
(4) They accept information automatically.
(5) They record their results automatically.
A more detailed description of the various parts of an automatic computer are given below.
(1) The 'Storage' or 'Memory.'
This section has been described first not because it is the most important feature but simply because it gives one some idea of the magnitude of the machines. This section rarely forms one single part of the machine as usually there is a main storage element and a number of small capacity stores used during computation.
The main storage 'remembers' general data, intermediate results, useful numbers, subroutines, etc. (These sub-routines will be described later).
This storage does not include other information stored in a 'library' that can be fed to the machine for particular problems.
The machine can refer to information in the main store very rapidly and no time is lost in this process of 'locking up' information.
Nimrod has a very small memory indeed since its maximum storage capacity is of five numbers, each not greater than 7 and of eight numbers, each not greater than 3. The Ferranti Mark 1 Computer, has a main storage capacity of more than 33,000 numbers, each number being of the order of one million, or 16,000 numbers of the order of 1,000,000,000,000. It will have been demonstrated that Nimrod can carry out quite complex problems with its very small memory, and this may give one some idea of the great complexity that can be handled with the vast storage capacity of a full size machine.
(2) Input System
Information must be fed to the machine extremely rapidly. In Nimrod information is conveyed directly to the machine by means of push buttons, but in a general purpose computer this would be far too slow. In these machines the information is transcribed onto some suitable medium such as perforated paper tape or punched cards and fed to the machine automatically. The Mark 1 Computer can accept information at the rate of fifty numbers of of the order of one million every second but speeds much higher than this are quite possible.
(3) Output system
The machine must be able to produce its results in an intelligible form. In Nimrod this is done by means of lamps while the Mark 1 can type its answer and also punch tape for its own use.. Since in general the quantity data is smaller than that of the input data, lower rates of output are quite acceptable. The Mark 1 output rate is only one twentieth of the input rate but output speeds as high as input speeds are quite possible. Practically any input and output speeds that one desires can be achieved but the deciding factors are cost and reliability.
(4) Arithmetic Elements
It is generally appreciated that any arithmetic operation can be performed provided one can add and subtract. Therefore a computer having only these elements is quite valuable but the speed of operation can be increased by providing special circuits for some of the more complex operations. If the relative frequency of occurrence of the various arithmetic operations is analysed it is discovered that in general addition, subtraction and multiplication constitute very nearly all the necessary operations. For this reason special circuits for fast multiplications are frequently incorporated in the machines, while circuits for fast division, etc., are rarely employed, as their use does not increase the overall speed of the machine significantly. In the case of the Mark 1 an average of three million calculations involving numbers in the order 1,000,000,000,000 are performed per hour.
(5) Communication System
This comprises the network of wires and electronic switches that are used to transfer information between the various part of the machine. The speed of operation of this part of the equipment is extremely rapid.
(6) The Automatic Sequence Control Elements
This part of the machine has been mentioned last but it is by far the most important. It is this element that gives the machine quasi-human characteristics and if it were omitted the only difference between an automatic computer and a desk calculator would be that of magnitude. The action of this part of the machine will be described after the next section.
Many of us are moderately familiar with the processes involved in carrying out complex calculations using desk calculating machines. We will therefore attempt to show the analogy between these processes and the operation of an automatic computer. We will assume that some executive person and a number of operators using desk calculating machines desire to carry out some long and complex computation. This could be a scientific calcuation but the same principles apply to any of the calculations involved in business work.
(1) Initial Training
Operators must be trained in the use of their machines. They must be able to understand the problem set out for them on paper and translate this into operation on their machines. They must also be able to recognise the results when obtained and this may need some decision if they are to recognise when sufficient information has been obtained. They must also be able to record their results as these may consitute intermediate data for the use of another operator. The foregoing statements may seem trivial and obvious but they do represent essential features and much of the behaviour we take for granted in human operators constitute quite separate steps in an automatic computer.
In the case of an automatic computer a very similar process takes place and when it is first constructed it has no knowledge of any sort unless this has been specially built into the machine. The computer has to be 'educated' in all its basic processes and must 'remember' these processes in the store. Thus it must be 'taught' the following operations.
(a) How to accept information.
(b) How to express its results.
(c) How to divide, to extract square roots, to calculate powers of numbers, etc.; addition, subtraction, multiplication, etc., not being mentioned as these are often built in.
These processes are known as sub-routines and are analogues to the experience of the human operator.
(2) Planning the Calculation
Before calculation can commence all the initial data must be assembled together in an orderly form. The person in charge of the organisation must then decide on a programme of events and prepare instructions for each operator. This programme must be checked carefully as any mistake at this early stage could cause extensive errors in the final results.
In case of an automatic computer exactly the same process takes place and a programme is prepared. This is then punched on to tape and fed to the machine. This programme may appear to be a good deal shorter than for the human operator if the machine is storing a large number of sub-routines. On the other hand, if the programme includes all details contained in the sub-routines it will be found to be very long as every individual step must be specified completely in the most exact fashion. This need not worry the programmer as once the machine contains a reasonable number of sub-routines he can use symbols for these and work very quickly.
(3) The Calculation
The programme produced in step (2) is now passed to the operators who carry out the calculations as specified, make decisions where they are required, again as specified by the programme and record intermediate results which are then passed to other operators until the final results are obtained.
The process in the computer is similar to that using human operators. In this case, however, all information is in electronic form and the calculation, transfer and storage is all in this form. The major difference is the speed of operation. An automatic computer is so fast that it is possible to make calculations that would not be practicable by any other means. This increase of speed is effected partly by the increased rate of calculation which is many thousand times faster than by human operators and partly by the extremely rapid transfer of information. This latter operation, in normal office routine is considerably more costly and time wasting than is generally realised.
The results are finally typed out in a suitable form. This process occurs in both methods of carrying out the calculation by hand in the usual office and automatically in the case of the computer. In present machines, although the computer provides output only at the speed of a fast typist, the time saved in the transfer of information and typists errors is appreciable.
It will be obvious from the above that the computer attacks a large calculation in a very similar manner to that of a large calculating organisation. This also indicates that it might be possible to use an automatic computer in place of any organisation where 'thinking' according to logical and arithmetic rules, is practised. At present, no indication has been obtained that this would be unpracticable. Another advantage of computers lies in the saving of the time nominally spent in correcting errors. Since much of a programme can consist of sub-routines which are each very carefully checked before insertion into the machine, the margin of error in programming can be reduced. Further, machines can be designed to make far less errors than are made by human operators and can also be programmed to check the results of each calculation. Even if this latter process takes as long as the calculation itself in many cases it is justified especially when one considers the high speed of operation of the machines. The ultimate reliability of automatic computers is not known accurately at present but there appears to be every possibility that they will become a fast and reliable aid to computation.
Nimrod is a special purpose automatic computer but most of the large machines that have been built are general purpose machines. This simply means that the programme has been built into Nimrod, numerical data being supplied from the control desk; while in large machines both numerical data and a programme must be supplied. The programme consists of a set of instructions and normally the machine carries out these instructions in the order that they have been given; this is the normal action of a sequence controlled machine.
In an automatic sequence controlled machine special instructions are provided which allow the machine to make decisions. These instructions order the machine to examine the present result of the calculation and depending on the value of that result to proceed either to the next instruction or to jump to some other instruction. This makes it possible for the machine to use the same programme for different sets of numbers and also allows the machine to determine when it has finished one step in a calculation and can proceed to the next step. This principle is used repeatedly in Nimrod and the best illustration that one can be given is to advise the reader to study how Nimrod plays Nim.
It may appear that, in trying to make machines play games, we are wasting our time. This is not true as the theory of games is extremely complex and a machine that can play a complex game can also be programmed to carry out very complex practical problems. It is interesting to note for example that the computation necessary to play Nim is very similar to that required to examine the economies of a country in which neither a state of monopoly nor of free trade exists.
[back to Guide contents page]