next up previous
Next: Examples of programmes on Up: Alan Turing's Manual for Previous: The Forms of Storage

Description of the Reduced Machine

We shall describe the machine by first explaining the behaviour of another machine obtained by omitting from the Mark II machine a number of its parts and facilities. This machine will be called the `reduced machine'. The full Mark II machine can then be described in terms of a number of modifications of the reduced machine. Programmes made up for the reduced machine can actually be run on the full machine. For the benefit of those who know the structure of the whole machine we may say that the reduced machine is obtained by omitting the wheel, the B tube and the multiplier, the input and output, and using only a forty digit accumulator and a selection of functions.

The state of the reduced machine may be described by

We are not however interested in the state of the machine at every moment from a programming point of view. We shall be content to know its state at isolated moments such that we can reasonably say that the machine has carried out one `step' between two consecutive such moments. Fortunately the construction of the machine admits of our choosing such moments satisfactorily. They are the moments where the so called `prepulses' or `completion signals' occur. The state of the machine at one prepulse is completely determined by its state at the previous one.2

There is thus a function $\Phi$ such that if $\Sigma_0$, $\Sigma_1$,...,$\Sigma_r$,...are the consecutive states of the machine (at prepulses) then $\Sigma_{r+1} = \Phi(\Sigma_r)$ for each $r$. It remains to describe the function $\Phi$. It is usual to describe it in terms of `obeying an instruction'. The original state $\Sigma$ of the machine determines an instruction ${\tt\bf I}(\Sigma)$, and this instruction gets `obeyed', i.e. the final state $\Phi(\Sigma)$ or $\Sigma^{'}$ is determined by ${\tt\bf I}(\Sigma)$ and $\Sigma$. This is simply a way of saying that $\Phi(\Sigma)$ can be written in the form $\Psi({\tt\bf I}(\Sigma), \Sigma)$. We may describe $\Psi({\tt\bf I}, \Sigma)$ as `the result of obeying the instruction I when the machine is in state $\Sigma$'. The step from writing $\Phi(\Sigma)$ to writing $\Psi({\tt\bf I}(\Sigma), \Sigma)$ is not by itself a very helpful one, for any function $\Phi$ could be expressed in this form (e.g. even if ${\tt\bf I}(\Sigma)$ always had the same value for every $\Sigma$). But there are restrictions on the form of $\Psi$ which do make this step helpful. The instruction consists of two parts, the line name and the function symbol. The restriction on $\Psi$ may now be stated as follows. $\Psi({\tt\bf I}, \Sigma)$ does not differ from $\Sigma$ in any part of the electronic store except in the line-pair named in I. Further, this is the only part of the store whose content is relevant to any changes which do take place.

The function $\Psi({\tt\bf I}, \Sigma)$ must be described by giving its form for the various function symbols case by case. The instruction ${\tt\bf I}(\Sigma)$ is also known as the `content of the P.I. line'. ${\tt\bf I}(\Sigma)$ is obtained as follows. Add one to the content of control (I.N.). This gives the name of the line whose content is ${\tt\bf I}(\Sigma)$. The line-pair name is contained in the first two (teleprint-) characters of ${\tt\bf I}(\Sigma)$, and the function symbol in the last two. The function symbol consists of one of the characters / or T followed by a second character. This permits us 64 function symbols but (in the reduced machine) we shall assume that only the nine listed below ever occur. In the equations which we give S represents the content of the named line interpreted as an integer (or more strictly as a residue mod $2^{40}$), likewise A represents the content of the accumulator, and C that of the I.N. line. This last is reckoned modulo $2^{10}$. Dashed letters refer to the contents of these after the instruction has been obeyed. The equations ${\tt\bf S}'={\tt\bf S}$, ${\tt\bf A}'={\tt\bf A}$, ${\tt\bf C}'={\tt\bf C}+1$ are to be understood wherever ${\tt\bf S}'$, ${\tt\bf A}'$, ${\tt\bf C}'$ are respectively not mentioned in the equations.

We shall frequently use the word `line' for line-pair in cases where it is evident that a long line is meant. We shall use `short line' when we wish to emphasise that a long line is not meant.

Function symbol Equations
/H ${\tt\bf C}' = {\tt\bf C}+ 1 ({\rm mod} 2^{10})$ if $2^{40} < {\tt\bf A}\le 2^{39}$
  ${\tt\bf C}' = {\tt\bf S} ({\rm mod} 2^{10})$ otherwise
/P ${\tt\bf C}' = {\tt\bf S}$
/S ${\tt\bf S}' = {\tt\bf A}$
T/ ${\tt\bf A}' = {\tt\bf S}$
T: ${\tt\bf A}' = 0$
TI ${\tt\bf A}' = {\tt\bf A}+ {\tt\bf S}$
TN ${\tt\bf A}' = {\tt\bf A}- {\tt\bf S}$
TF ${\tt\bf A}' = -{\tt\bf S}$
TK ${\tt\bf A}' = 2{\tt\bf S}$
(no effect)

next up previous
Next: Examples of programmes on Up: Alan Turing's Manual for Previous: The Forms of Storage
Robert S. Thau 2000-02-13