Boole and computer logic

Annals
of the History of Computing, Volume 5, Number 3, July 1983 . p239

The Design of Colossus

THOMAS H. FLOWERS

During World War 11 the German armed forces used
machine-enciphered teleprinter messages for some of their high-level
communications. Mathematicians at Bletchley Park, a high-security
establishment in Britain, discovered processes by which such messages might
be decoded; for the information to be useful, however, processing speeds such
as only electronics could attain would be necessary. The first electronic
machines made for the purpose did valuable work but were too slow and
cumbersome to handle all the traffic being received. They were superseded by
faster and more versatile machines called Colossus.

This article describes the construction and
operation of the Colossus machines. The machines had most if not all of the
essential features of a modern computer, except that variable programming was
provided not by memory store but by hard-wired function units selected and
interconnected by switches operated by the mathematician-programmers.

My view of Colossus was that of
cryptanalyst-program- 1 told the machine to make certain calculations and
counts, and after studying the results, told it to do another job. It did not
remember the previous result, nor could it have acted upon it if it did.
Colossus and 1 alternated in an interaction that sometimes achieved an analysis
of an unusual German cipher system, called -"Geheimschreiber" by
the Germans, and "Fish" by the cryptanalysts.

For its time Colossus was a notable innovation,
different from its predecessors in many dramatic aspects.

1. It was electronic. Other machines, such as
Heath Robinson, had had electronic subsystems, but they were of minor size.
Colossus had 2400 vacuum tubes-big bottles. Ah, the warmth at two A. M. on a
damp, cold English winter!

2. It was digital, and experience with digital
circuits was then very limited. The vacuum tubes of the day were mainly
intended as amplifiers; manufacturers strove for linear response. Fortunately
for Colossus they were successful over only a limited range.

3. It was programmable by means of a switchboard.
Toggle switches enabled one to choose among binary functions of the input,
which was a long string of cipher text, and then the outputs of these
functions were counted. At the end of each pass of the input string, the
counts were used to control the printer, suppressing those counts of lesser
interest.

Colossus was not sequence controlled, nor was its
program stored. Nor did any of us see that possibility.

Parameters of the cipher were entered by means of
bottle plugs on the remote back of Colossus-to keep leads short. The cipher
text was on a very long teletype punched tape pasted into a loop and then run
at 5000 characters a second. When a paper tape parted it caused some
excitement.

The tapes were prepared and mounted by women of
the Women's Royal Naval Service (WRNS)-called ---Wrens--who were very skilled
and adroit. 1 tried but invariably caused trouble. Without the Wrens 1 was
helpless.

Colossus was useful in more than one way, and
there were even demonstrations applying it to number theory. But these
demonstrations were more notable for their ingenuity than for their
effectiveness.

A successful result from Colossus was not
plaintext, but an intermediate product that was completed by hand by skillful
specialists.

The cipher system under attack was on-line, an i .
in- tegral part of the communications links; a typist at one end ran a
typewriter at the other. Once synchrony had been established, the typist fed
in message after message until the backlog had been exhausted. A cryptanalytic
solution would reveal an avalanche of plaintext.

This cryptanalysis was a superb technical
achievement, and the cryptanalysts were very proud of it. At the same time
they were painfully aware that their dominance was precarious, and were
fearful that a change by the Germans might deprive them of their sustenance.
When 1 was scheduled by the U.S. Navy to join the "Newmanry" as a
working member and observer, my plans were unsettled by a dispatch that the
Germans had begun to use new wheel patterns each day instead of once a month,
and that there was little chance that the system would ever be read again.
But two months later the effort had been doubled and redoubled, and more was
being read than ever before. Part of the redoubling was to build more
Colossi; earlier there had been one, now there were to be twelve.

F. H. Hinsley says in "British Intelligence
in the Second World War" (Vol. 2, p. 29), "in terms of the
intelligence value of their contents ... the decrypts of Geheimschreiber were
commonly more important than the Enigma; moreover a Fish decrypt commonly
incorporated a large number of individual signals. Whereas the bulk of the
Enigma traffic was at and below Army level, the Fish links were confined to
communications at Army level and above, that is between Armies and Army
Groups and OKH; this being so, they carried orders, appreciations and
situation reports, and even routine returns of strengths and supplies, of
which the decrypts were of exceptional significance."

