4. Digital
Computers
The idea behind digital computers may be
explained by saying
that these machines are
intended to carry out any operations which could be done
by a human computer. The
human computer is supposed to
be following fixed rules;
he
has no authority to deviate
from them in any detail. We may suppose
that
these rules are supplied in a book, which is
altered whenever he is put on
to a new job.
He has also an unlimited supply of paper on
which he does his
calculations. He may also do his multiplications and additions on a
"desk
machine," but this is not important.
If we use the above explanation as a
definition
we shall be in danger of circularity of
argument. We avoid this by
giving an outline.
of the means by which the desired effect is
achieved. A
digital computer can usually be
regarded as consisting of three
parts:
(i) Store.
(ii) Executive unit.
(iii)
Control
The store is a store of information, and corresponds to
the human computer's paper,
whether this is the paper on which he does hi
s
calculations or that on which his book of
rules is printed. In so far as the
human computer does calculations in
his head a part of
the store will correspond
to his memory.
The executive unit is the part which carries out the various
individual
operations involved
in a calculation. What these individual
operations are will vary from machine to machine.
Usually fairly lengthy
operations can
be done such as "Multiply 3540675445 by
7076345687" but in some
machines only very simple ones such as "Write down 0" are
possible.
We have
mentioned that the "book of rules" upplied to the computer
is replaced in
the
machine by a part of the store. It
is then called the "table of
instructions." It is the duty of
the control to see that these instructions are
obeyed correctly and in the right order. The
control is so constructed that
this
necessarily happens.
The information in the store is usually broken
up into
packets of moderately small size. In
one machine, for instance, a packet
might
consist of ten decimal digits. Numbers are
assigned to the parts of the
store in which the various packets of information are stored,
in some systematic
manner. A
typical instruction might say-
"Add the number stored in posit
ion
6809 to that in 4302 and put the result back into the
latter storage
position."
Needless to say it would not occur in the machine expressed in
English. It would more
likely be coded in a form such as 6809430217. Here 17
says which of various possible
operations is to be performed on the two numbers.
In this case the operation is that
described above, viz., "Add the number. . .
." It
will be noticed that the instruction takes
up 10 digits and so forms one
packet of information, very conveniently. The control will
normally take the
instructions to be obeyed in the order of the positions in which they
are
stored, but occasionally an instruction such as
"Now obey the
instruction stored in position 5606, and continue from there"
may be
encountered, or again
"If position 4505 contains 0 obey next the instruction
stored in 6707, otherwise continue
straight on."
Instructions of
these
latter types are very important because they make it possible for
a
sequence of operations to be replaced over and over again until some condition
is
fulfilled, but in doing so to obey, not fresh instructions on each
repetition, but the same
ones over and over again. To take a domestic analogy.
Suppose Mother wants Tommy to
call at the cobbler's every morning on his
way
to school to see if
her shoes are done, she
can ask him afresh every
morning. Alternatively she can stick up a notice once and for all
in the hall
which he will see when he leaves
for school and which tells him to call for
the
shoes, and also to destroy the notice when he
comes back if he has the shoes
with him.
The reader must accept it as a fact that digital computers can be
constructed, and indeed
have been constructed, according to the principles we
have described, and that they can in
fact mimic the actions of a human computer
very closely.
The book of rules which we have described our
human computer
as using is of course a
convenient fiction. Actual human computers really
remember what they have got to do. If
one wants to make a machine mimic the
behaviour of the human computer in some
complex operation one has to ask him how
it is
done, and then translate the answer into
the form of an instruction table.
Constructing instruction tables is usually described as
"programming." To
"programme
a machine to carry out the
operation A" means to put
the appropriate
instruction table into
the machine so that it will do A.
You
might think this paper could be the source of Gene Quinn's derisive reference.