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.
Categories and Subject Descriptors: K 2 [History of Computing]-Colossus, hardware, people General Terms: Design Additional Key Words and Phrases: cryptology, Bletchley Park, “Heath Robinson"
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."
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.
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.
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.
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.
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.
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.
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.
0 1983 AFIPS 0164-1239/83/030239-252$01.00100