Howard Campaigne

1809 South Main Street

Portales, NM 88130

@@@@@@@@@@@@@

During World War 11, 1 became involved in
codebreaking activities for which 1 conceived and built machines that became
known as Colossus. No public mention of these machines was made at the time.
It was 30 years later that Brian Randell, professor of computing science at
the University of Newcastle upon Tyne, chanced to hear about them. All the
record of their existence then available was in the memories of those who
were involved at the time and still surviving. Randell was able to meet and question
many of these people and thus gained enough information to piece together a
description of the construction and operation of these machines. Realizing
that the machines were in fact electronic data processors, he raised the
question of their relevance to modern computers.

That Colossus occurred at all was the result of a
series of lucky chances to which one more is added if because of it 1 am to
be numbered among the computer pioneers. At the time 1 had no thought or
knowledge of computers in the modern sense and had never heard the term used
except to describe somebody who did calculations on a desk machine.

Prewar Work

The real origin of the Colossus machines was the
work I did before the war at the Dollis Hill Research Station of the Post
Office, which ran Britain's telephone and other communication services. Soon
after 1 went to the laboratories in 1930 my researches were directed to
finding the reasons why so many of the calls dialled on the automatic
exchanges that were then spreading rapidly throughout the country gave wrong
connections or no connections. 1 think my reaction to this work was that of
any young engineer of the time: how can we make a better system?

By 1935 1 had become interested in electronic
switches as an alternative to the electromagnetic switches then universal.
This was not so remarkable as it might seem. Copper oxide rectifiers and
thermionic vacuum tubes had become plentiful and cheap in the 1920s and by
1935 were being used as switches in a variety of applications. In speech and
radio transmission systems they were used in modulators for their high
switching speed, and in telegraph transmission systems as relays because of
their reliability, which is what 1 was looking for. High-speed counters using
tubes had been invented for scientific experiments, the first in 1929 by C.
E. Wynn-Williams at Cambridge University. As far back as 1919 the
EcclesJordan trigger circuit had been published but with practically no use
having been made of it even though it could be used as a relay and as a 1
-bit store. (Perhaps 1 should say here that when 1 use modern terms such as
one-bit store, program, programmer, and so forth, 1 am not implying that they
were in use at the time 1 am talking about, but in the hope that they will
make what 1 am saying easier for a modern reader to understand.)

From 1935 onward 1 was exploring the uses of
electronics in telephone exchanges. By 1939 1 felt able to prove what up to
then I could only suspect: that an electronic equivalent could be made of any
electromechanical switching or data-processing machine. I well remember the
elation I felt when I reached that point because it meant that not just parts
of a telephone exchange could be electronic-complete exchanges could.
Something more than equivalence was clearly going to be needed, however, because
exchanges based on that principle were much too costly to be practical. I
knew nothing of similar ideas being pursued elsewhere because none had
reached the stage of publication, but it now seems that none were further
ahead than I was.

Enigma

Hostilities commenced in Europe in 1939, and all
civil work in Britain had to be subordinated to war work. In 1942 1 was sent
to Bletchley Park, a highly secret establishment about 50 miles north of
London, to take on some top-secret work. By good luck 1 was about to be
involved in code breaking and would encounter a problem for which my prewar
work would be needed no matter what the cost.

From about a year or so after the war had started,
cryptanalysts at Bletchley Park had been reading German messages that had
been encoded on a machine called Enigma. Alan M. Turing was a leading figure
in this activity, and he explained it to me and told me what the Post Office
was required to do-something that presented no difficulties to a telephone
engineer. The work was soon found not to be needed; had that been realized
earlier (and there was some suspicion that it could have been), Dollis Hill
might never have been involved with Bletchley Park. Although the final
outcome of the war would no doubt have been the same, its history might have
been different with greater loss of life and damage. Two other Dollis Hill
engineers, Sidney W. Broadhurst and William W. Chandler, and 1 had become
involved, however, and we were available when a new engineering problem
arose.

