It is proposed to describe here the experimental machine built at Manchester University during the period 1947-1950, usually then known as the `existing machine' but here to be described as the `pilot machine'. The description to be given here will apply to the most recent form of the machine. The development of the machine was essentially in the order used in describing the Mark II machine. There was first a baby machine, something like the `reduced machine', to which were added first a larger variety of functions including logical operations and a multiplier with the necessary accompanying 80 digit accumulator. A two line B tube was added at the same time. In a further stage the magnetic wheel and the input and output were provided.
Arrangement of storage on pilot machine:
The electronic storage consisted of four tubes, each containing 32
lines of 40 digits. The thirty-two lines appeared under one another,
i.e. there was no arrangement in more than one column. The names
given to these lines were
//,@/,:/,...,VU i.e. the first 128
non-negative even integers. Those lines which had the same second
character were said to form a paragraph, thus a paragraph was either
the upper or the lower half of a tube. These lines could be divided
into halves for the purposes of using them as instructions. The left
half of a line if used as an instruction was given the same name as
the whole line, but the right half was given a name one greater,
e.g. the left half of line VU would form the instruction
VU and the right half the instruction £U.
The B-tube had only the two lines B0 and B1. These were 40
digit lines.
The selection of instructions was on a principle very analogous
to that in the Ferranti machine although differing in many details.
The control tube contained two forty digit lines, the `instruction
number' C being on one line, and the present instruction (actual)
forming half of the other line or P.I. line. If the content of
control is observed at a prepulse the actual instruction next to be
obeyed is obtained as follows:
In the actual instruction the first digit is irrelevant. If it is
replaced by 0 the first eight digits represent a store line, which,
apart from magnetic transfers, is the only one which will be altered
in the obeying of the instruction and is the only one whose content is
relevant to that instruction. Its content is represented by S,
in the equations for the instructions as in the Mark II machine. The
ninth to the fifteenth digits of the instruction were irrelevant, and
the last five formed a function symbol. The equations for the
thirty-two functions are given on p.
. The equations
presumed to hold are as with the Mark II machine except that
replaced
. The accumulator and multiplier are as
with the Mark II machine, except for the times and the actual
arrangements of the digits.
0 | / | Magnetic transfer | |
1 | E | (time waster) | |
2 | @ |
![]() |
|
3 | A |
![]() |
|
4 | : |
![]() |
|
5 | S |
![]() |
|
6 | I |
![]() |
|
7 | U |
![]() |
|
8 | ¼ | (time waster) | |
9 | D |
![]() |
|
10 | R |
![]() |
(test) |
11 | J |
![]() |
|
12 | N | Dummy stop | |
13 | F | ![]() |
" " |
14 | C | ![]() |
" " |
15 | K | Hooter operates | |
16 | T |
![]() |
|
17 | Z |
![]() ![]() |
|
18 | L |
![]() |
|
19 | W |
![]() |
|
20 | H |
![]() |
|
21 | Y |
![]() |
|
22 | P |
![]() |
|
23 | Q | ![]() |
|
24 | O |
![]() |
|
25 | B |
![]() ![]() |
|
26 | G |
![]() |
|
27 | " |
![]() ![]() |
|
28 | M |
![]() |
|
29 | X |
![]() |
|
30 | V |
![]() |
|
31 | £ |
![]() |
|
These equations will mostly be self-explanatory, after the explanations that have been given in connection with the Ferranti machine. Only N,C,F,K need explanation. These were dummy stops and the combinations N,C,F,K; C,K; F,K; none; of active dummy stops could be chosen with the aid of three switches. Functions C and F also did duty in connection with the output. This is explained by the equations for P which is a single digit store. States 0 and 1 of this store are to be interpreted as mark and space respectively and signals are sent out along a teleprint line to a punch accordingly.
It will be seen that there are no means of using the content of B-lines except to modify instructions, also that when altering B-lines the line concerned is chosen by the function symbol, not by the B digit. It will also be observed that the test instruction (R) is not combined with a transfer. It is usually necessary therefore to follow it with a control transfer.
The magnetic instructions were forty digit lines. The first three characters were irrelevant, the fourth and fifth gave the track, the sixth the pair of tubes, the seventh the function symbol and the digits of the eighth were used separately for special functions.
As regards the track number, provision was made in coding for 64
tracks, although there were never more than 30 operative, and not more
than 15 except at the very end of the machine's life. The coding of
the track number was the obvious one i.e. with magnetic instruction
I the track number was
. Since
there were only two partnered pairs of tubes viz. tubes 0,1 and 2,3
there were only two possibilities for the tube-pair character
viz. / for 0,1 and E for 2,3. The functions were on a
system very reminiscent of the Mark II machine viz.
Digit 30 | Read 0, write 1 |
Digit 31 | One page 0, two 1 |
Digit 32 | Scan 0, Action 1 |
Digit 33 | Normal 0, Reverse 1 |
Digit 34 | Normal 0, Check 1 |
The special functions will be described under the input mechanism.
The digit periods on the Mark I machine were of the same length (10
s) as on the Mark II, but each beat consisted of 45 digit
periods. The majority of instructions occupied 4 beats i.e. 1.8 ms.
The exceptions were magnetic transfers, taking about 60 ms, active
dummy stops (indefinite), and multiplications. The time occupied by
a multiplication was dependent on the number of digits 1 in the
multiplier, and if this number was
the time was
beats. The average time for all multipliers was thus about 47 beats
or 12 ordinary instructions. For multipliers which were powers of 2
the time was equal to that taken by two ordinary instructions. The
time in input was 150 ms per character, and the same in output.
We have already explained how output is controlled through the digit P. It may be as well however to explain the operation of a teleprinter, or rather the nature of the signals which are transmitted down teleprinter lines. Ideally these signals change instantaneously from one voltage called mark to another called space. The mark signal also does duty as a `stop' signal and the space as a `start'. When the line is quiescent, i.e. when no meaningful signal is being transmitted it is permanently at mark, and this mark is interpreted as `stop'. If this mark gives way to space the succeeding 150 ms of signal are expected to conform to one of 32 patterns corresponding to which of the 32 teleprint characters are being transmitted in that period. The first 20 ms should be space, representing start, and the last 30 ms should be mark, representing stop. The intervening period is divided into five periods of 20 ms each. These periods are associated in order with the five digits of the character to be transmitted. A digit 1 is represented by mark and 0 by space. A certain tolerance is of course permitted on this ideal waveform. In particular a tolerance of 5% plus or minus is allowed on speeds of transmission.
The output routine enabled one to punch the content of any line. It operated simply by giving instruction to F and C at appropriate moments, in accordance with the above account.
An input routine might have been used accepting the same type of
signals, but such a system would not have been very flexible. It was
arranged instead that the input should be along six lines. When a
tape was being read each character was transmitted only for a period
of 20 ms, and these periods were at intervals of 150 ms. This effect
was obtained by a simple modification of a tape reader
(transmitter-distributor), the periods of transmission coinciding with
the periods when the unmodified machine would have transmitted the
first digit of a character. The sixth line always transmitted 1
during these periods, and was used to indicate these periods. All
lines transmitted 0 at other times. The effect of these signals was
to modify the content of the accumulator. The five digits of the
character transmitted were connected to P35-P39 and also to
P75-P79. The sixth line was connected to P0 and P40. All
these were `or' connections (see p. ). Thus if the
accumulator held ////////ABCDEFGH just before a transmission
period, and no instructions tending to alter the accumulator were
applied and U were transmitted, it would contain
E//////UABCDEFGQ from very soon after the beginning of the
transmission period. [P in this description appears to be a
persistent typo for A.]
It was found convenient to be able to start and stop the transmitter distributor at the discretion of the machine. A magnetic instruction with 1 for digit 36 would start it, and if this was absent a digit 1 in position 35 would stop it. Any magnetic transfer described by the remainder of the magnetic instruction would also have to be obeyed. A switch on the transmitter distributor itself enabled it to be switched off entirely. There was also on it a key producing the same effect as digit 36 of a magnetic instruction. A key corresponding to digit 35 would also have been a convenience.
The input and output apparatus produced considerable interference, and
for this and reasons of space was housed in a room at some distance
(on another floor) from the remainder of the equipment. An
intercommunication system (not entirely distortionless, and much
interfered with, both in the electrical and acoustic parts of the
path) connected the two rooms, but it was found desirable to make it
possible to control the machine from either room. The controls on
input already mentioned, together with a key controlling KEC, were
sufficient for controlling from the input-output room, provided the
switches on the console were in standard position. The
intercommunication system would then be mainly used to request that
the switches be so set, or that some alteration be made concerning
dummy stops. When controlling the machine from the main room, the
facilities for stopping and starting the transmitter distributor
automatically were most useful. This mode of operation was used most
when verifying the correctness of routines with check sheets. A tape
would be punched which with the aid of the input routine set the
machine into the state from which its motion was to be investigated,
and at which a dummy stop occurred, and the T.D. would be automatically
stopped. From this tape another was produced bearing repetitions of
the first, by the technique mentioned on p. . This
tape would then be placed in the T.D. which would be switched on but
stopped and the investigator would proceed to the machine room. By
operating KEC it would then be possible for him to set the machine
into the condition in which he was interested. This would involve the
first copy of the original tape passing through the T.D, which would
then stop. After pursuing his researches for some time the
investigator could start again by once more operating KEC and
consuming a further section of the tape. This Utopian state of
affairs was only too often interrupted by the machine going out of
control and consuming the whole tape.
As subsidiary tape handling equipment there was a hand punch (with
considerable tendency to replace digits 1 by 0), and a printer
mechanism. The latter was used to print out the contents of tapes.
It could be set to any margin width and gave automatic carriage return
and line feed at the right margin. This printer had figure shift and
letter shift positions. In the letter shift position the alphabetic
characters were represented by the capital letters, but the stunts
were represented / for %
,
2 for @, 4 for :, 8 for ¼,
5 for ", and for £.
In the figure shift position Q was represented by 1,
W by 2, E by 3, R by 4,
T by 5, Y by 6, U by 7,
I by 8, O by 9, and P by 0.
The other twenty two characters were represented by somewhat
colourless characters, by no means standard, and only eleven of them
different. An additional tape-handling facility was provided by the
possibility of disconnecting the input and output from the machine and
connecting them together so as to provide a means for copying tapes.
For this purpose the T.D. produced normal teleprint signals rather
than the special six-line signals used in input. Opportunities for
releasing the equipment for copying purposes were frequently
available.
We shall describe here only those programmes which were actually used a considerable number of times and were not eventually superseded. These probably represent less than a quarter of those which were actually made. The others were either superseded by better routines, or assumed a form of machine which went out of date before being made, or required greater reliability in the machine than was forthcoming, or formed parts of schemes which never came into force for lack of time, or were just rather useless, or even not right.
As with the Mark II machine there were conventions about the normal uses of the four pages available. Pages 0 and 1 were for instructions, page 2 for systematic working space, and page 3 was divided between permanent information, unsystematic working space and the routine changing sequence. Paragraph I, i.e. lines /I to VI were unsystematic working space, with GI, MI, VI as special working space, and /U and OU was used for PERM, which contained a number of powers of 2, and also RYRYRYRY, E///E///, ££££££££, and ////////. Line VU was used for the cue, consisting of a control transfer number and a magnetic instruction packed into one line. The routine changing sequence was contained in the last halves of the lives OU,GU,MU whose contents were
The principle of meaningful sequences and warning characters was used as with the input routine of the Mark II machine. There were three warning characters K,Q, and J with respective lengths of meaningful sequence 11,11,10. With K and Q the second and third characters determined the line to which the remaining characters were to be sent. With K these two characters gave the address direct but with Q the middle digit of the third character was first replaced by 1. This made it impossible to interfere with the input programme itself when using warning character Q. With J the second character was sufficient to describe the address as this was restricted to be on [electronic] p.2, the page of systematic working space. For this purpose the 32 lines /:,@:,...,VS were to be called /,E,...,£. The content destined for the address so determined came from the remaining eight characters. There was also a scheme for obeying instructions from tapes. After doing any transfer as described above the accumulator would be filled from HA (l.s. [half]) and PA (m.s.) and then the two halves of line G@ obeyed as instructions, the left half first. The accumulator was then emptied back into HA and PA, and G@ set to contain two time wasting instructions. The consequence of this arrangement was that one could obey two instructions by writing them on a tape preceded by KG@. For this purpose HA and PA form a pseudo accumulator. This facility was mainly used for leaving the input routine, i.e. for the equivalent of warning character Z of the Mark II input routine.
The fundamental output programme was OUT which enabled one to punch the whole or part of an eight character line. OUTPG enabled one to punch out the content of a whole page in the form of an input tape which could be used for putting the material back on another occasion. OUTB could be used for punching out the contents of any number of consecutive lines taken from almost anywhere in the store except pages 0,1.
The routines for mathematical functions were mainly chosen for simplicity of programme and generality of application [rather] than for speed.
These were routines for conversion from binary to decimal and back, decimal numbers being according to the code
Very little time was available for full scale problems, and only three were attempted. These were
(i) Testing of Mersenne numbers for primality by Lucas test
(see e.g. Hardy and Wright p.223). By this means the primality of
these Mersenne numbers, already known to be prime from other
calculations, were checked. The values of
greater than 257 and
less than 354 were also tested and the corresponding Mersenne numbers
were found to be composite.
(ii) The Riemann hypothesis was investigated for the range
. This chiefly involved
calculating the expression
(iii) A problem concerned with ray tracing through a lens system. The lens surfaces were spheres with collinear centres. The rays traced were mostly skew, i.e. did not meet the axis or line of the centers.
Judged from the point of view of the programmer, the least reliable part of the machine appeared to be the magnetic writing facilities. It is not known whether the writing was more often done wrong than the reading or less. The effect of incorrect writing were however so much more disastrous than any other mistake which could be made by the machine, that automatic writing was practically never done. The majority of computation was done with the writing power switched off. It is hoped that this difficulty will be met in the Mark II machine, partly by using the arrangements for switching off the write power from blocks of tracks or from single tracks, partly by greater reliability, and partly by making greater use of the input. The very much greater speed of input should facilitate this.
Other serious sources of error were the failure of storage tubes and the multiplier. Technical improvement has however been made in respect of both of these.