From the Manchester University Computer Inaugural Conference July 1951 : p5-11

THE UNIVERSITY OF MANCHESTER COMPUTING MACHINE

By F. C. Williams, O.B.E., D.S.C., D.Phil., M.I.E.E., F.R.S. and T. Kilburn, M.A., Ph.D.

Introduction

The computing machine which is now operating at the University of Manchester, represents the culmination of a research project of several years' standing. It seems appropriate to outline the various steps in the development of this project, since these have given the final machine its major characteristics.

The project was initiated at the Telecommunications Research Establishment, Great Malvern, at the end of the war. The development of Radar had produced many new techniques, and it was natural to seek other fields for their application. The National Physical Laboratory were already interested in computing machines, and the A.C.E. was in its early stages.

In the United States, experiments were being made in an endeavour to store radar traces on a cathode ray tube. Another American source reported that the observed phenomena were quite unsuitable as the basis of a computing machine store. The reason given was that the 'memory' was too transient, and thus the record could be read only a very few times before it faded away. In spite of this unfavourable report, the application of cathode ray tube storage to computing machines was considered to be so attractive, if it could be achieved, that a research project with this as its aim was started late in 1946. Looking back, it is amazing how long it took to realise the fact that if one can read a record once, then that is entirely sufficient for storage, provided that what is read can be immediately rewritten in its original position. Experiments with a few binary digits proved that this method of storage by 'regeneration' was possible on the screen of a cathode ray tube, and justified further research.

In January 1947, the project moved to Manchester, but continued to have, and fortunately still has, the active support of the Telecommunications Research Establishment.

The original store used the 'anticipation' pulse system, but since then many other configurations have been tried1. The one in favour at the moment is the defocus-focus system. The successful operation of a single cathode ray tube store, containing 1024 digits, for a period of hours during the autumn of 1947 finally set the main line of the design of the machine, since from then on it was clear that it would use cathode ray tube storage.

A Prototype Machine

The next development was to build a small prototype machine2. This machine, a schematic diagram of which is shown in Fig. 1, used one cathode ray tube as a store, S, to hold 32 words, each of 32 digits. It operated serially on the binary digits of a number, represented negative numbers by complements, and used the single address code, an instruction being of the form (s,f) where 's' specified a store address, and 'f' the function to be performed. It set the tone for subsequent Manchester machines in all these respects. A second single word C.R.T. store was used as the accumulator, A, all calculations being performed by transfer of numbers between store and accumulator, whilst a third C.R.T. store, C, held the control number recording the number of the instruction being performed. Since an instruction must be read from the store S, and must then itself control the store selection mechanism via the staticisor, each instruction must be held in temporary storage as it is read from S. A second line on the control tube, C, is a highly convenient place for this temporary storage.



Fig.1. -The Prototype Machine

since the control number and the temporarily stored instruction are then both fed to the staticisor from the single source, C. The two lines of C are called the C.I. and P.I. lines, the initials referring to 'control instruction' and 'present instruction' respectively. Taking the duration of the sweep of one store line, i.e., the number length, to be one 'beat', and the time taken to find, read and obey an instruction as being one 'bar,' this machine operated with four beats to the bar as shown in Fig. 2a. In the first beat, S1, the control instruction was read from C.I., increased by unity to cause the instructions of a programme to be obeyed sequentially, rewritten in C.I., and fed to the staticisor. Meanwhile the store S regenerated some line, say n. In the second beat, A1, the staticisor selected a line of the store S and fed the appropriate present instruction to the P.I. line. In the third beat, S2, the present instruction was read from P.I. and fed to the staticisor, while the store, S, regenerated line n + 1. In the final beat, A2, the staticisor controlled the store, and performed the operation specified by the present instruction. It can be seen that during beats 1 and 2 the machine was under the control of C.I., while during beats 3 and 4 the machine operated in a similar manner, but was under the control of P.I. During the scan beats S1 and S2, successive lines of S, namely n and n + 1 were regenerated, and the staticisor was set whilst the store was in this passive state; but during the action beats Al and A2, the store was in an active state, the line scanned being determined by C.I. or P.I. via the staticisor. Basically this rhythm of four beats in a bar, which was initiated by a 'prepulse,' has remained unchanged in later machines, though the addition of facilities of duration greater than one beat has entailed some modification after the beat A2. This prototype machine could subtract from the accumulator, write negatively to the accumulator, write from the accumulator to the store, write to control, and add to control. It also had a test facility on the sign of the content of the accumulator, which, if the sign was negative, permitted conditional skipping of an instruction by adding 2 to C.I. (see Fig. 1). Clearly this machine had the bare minimum of facilities, but it operated successfully on small programmes in June 1948.