The Germans had invented a machine to encipher
teleprinter messages using a principle invented by an American, Gilbert
Vernam, in 1917 during World War 1 that had scarcely been used because of
operational difficulties. The German machine looked like and was operated
like a teleprinter but differed in that messages sent i ' n plain language
from the keyboard were transmitted by the machine in cipher, and enciphered
messages received in the machine came out printed in plain language, all
automatically without effort on the part of the machine operator other than
setting the machine to some initial mechanical conditions specified in a
codebook before sending or receiving a message. Operationally nothing could
have been simpler.

Bletchley Park received the messages on 5-hole
punched tape, as shown in Figure 1. Each character is a 5-binary digit number
represented by holes in lines across the tape together with a small sprocket
hole by which the tape is driven so that it may be punched and subsequently
read. Additional holes were put by Bletchley Park into the blank ends of the
tape preceding and following the message-a start hole between the third and
fourth digits and a stop hole between the fourth and fifth digits to indicate
to the processor when the message was about to start and when it ended. A
punch specifically made for the purpose is one of the few surviving relies of
the Colossus machines (Figure 2).

Enciphering and deciphering within the machine
depended on 12 code wheels around the peripheries of which were two-position
cams that could be set by hand to one of the two positions (Figure 3). By
these means each wheel stored a pattern in binary code, the numbers of digits
in the patterns being all different because the wheels were of different
diameters, and all prime to one another to maximize the number of different
relative positions of the wheels. As the wheels were rotated during the
transmission of a message, the cams operated contacts to vary the five digits
of the teleprinter code in a pseudo-random sort of way. Each of the five
digits was enciphered individually, as shown in the diagram for one of the
digits (Figure 4). The plaintext value of the digit for a character sent
without encipherment is A, which in binary notation may be 0 or 1. The value
of the contacts B operated by the cams of one of the wheels may similarly be
0 or 1, depending on the position of the cam effective at that moment. The
output from the B contacts is the modulo-2 addition A + B to which another
addition is made by contacts C controlled by a cam on another wheel, the
output from the contacts C being the enciphered digit to be transmitted. The
electronic equivalent of the relays is also shown.

For the five digits of the teleprinter code, there
were two sets of five wheels operating cams B and C. One set of wheels took
one rotational step for each character transmitted. The second set stepped
not for every character but erratically as determined by the cams on two
further wheels. The number of combinations of different wheel positions and
therefore of characters that could be transmitted before the cipher repeated
itself was so great that in practice it never did repeat. The enemy had such
confidence in the invulnerability of messages enciphered in this way that
they used these machines to send information of the highest importance such
as battle orders in great detail and even messages and instructions from
Hitler to his field commanders.

Electronics

Maxwell H. A. Newman, who at one time had had
Turing as a mathematics student at Cambridge University and after the war
became professor of mathematics at Manchester University, was brought into
Bletchley Park late in 1942 to work on the German teleprinter traffic. The
problem was to find first the wheel patterns then in operation, at that time
being changed periodically, and next the starting positions of the wheels for
every message received. Newman had the idea that a "key" tape
reproducing some characteristic of the coding machine and formed into a loop
could be processed with a message tape also formed into a loop (Figure 5); if
the processing were repeated as many times as were necessary for every
possible position of the "key" tape relative to the message tape to
be tested, some clue might be obtained. Synchronization between the two tapes
would be maintained by driving them by two sprocket wheels mounted on the
same shaft and engaging the sprocket holes in the tapes. Every relative
position of the two tapes would occur in time if the numbers of characters in
the two tapes were made prime to each other. With one clue and another
"key" tape, another clue might emerge. Continuing in this way,
enough clues would lead to a solution.

