Please note, this is archived content and is no longer being updated. Please update your bookmarks and links to point to this permanent URL: http://curation.cs.manchester.ac.uk/digital60/www.digital60.org/birth/manchestercomputers/mark1/documents/natletter.html.

Nature, Vol 162, p. 487, September 25, 1948.

Reprinted with permission from Nature 162, 487 Copyright (1948) Macmillan Magazines Limited.

A SMALL electronic digital computing machine has been operating successfully for some weeks in the Royal Society Computing Machine Laboratory, which is at present housed in the Electrical Engineering Department of the University of Manchester. The machine is purely experimental, and is on too small a scale to be of mathematical value. It was built primarily to test the soundness of the storage principle employed and to permit experience to be gained with this type of machine before embarking on the design of a full-size machine. However, apart from its small size, the machine is, in principle, 'universal' in the sense that it can be used to solve any problem that can be reduced to a programme of elementary instructions; the programme can be changed without any mechanical or electro-mechanical circuit changes.

The essential parts of such a machine are:

- a store for information and orders;
- various arithmetical organs (for example, adders, multipliers);
- a control unit
^{1}.

The present machine contains the minimum set of facilities for a universal machine, namely:

(a) |
If x is any number in
the store, -x can be written into a central 'accumulator' A; or x can be subtracted from what is in A. |

(b) |
The number A can be written in an
assigned address in the store. (By means of (a) and (b) addition
or direct writing into A can be programmed.) |

(c) |
The content of A can be tested for
whether x >= 0, or x < 0; if x < 0 the order standing next
in the store is passed over. This gives the essential power of branching
routines. |

(d) |
Control can be shifted to an assigned order in the table. |

(e) |
The machine can be ordered to stop. |

The capacity of the store is at present only 32 'words', each of 31 binary digits, to hold instructions, data and working. Hence only simple arithmetic routines devised to test the machine can be run. Examples of problems that have been carried out are:

- Long division by the standard process. (For (2
^{30}- 1)/31, this took 1½ seconds, the quotient being given to 39 significant binary figures of which the 13 least significant, to the left of the binary point, were zero, since 31 is a factor of 2^{30}- 1.) - H.C.F. by the standard process. (For 314,159,265 and 271,828,183, which are co-prime, approximately 0.5 second.)
- Factorizing an integer. For (3) the method was deliberately chosen to give
a long run the result of which could be easily checked. Thus the highest proper
factor of 2
^{18}was found by trying in a single routine every integer from 2^{18}- 1 downward, the necessary divisions being done not by long division, but by the primitive process of repeated subtraction of the divisor. Thus about 130,000 numbers were tested, involving some 3.5 million operations. The correct answer was obtained in a 52-minute run. The instruction table in the machine contained 17 entries.

It will, of course, be understood that it is intended to have other arithmetical facilities, as well as a much larger store, in a full-sized machine; and that even on the present machine quicker routines could have been used. At present routines are chosen with the sole object of testing the machine as thoroughly as possible.

The development of this machine has been very actively supported by the Telecommunications Research Establishment, Great Malvern.

F. C. WILLIAMS, T. KILBURN

Electrical Engineering Laboratories,

University, Manchester 13.

Aug.3.

^{1} For a fuller discussion see, for example, the
Royal Society discussion on computing machines, summary in *Nature*, **161**, 712 (1948)