A Magnetic Store

Up to this point the fact that a full-scale machine with a storage capacity of about 4,000 words would call for over 100 C.R.T. stores had been recognised, disliked, and forgotten. Now this problem had to be faced. Magnetic stores had, of course, been propounded for other machines in a variety of forms; wire, or tape, was proposed for use in conjunction with other stores, and drums suggested as main stores. Wire and tape appeared to have two disadvantages. First, time would be wasted in searching for information along the medium, and secondly, some means of identifying individual digits, or blocks of digits, on the medium would be necessary. Since one objective of machine design was economy and a resulting reduction in the necessary number of C.R.T. stores it was obvious that the best solution would be one that permitted the reloading of a C.R.T. store in the minimum time. The absolute minimum time is the time taken to sweep through all the digits on a C.R.T. at the digit repetition rate. To achieve this it is necessary to make digits emerge from the magnetic store in exact synchronism with the sweeping of spots on the C.R.T. store. This was achieved by using a magnetic drum rotated under the control of a servo system3 that related drum position accurately to the position of a spot sweeping out the pattern on the C.R.T. This involved controlling the position of a drum rotating at about 2,300 r.p.m. to an accuracy of about ½ one hundredth of a degree, but was found to be fairly simple, granted good mechanical design of the drum. This combination of magnetic and C.R.T. storage permits indefinite extension of storage capacity, by using a series of parallel tracks along the length of one drum, and by the addition of further drums. Rapid selection of any track is made possible by providing each with its own magnetic head4.

With this arrangement the magnetic store becomes the major storage element, the C.R.T. store being used as a sort of 'smoother' to cut down the average rate of reference to the magnetic store to a figure appropriate to the 30 milliseconds access time of that store. One cannot be specific without considerable programming experience, about the amount of 'smoothing' that will result, but clearly with a bigger C.R.T. store there need be less frequent reference to the magnetic store. Conversely, more rapid reloading from the magnetic store permits the use of fewer C.R.T.'s. There is room here for a nice economic balance, since longer access time makes possible a more economic magnetic store, but for lack of experience the optimum balance is not yet known.

The synchronised magnetic drum was the second major controlling factor in the development of machines at Manchester and continues to provide the bulk of the storage in the present model.

An Improved Machine

Two further machines incorporating the magnetic store were built during 1949. The first5, shown schematically in Fig. 3, was an extension of the prototype machine with more C.R.T. storage, namely 128 words of 40 digits, and more facilities, including an electronic multiplier6. The accumulator, A, had associated computing circuits for addition, subtraction and three logical operations. Multiplication involved the use of the storage tube M. The multiplicand was stated on the D line and remained there for possible further use after a product was taken; and the multiplier was stated on the R line. Products were added into the accumulator automatically, appropriate account being taken of the signs of D and R. Two 40-digit lines were provided for the accumulator, so that the whole of an 80-digit product of two 40-digit numbers was retained, and any 'rounding off' required was entirely under the control of the programme. Computation using the accumulator was performed modulo 280, by extending 40-digit numbers from the store, S, by 40 copies of their most significant digit.

The magnetic store of this machine had a capacity of 40,960 digits, but loading from the magnetic to the C.R.T. store, and vice versa, could only be achieved manually. Nevertheless, during the summer of 1949, useful work was done on the machine. In particular the Mersenne numbers 2p-1 were tested for primality by the Lucas test. By this means the primality of those Mersenne numbers, already known to be prime from other calculations, were checked. The values of p greater than 257 and less than 354 were also tested and the corresponding Mersenne numbers found to be composite.