The quantity of processing was manifestly
exceedingly large: hence even to test Newman's theories, some kind of machine
had to be devised. It was easily calculable that a machine using the fastest
techniques of data processing available at that time would take too long to
produce operationally useful results. Electronics was clearly necessary, and
Wynn-Williams, the inventor of the first electronic counter, was brought into
the problem. F. 0. Morrell from Dollis Hill, an expert in teleprinter
engineering, was put in charge of the project. The loops of tape were too
long to hang freely, so a structure with movable pulleys was needed to carry
them and was called a bedstead.

Photoelectric reading of the tapes was the only
possibility at the speed at which they had to run. Two Dollis Hill
physicists, Erie Speight and Arnold Lynch, designed, and the model shop made,
a photoelectric reader that was similar to a cinematograph projector but
projected in the opposite direction, from a lamp and optical system mounted on
the gate to a screen inside the machine that was a photographic plate opaque
except for some clear spaces behind which photocells were located. One of
these screens, which were really masks to control the light reaching the
photocells (Figure 6), is still available although broken. The
crescent-shaped clear spaces that occur in the mask were designed so that in
passing over the mask, circular areas of light derived from holes in the tape
generated approximately rectangular output pulses from the photocells and
amplifiers. Ten photocells in two rows of five enabled two successive five-unit
characters on the tape to be read simultaneously, a feature required of some
of the processing. The sprocket holes produced a continuous output of pulses
from another cell and amplifier, and the start and stop holes put into the
tape were detected by two further cells and amplifiers in paths between the second
and third and third and fourth digits.

Driving the tapes by sprocket wheels was tried
experimentally as soon as a bedstead with tape-driving gear became available.
To give some idea of the problems involved, typical tapes would be 5000 and
1000 characters long, for which one complete program of processing would
necessitate 1000 revolutions of the first simultaneously with 5000
revolutions of the second. It seemed even wIthout actually trying it that the
chance of paper or any other kind of tape standing up to passing over the
sprocket wheels that number of times without damage was remote; the initial
tests were in fact distinctly discouraging. Various designs of sprocket wheel
were tried with no conspicuous improvement.

With diminishing prospects of ultimate success,
some new ideas began to be urgently sought. At this point 1 realized that my
prewar work pointed to a solution to the synchronization problem that was
simple in principle although it might be difficult to put into practice. It
was not the paper tape that was essential to the processing, but the data on
the tape. All that the "key" tape was doing was storing
pregenerated data so that they could be read into an electronic processor at
a much higher speed. An electronic equivalent of the machine that had
originally generated the data-and 1 had no doubt that such an equivalent
could be made-could work fast enough to issue the data directly to the
processor and thus render the "key" tape unnecessary. Only one
loop, that of the message tape, would be needed, and that could be driven by
smooth-faced pulleys at high speed without fear of damage. Moreover, the
considerable trouble, time, and labor needed to make "key" tapes
and load them into the tape reader would disappear.

My suggestion, made in February 1943, was received
with considerable scepticism. The first reaction was that a machine with the
number of tubes that was obviously going to be needed would be too unreliable
to be useful. Fortunately, this criticism could be defeated by the experience
of the Post Office using thousands of tubes in its communication network.
These tubes were not subject to movement or handling, and the power was never
switched off. Under these conditions tube failures were very rare.

Some people suggested that the war would be over
before the first machine could be operational, but the Post Office engineers
thought they could make such a machine in one year, and it was unlikely that
the war would be over by February 1944. Success could not be guaranteed for a
machine for which there was no precedent, however. Hence it was decreed that
work on the two-tape machine should continue and have first priority. What to
do about a one-tape machine with all-electronic processing would be left to
those who would have to make it to decide.

Events justified this decision. Machines with two
tapes operating in synchronism at 2000 characters per second were in service
operation from about the middle of 1943 and were code-named after Heath
Robinson, a cartoonist well known for his drawings of ludicrous tasks
performed by fantastic machines. The tape-running problem had been solved by
motoring one of the smooth pulleys to relieve the sprockets of most of the
driving power but still able to maintain synchronism. Much valuable work was
done by these machines toward validating and developing the ideas of Newman
and other mathematicians recruited for the project. The quantity of messages
decoded was small in relation to the total traffic but nevertheless
important.

Meanwhile, the Dollis Hill engineers, having
decided to make an all-electronic processor, took only 11 months to get the
first machine into service, a feat made possible by the absolute priority
they were given to command materials and services and the prodigious efforts
of the laboratory staff, many of whom did nothing but work, eat, and sleep
for weeks and months on end except for one half day per week that they
allowed themselves for the necessities of life such as talking to their wives
and getting their hair cut. The United States also contributed tubes and an
electric typewriter under the lend-lease arrangements.

Colossus

Responsibility for the overall and detailed design
of the first machine was shared between Broadhurst, Chandler, and myself,
with Allan W. M. Coombs joining us for subsequent design and construction
work. The first machine went into service in the early part of December 1943
and was code-named Colossus by Bletchley Park because it was the largest
machine they had had to operate until then. The cryptanalysts were impressed
by the speed of operation, which was 5000 characters per second, and by the
reliability, which soon gave them confidence in the results produced. As the
cryptanalysts became more familiar with the new machine and its greatly
increased processing power compared with the Robinsons, ideas for new
processes occurred, some of them being impossible to execute on the Robinson
machines.

The practical speed at which Colossus could be
operated was tested by loading it with a maximum length tape and increasing
the speed until something happened. At about 9700 characters per second, the
tape broke in one and then several places. The various sections of tape did
their best to obey Newton's first law and travel in a straight line in the
direction they happened to be going with an initial velocity of nearly 60
miles per hour, and thus found all sorts of curious places in which to come
to rest. Clearly, the maximum safe speed at which paper tape could be driven
could not be much greater than 5000 characters per second. A much higher
speed had been aimed at to reduce the numbers of machines eventually to be built,
and the operating force to practical quantities, thus prompting the thought
that the effective speed could be increased by parallel processing. By using
five processors in parallel, all operating on the same program but with
different input data from the tape, an effective speed of 25,000 characters
per second was obtained and was enough. Five separate processors presented
little difficulty. A photoelectric reader to supply them with data would have
to read six lines of tape simultaneously, however, and would be very difficult
to construct. Six lines were needed so that two consecutive but different
lines could be presented to each of the five processors. This difficulty was
solved by shift registers invented for the purpose. Data read from the tape
were read into six-bit shift registers, which meant that six consecutive
characters from the message tape were available for processing using a tape
reader that had to read only one line at a time and was thus simplified
compared with the readers first used with the Robinson machines.

We anticipated that several more Colossus machines
would be demanded in a great hurry if the first was successful. For that
reason a redesign incorporating improvements and new ideas began even before
the first machine was finished, as did the manufacture of parts, particularly
those parts that took a long time to make. At about the end of February 1944,
at a meeting at Bletchley Park, 1 was told that 12 machines were to be in
operation by June 1. The instructions had come from the highest level, and I
well remember the consternation when 1 had to say flatly that it was
impossible. This sudden demand had stemmed not only from the success of the
existing Colossus machine, but also from increasingly widespread German use
of teleprinted messages, and from "improved" German operating
procedures, which meant that we had to work harder to achieve the same
results. Because some parts were already made, we could promise that the
laboratories would make one or two machines and have the first in service by
the required date. For the remainder, the Post Office factory in Birmingham
would have to be organized to make most of the parts for assembly at Dollis
Hill, and delivery at the rate of one per month after the first was working
was thought to be possible.

After another period of intensive work by all
concerned, the first of the new machines was operational on May 31-except
that it was subject to intermittent and mysterious faults. Just after
midnight of that day, members of the commissioning team were too tired to go
on and went home for a few hours of sleep. When they returned at 8:30 the
next morning, June 1, they found the machine in service. What had happened
was that a Dollis Hill engineer on the night shift had discovered the trouble
to be parasitic oscillation between the heaters and the cathodes of some of
the tubes and had cleared the trouble by the insertion of a few resistors.