A new feature, which was introduced by this machine, and which in an extended form is a part of the latest machine, was the 'B' tube. This was a storage tube having two lines B0 and Bl, either of which could be swept at will under the control of a single 'b' digit in the instruction, which now took the form (s,b,f). The output of the B tube was added to P.I. during S2, before P.I. was used to control the staticisor (see Fig. 2b). Thus instructions, and in particular their address section, could be modified in their effect without being modified in their stored form. In general, line B0 was kept empty, so that instructions were used unmodified for b=0, but were modified for b=1. This device was primarily intended as a convenient means of drifting the effect of a whole block of instructions by a constant amount, whilst leaving others that were not 'B modified' unaffected. Since then this tube has found many other similar applications. Instructions could, of course, still be modified by the more normal processes using the accumulator, but this was very often inconvenient and wasteful of time and storage space. The numbers contained on B0 and Bl were sent from S to the B tube by the standard transfer process, and arrived in the B tube during the A2 beat.

A Large-scale Machine

The second 1949 machine was an extension of the first, the most important development being that by which the magnetic store was brought under the control of instructions from the machine, reference to it being made fully automatic. The design of this facility was influenced by a desire to permit reference, not only to the magnetic store, but also to other possible stores, input and output systems, and so on, without a re-coding of the machine being necessary as these further facilities were incorporated. It was also thought desirable for simplicity and economy to preserve the normal rhythm of the machine as far as possible. To achieve these results a single function, f0, was set aside to be used as part of a standard type of instruction (s, b, f0). In the chosen address 's,' as part of a programme, a key word was placed, the meaning of f0 being that the key word was to be set up on a staticisor. This staticisor was called the 'auxiliary' staticisor and it was set to the key word during the beat A2, by the normal processes of the machine as shown in Fig. 2. By suppressing the prepulse, normally given after the beat A2, for the function f0, the machine was then completely under the control of the key word via the auxiliary staticisor. For magnetic transfers the key word took the form (T, E, F) where T stated the number of the track required on the magnetic drum, E the C.R.T. store required, and F the direction of transfer i.e., whether the content of track T should be placed in the store E, or vice versa. The transfer of information took place, of course, during beats subsequent to A2, and occupied a known time, so that a prepulse could be given after the transfer was complete, and normal operation re-commenced.

In previous machines the input to the machine had been directly to the C.R.T. store from a binary keyboard, and output had been by inspection of a C.R.T. monitor. For this machine, input and output routines were developed which enabled teleprinter equipment to be controlled by the machine. The flow of information to and from the machine was via the last five-digit position in the accumulator. The routing of information between these five places, the C.R.T. store, and the magnetic store was an entirely 'programmed' procedure. This principle of using a programmed input and output, as distinct from employing special equipment, has been largely adhered to since.

A number of programmes were run on this machine before it was closed down in the summer of 1950. In particular the Riemann hypothesis was investigated and verified for the range
.

This chiefly involved calculating the Riemann function for about a thousand values of t. For this purpose the values of log n and n were taken from a table, log t /2pi was calculated without reference to a table, and the cosines were obtained by linear interpolation in a table with interval pi/128. The time for each term of the series was about 160 milliseconds. Further, a problem concerned with ray tracing through a lens system was investigated. The lens surfaces were spheres with collinear centres, and the rays traced were mostly skew.

The Present Machine

The machines described in previous paragraphs were entirely concerned with engineering and mathematical experiment. On the basis of experience with these machines, the design of the present machine was laid down in mid 1949 and developed in detail, in close co-operation with Messrs. Ferranti Ltd. A statement of the basic design principles, which also serves as a summary of features already discussed is as follows.

  1. The machine (see Fig. 4) contains:
    (a) A C.R.T. store using the defocus-focus system.
    (b) A magnetic store of the synchronised drum type.
    (c) A 'B' tube.
  2. It has a 20-digit instruction of the type (s, b, f).
  3. It operates serially on the 40 binary digits of a number, the digit frequency being 100 Kc/s.
  4. It has a rhythm based on that shown in Fig. 5b.
  5. It has an 80-digit accumulator operating in conjunction with an electronic multiplier.
  6. It uses the key word method for referring to the magnetic store and input and output.
  7. It uses teleprinter equipment for programmed input and output.

These items were all, of course, included in some form in the final experimental machine, and in describing the present machine it will only be necessary to mention improvements and modifications


Storage