I have included these details of what happened in
the hope that they convey some of the dedication, the excitement, and the job
satisfaction of those hectic days. The remainder of the machines did in fact
follow as promised, so that when the German surrender 11 months after June 1,
1944, put an abrupt end to the whole enterprise, 10 machines were in
operation and the 11th was being commissioned.

A principal element of Colossus was the bit-stream
generator, which replaced the Robinson "key" tapes. It comprised a
bank of 12 rings of different scales, which generated the bit streams from
semipermanent data. The bit-stream generator and the data processing were
necessarily all electronic to attain the processing speed required, but
electromagnetic telephone-exchange-type switches were also used in large
quantities for slower-speed operations simply because that was the quickest
and best way of making the machines. The first Colossus had contained 1500
tubes; the production machines needed 2400 tubes because of their increased
processing power and facilities, together with 12 large rotary switches,
about 800 relays, and an IBM electric typewriter to print the output. The
semipermanent data were read in by U-links inserted by hand into pairs of
sockets and read out by thyratron tubes connected in series to form a ring
operating as a Wynn-Williams type of counter (Figure 7). Thyratron tubes have
a grid electrode by which they can be fired-that is, caused to conduct
current from anode to cathode-and once fired they stay fired until the power
supply to the tubes is cut off.

Each thyratron was connected to one of the pairs
of sockets such that when the tube was fired, it caused current to flow to
the output of the ring if the socket contained a U-link. Only one tube could
be in the fired condition at any one time, and as pulses to be counted were
received, the fired tube moved step by step around the ring. At each step,
one bit of stored data was read to the output. In operation during
processing, when one revolution of the message tape and scan of the message
had been completed, a clear pulse applied to the anodes of all the thyratrons
of all the rings ensured that none was in the fired condition. A negative
pulse applied through the start-address switches of the rings to be involved
in the processing caused one thyratron in each to be fired. These rings were
then ready to count sprocket-hole pulses occurring between the start and stop
holes of the message tape, some rings receiving all the pulses and others
such sprocket-hole pulses as the logic allowed to be transmitted to them. The
rings ceased to count after the end of the message and were prepared for the
next scan by clear and start-address pulses, as previously described. Thus as
data were read off the message tape, the appropriately generated bit streams
were available in synchronism with them.

The start-address switch for a ring was an
electromechanical rotary switch with an arm that connected in turn to the
cathodes of all the thyratrons in the ring. The contact on which this switch
stood at any one time marked the position from which stepping was to start
for the next scan of the message. This point was indicated to the output
printer by wiring on additional banks of the rotary switch (not shown in
Figure 7). The point could be constant for all scans throughout one program,
or the point could be progressive, the switch being stepped one position at a
time during each scan of the tape so that all the positions of one or more
rings would be used as starting points during the course of one program of
tests.

Another option to suit parallel processing was
that the start-address switches should take not one but five steps for every
scan of the tape. For each program the programmer had to select and arrange
for one of these modes of operation to be effective. The actual stepping of the
switches took place during the scan.

The simplified schematic diagram (Figure 8) shows
the five separate bit streams cl to c5 of the received enciphered message
emanating from the message-tape reader together with streams from the
bit-stream generator. Selecting streams from the bit-stream generator and
adding them modulo-2 to the received message data would produce data streams
mI to m5, which would in some way reflect the clear text of the message if
the rings had used the correct data and starting points. The machine was not,
however, permanently wired to add bit streams as in the diagram. Instead, all
the bit streams were taken to switches in a processor where they could be
associated with function units and decade counters as decided by the
cryptanalystprogrammer operating the machine. The function units included not
only modulo-2 adders requiring three tubes as already shown, but also Boolean
addersneeding only two tubes (Figure 9), inversion units with one tube, and
Eccles-Jordan 1-bit stores using four tubes (Figure 10).

The shift registers for the message-tape outputs
consisted of 1-bit stores connected in series through simple delay networks.
The counters used vacuum tubes that could not be made to count reliably in
scaleof-ten; hence each decade was made up of one scaleof-two and one
scale-of-five counter. The outputs from the counters were thus given on seven
wires for each decade that had to be decoded by relays to decimal equivalents
for the output printer. Cryptanalysts operated Colossus by setting up a
program and running it, using the result of that program to set up the next,
and so on, until all the required data were obtained.

Operation

The full schematic diagram (Figure 11) shows the
construction and operation of the machine in detail. The sprocket-hole pulses
that were produced continuously by the message tape provided basic timing for
all the operations of the machine. In the master control, the sprocket-hole
pulses were used to generate clock pulses CL1 which coincided with
sprocket-hole pulses occurring between the start and stop pulses received
from the tape reader, and pulses CL2, which followed the CL1 pulses with a
delay of about half a digit time. The bit streams cl to c5 from the message
tape were stored in 6-bit shift registers so that six consecutive characters
of the messages were available for parallel processing in five individual
processors, each of which was supplied with two different consecutive
characters of the message; for simplicity the diagram shows only one
processor. The message digits were clocked into the shift registers by CL1
pulses, as were the output digits from the thyratron ring stores into 1-bit
stores, by which means the message-tape digits and the ring digits were
presented to the processor in exact synchronism.

There were switches in the processor by which the
data streams could be connected to function units and the function units
interconnected with a final connection to a gate circuit, which allowed time
for all the processing for one character from the message tape to be
completed before the result was clocked by a CL2 pulse to the output counter.
The result left the total accumulated on the counter unchanged or added one
unit to it. Four decade switches enabled the programmer to specify a number
that was a set total for the program being executed. If during one scan of
the message the set total was reached or passed by the counter, that fact was
communicated to a "read-total" gate and to the master control.

To run one program, the
programmer selected the ring stores to be used and set them to operate in the
required start-address modes. This operation also prepared the selected rings
for the first scan of the message. The programmer then operated the program switches
to set up the required program and the output counter switches to the set
total he had chosen. More often the cryptanalyst-programmer in charge of the machine
wrote the program in symbolic notation on a slip of paper and gave it to a
Wren to execute. Each machine was operated by two Wrens who prepared and
loaded tapes and attended to the machine, including setting up and running
given programs.

When the program was set, the
message-tape motor was switched on, and when the tape had reached running
speed, a manual start switch was pressed. Processing started with the receipt
by the master control of a start-hole pulse, and the CL1 and CL2 pulses
following the start pulse caused the program to be executed. On the
occurrence of the stop pulseprovided that the printer was ready and not still
engaged in the last readout-the master control sent a
"read-counter" pulse to a read-total gate. The output from that
gate caused the output-counter total to be read out and stored on relays
associated with the printer, together with the start positions of the ring
stores at the beginning of the scan just completed. The read-total gate did
not, however, produce output unless the set total was reached during the
scan.

The set total was usually chosen
to be a value that few of the scans would reach so as to minimize the
quantity of data read and printed. If the set total was passed during a scan
of the message but the printer was not ready to receive another readout of
data when the stop pulse was received, the master control did not send the
read-counter pulse and suspended all operations except the printout and tape
revolution until it received a printer-ready signal and a stop signal from
the tape. It then sent a test-counter pulse to the read-total gate that
caused readout to take place and resumed normal operation: resetting to zero
the output counter and a span counter (described in the next paragraph) and
sending clear and start-address pulses to the ring stores to prepare them for
the next scan of the message.

The master control program had to
allow time for all of these operations to be completed without mutual
interference, and the blank section of the message tape between stop and
start holes had to be of minimum length of about 150 characters so that the
master control operations could be completed before the start hole restarted
the processing.

The processing was not always
successful. If no result could be obtained from a message, corruption of the
text in reception was a possible cause. Sometimes we tried processing not the
whole message but just sections of it, using a span counter that counted all
the CL1 pulses but allowed the output counter to operate only between two
number outputs of the span counter set by switches on that counter.

As more machines became
available, it became convenient to hardwire some of the much-used or more
complicated programs instead of using the switches to set them up. For that
reason there were individual variations between machines, although all were
basically the same.