Experience of the large-scale experimental machine showed that the C.R.T. storage capacity of 5,120 digits was rather too small to permit flexibility of programming, and that the subsidiary storage, on the magnetic drum, of 40,960 digits would be quite inadequate for many problems. The C.R.T. storage capacity has therefore been increased to 10,240 digits, using 8 C.R.T.'s. A typical stored pattern on a C.R.T. is shown in Fig. 6. The magnetic storage capacity has been increased to 150,000 digits, provision being made for a further increase to a maximum of about 600,000 digits if this is necessary. The magnetic drum (see Figs. 7 and 8) is 6 inches in diameter, and along its length of 8 inches there is sufficient space to accommodate 256 separate peripheral tracks. Each track holds 2,560 useful digits, the packing density being 165 digits per inch. Key words, 20 digits in length, cause a transfer of information between the contents of a stated track and a stated pair of cathode ray tubes. Alternatively, if it is more convenient, the transfer of information may be between one half-track and one cathode ray tube. In each case the correctness of transfer can be checked by a single instruction, and, in the case of an incorrect transfer, the transfer can be repeated, or the machine stopped.

Selection of a particular track for reading is by electronic switching, and for writing, by relay switching.

The time taken for the check, and for any transfer in which a track is read, is 36 msec. For a transfer in which information is written into a track, this time is increased to 63 msec. to allow time for the relay switching. This discrepancy between the times for reading and writing is not important, because reading is more frequent than writing. This is so because the sub-programmes required during computation are all stored on the magnetic drum.

The Rhythm

To increase the speed of operation of the machine by a factor of between 1.8 and 2, the rhythm has been based on a beat whose length is determined by the 20-digit instruction, and not by the 40-digit number. This is advantageous because inspection of Fig. 2 shows that, of the four beats in the bar, only A2 is required to be of number length. Further, for operations involving the B tube and modification of the control instruction, numbers of 20-digit length only are required, so that in these cases the bar is exactly as in Fig. 2, but requires only half the period of time (Fig. 5a). For operations requiring 40-digit numbers, as for example, when the multiplicand is transferred to the multiplier tube, the bar is extended by a further action beat A3, as shown in Fig. 5b. For those operations using the accumulator, which require an 80-digit number (a 40-digit number extended by 40 copies of the most significant digit), the prepulse is still given after A3 to initiate the next bar. This is permissible because only the accumulator is involved in completing the 80-digit operation, and therefore, the last two beats required may be the S1 and A1 beats of the next bar.


The Accumulator

The facilities for performing addition, subtraction and three logical operations have been retained, together with signed and unsigned multiplication, in which the 80-digit product of two 40-digit numbers is added to the content of the accumulator. Multiplication in which the product is subtracted from the accumulator is a new facility.

The most important engineering change of the accumulator is in the multiplying circuit. In the experimental machine the multiplication time, which depended on the number of l's in the multiplier, averaged about ten times that for addition. A study of available programmes revealed that, if this multiplying circuit were used in the new machine, about half the computing time of the machine would be spent in multiplication. Consequently, the speed of multiplication has been increased, and, in the new machine, an instruction involving multiplication is selected, interpreted and obeyed in 2.16 msec., as compared with a corresponding time of 1.2 msec., for addition, or any other 40-digit number operation. The increase in speed of multiplication is obtained by using a circuit consisting of a network of adders and delays, arranged in such a way that the sub-products are added together in one operation, instead of sequentially. Although some economy of equipment is achieved by carrying out the multiplication in two parts, controlled respectively by the first and second halves of the multiplier, nevertheless this type of multiplier is expensive and increases the size of the final machine by about 10 per cent. (The machine contains 1,600 pentodes and 2,000 diodes.) This, however, is judged to be worth while when balanced against the resulting overall increase in speed of operation of the machine.

To simplify the standardization of numbers during the course of computation, an instruction has been provided which produces in the accumulator a statement in binary form of the position of the most significant digit of any selected number in the electronic store.

An additional circuit generates (in 5.8 msec.) a 20-digit random number as a result of a single instruction. This instruction is used in calculations concerned with stochastic processes.


The B Tube

This facility has been improved to allow still greater flexibility and economy in programming. Eight 20-digit storage locations can now be selected by the three 'b-digits' of an instruction, and thus any one of eight words may be added to an instruction before it is used.