In Figure 12 a bedstead with its
pulleys and two tapes can be seen. The two tapes were necessary for the
Robinson machines; although Colossus needed only one tape, the two-tape
design was continued so that while one tape was running, another could be
loaded into the machine to save machine time between messages. Either tape
could have a length up to 25,000 characters-just over 200 feet. Also visible
is the automatic typewriter with printout on a narrow roll of paper and the
decade switches for the set totals of five counters required for parallel
processing.

The first Colossus used telephone
plug and cord' connections between jacks as switches to set up the programs
(Figure 13). This feature was included in the production machines, but most
of the programming was done by lever-type keys on a large panel especially designed
for parallel processing. These can be seen in the photograph of the controls
(Figure 14), which also shows decade switches for controlling the span
counter. The back view (Figure 15) is not that of the line of racks pictured
in the front view (Figure 12) but of a second line of racks parallel with the
first.

Colossus had features now
associated with digital computers-semipermanent and temporary data storage,
arithmetic and logic units including branching logic, and variable
programming-that may justify its being regarded as the first digital computer
(see Figure 16). The control of Colossus by wired logic and of a computer by
stored-program logic to make it a general purpose machine is the most obvious
difference. Colossus was a special-purpose machine that was required to
attain the highest possible processing speed; the technology of the day would
have compelled the use of wired logic even if stored-program logic had been
thought of by then. Each switching operation took about 10 microseconds to
complete, and the total program time between CL1 and CL2 pulses was much less
than 200 microseconds. Nevertheless there was enough flexibility in the
programming for several tasks for which the machine had not been specifically
designed to be executed. Colossus was comparable in conception and in
processing power with the ENIAC, which was designed as a computer but without
stored-program logic and in operation some two years after Colossus.

Colossus undoubtedly made a
contribution to the development of computers in Britain by showing Turing,
Newman, and others what electronics could do and that knowledge turned their
minds to computers immediately after the war. 1 was not myself interested so
much in computers as in telephone exchanges, and in 1946 1 discovered that
what was needed beside equivalence to make electronic exchanges economic was
time-division multiplexing, but no practical use was made of the discovery
until after 1 had retired - that is another story, however.

Conclusion

The events recounted happened
so long ago that when 1 came to write this paper 1 found I had forgotten many
of the details. The happy result was that the inquiries 1 had to make caused
me to contact many c the people who took part at the time, some of whom had
not seen since. That was in itself a pleasure, an the information they gave
me was a great help which I gratefully acknowledge. 1 am also indebted to the
Post Office laboratories, no longer at Dollis Hill but on the east coast at
Martlesham, for providing that illustrations used in the paper.

Thomas H. Flowers trained as a mechanical engineer before entering the
Post Office Communications Laboratories in 1930. There his main interests
were first telephone direct-distance dialing and later electronic exchanges.
He continued this work with ITT-England from 1964 until retiring in 1970. He
received a B. Sc. from London University in 1933 and an honorary D.Sc. in
1977 from the University of Newcastle upon Tyne for his work on Colossus.

@@@@@@@@@@@

During World War II, Howard Campaigne was with a US. Navy communications
operation and was assigned to work at Bletchley Park. After the war he joined
the newly formed National Security Agency, where he eventually became chief
of research. He left NSA in 1970 to become professor and chairman of the
Mathematics Department at Slippery Rock State College in Pennsylvania. He
retired in 1976 and now lives in Portales, New Mexico.

copyright 1983 by the American Federation of Information Processing
Societies, Inc. Permission to copy without fee all or part of this material
is granted provided that the copies are not made or distributed for direct
commercial advantage, the AFIPS copyright notice and the title of the
publication and its date appear, and notice is given that the copying is by
permission of the American Federation of Information Processing Societies,
Inc. To copy otherwise, or to republish, requires specific permission.

Author's Address: 12 Sunnyfield, Mill Hill, London NW7 4RG, England.

Illustrations for this article are courtesy of British Telecom Research
Laboratories. The article is adapted from a lecture given at the Digital
Computer Museum in Marlboro, Mass., on October 15, 1981.

Acknowledgment is made to the Director of Research of British Telecom
for permission to make use of the information in these articles.