Further, the B tube has been provided with a subtracting circuit, and a sign-testing circuit. Any line of the tube can, therefore, be used as a 20-digit accumulator for simple arithmetical processes. One important example of this is in counting the number of times that a group of instructions has been obeyed, cycling of control being conditional on the sign of a number in the B tube. By this means four instructions are removed from any loop in which counting is required.

The instructions provided enable a number from the C.R.T. store to be written into, or subtracted from, the B tube; or a number in the B tube to be written into the C.R.T. store. The line of the B tube involved in these instructions is stated by the three 'b-digits.' To avoid the necessity for eight test circuits -- one for each line -- the instruction 'test the sign of B' reads a single circuit, which is recording the sign of the content of that line of the B tube which was last used.

Input and Output

The input/output system is controlled by key words via the magnetic staticisor. The input uses a photo-electric tape reader capable of reading 200 five-digit characters per second. The output is by a mechanical tape-punch and /or teleprinter each capable of printing ten characters per second.

The speed of input is approaching the maximum for this machine if an input programme is required to organize the input information. However, the speed of output, which is twenty times as slow, can only be justified if, in general, the time of output is smaller than, or comparable with, the input and computing times together. If this proves to be untrue, an alternative scheme for input and output which has been designed around punched cards may be incorporated at a later date.

Programme of Work

It is not proposed to limit the programme of work on the machine to any particular type of problem, but to cover a range of problems chosen for their diversity. Thus in the immediate future, the following items are among those which will be investigated.

  1. Partial differential equations arising out of biological calculations.
  2. Simultaneous linear differential equations and matrix algebra, and their applications to the cotton and aircraft industries, and electricity distribution.
  3. Tabulation of Laguerre functions.
  4. Design of optical systems.
  5. Fourier synthesis for X-ray crystallography.
  6. Design of plate fractionating towers.
  7. Chess Problems


The authors wish to express their gratitude to the Royal Society, the Ministry of Supply, the Department of Scientific and Industrial Research, Ferranti Ltd., and the General Electric Company Ltd., for their generous assistance to this project.

REFERENCES

  1. KILBURN, T. and WILLIAMS, F. C., 'A Storage System for use with Binary Digital Computing Machines.' J.I.E.E., 96, Part II, No. 30 (1949).
  2. KILBURN, T., TOOTILL, G. C. and WILLIAMS, F. C., Universal High-Speed Digital Computers: A Small-Scale Experimental Machine.' J.l.E.E. 98 Part II, No. 61 (1951).
  3. WEST, J. C. and WILLIAMS, F. C., ' The Position Synchronisation of a Rotating Drum.' J.l.E.E., 98, Part II, No. 61 (1951).
  4. KILBURN, T., THOMAS, G. E. and WILLIAMS, F. C., Universal High-Speed Digital Computers: A Magnetic Storage System.'
  5. KILBURN, T., Nature 164, 684 (1949). 'The University of Manchester High-Speed Digital Computing Machine.'
  6. KILBURN, T., ROBINSON, A. A. and WILLIAMS, F. C., Universal High-Speed Digital Computers: Serial Computing Circuits.' J.I.E.E. (to be published Ml 164).
  7. KILBURN, T., Nature 168, 95 (1951). 'The New Universal Computing Machine at the University of Manchester.'




DISCUSSION CONTRIBUTIONS

Dr. I. J. Good

What is the probability density, as a function of time, for the dissipation of an unregenerated spot on the C.R.T.? I ask this question because trouble could arise even with regeneration provided that the distribution were nearly normal and the standard deviation were more than a fifth of the mean. The question is also of theoretical interest, i.e., of possible future practical interest.

Dr. T. Kilburn

Experiments necessary to ascertain the probability density as a function of time have not been performed as they would entail a considerable amount of work. During the operation of C.R.T. stores over a number of years no trouble has yet occurred which could be traced to this cause.

Mr. E. A. Newman

We have found that an outright fault on the Pilot Model of 'A.C.E.' is easy to track down. Trouble really arises with faults of intermittent character, and with 'edgy' faults which only occur after certain sequences of operations have been carried out at speed.


HOME PAGE
Copyright The University of Manchester 1998, 1999