Comments by George Lake
Dear Mr. Lake:
The above letter was written to George Lake in Febuary, 1986. George has kindly supplied his comments, shown below:
Comment 1. Your use of the term 'valve' for vacuum tube is very 'British'. That term was originally invented in England and widely used there for the vacuum tube. However, those of us educated in North American schools used the term vacuum tube or just plain tube almost universally. Unless one had a corresponding strong English accent, to use the term valve would have seemed 'affected'. The term valve for vacuum tube is akin to the term 'boot' for the trunk of a car.
Comment 2. The comments concerning the variability of characteristics of transistors are of some interest. A fact not widely appreciated about vacuum tubes was the comparatively large variation in their characteristics as delivered and with age. Very little was taught of this in Canadian schools, and the manufacturers of tubes would have us believe their products were perfectly uniform in characteristics and performance. One of the important concepts brought to DRTE by Norman Moodie and David Florida from England was that vacuum tubes were highly variable in characteristics and that circuits using them had to be carefully designed to minimize the effects of such variations. This was done through the use such techniques as negative feedback and by making circuit performance depend as much as possible on more stable components such as resistors and capacitors. I believe they had learned and practiced these skills in the design of equipment for the military and nuclear programs in the UK during WW II. Needless to say such skills and concepts were extremely useful in dealing with the variabilities encountered with the new solid state devices as well, and no doubt contributed to the conceptualizing of the PNPN circuit.
Comment 3. The idea of bringing engineers from Canadian industry into the DRTE laboratories in small numbers to work side by side with government scientists on DRTE projects was quite novel. To my knowledge it had never been done in DRB before and Moodie must have had some sort of special dispensation from management to allow it, particularly from the point of view of security clearances. I also recall an unfortunate instance of a dispute over patent rights with one of the industry people brought in. The basic arrangement was that we carried on our regular research program, and these people were permitted to join us. The benefit to them was, of course, learning a new technology. The benefit to us was a source of additional manpower resource at no additional cost. You might wish to research this whole area in more detail.
Comment 4. The parallel arithmetic unit was, in fact completed and used. (See comment 16.)
Comment 5. As I recall Norman was never head of the Electronics Laboratories (one of 3 divisions in DRTE at that time, each headed by a Superintendent. DRTE as a whole was headed by a Chief Superintendent), but was a 'Section Head' leading a group of engineers and technicians working on various aspects of semiconductor circuits. Other Sections in EL were working in such areas as solid state physics and advanced radar systems. David Florida was one of Norman's senior engineers and succeeded him as Section Head when Norman left for the University of Saskatchewan.
Comment 6. The 32 'alphabetic' characters used on the Flexowriter were A - Z plus 6 Greek letters commonly used in scientific writing.
Comment 7. The paper tape reader operated at 600 characters per second.
Comment 8. It is my recollection that no conversion took place in the case of Command Words. It was unnecessary since these generally contained no numeric information. These were simply passed straight through the converter unchanged.
Comment 9. The clock speed of 5 microseconds is in fact a speed of 0.2 megacycles/sec (nowadays - megahertz), not 1 megacycle, but still pretty fast for the time. Measurements and underlying circuit speeds indicated a 1 megacycle rate was achievable had we wished to do so.
Comment 10. Some of the instruction names are a bit contrived, in order to maintain the concept of a highly mnemonic and structured instruction code. eg Collate was really logical 'AND'. Grab is an instruction to store the less significant half of the double length product of 2 numbers. I seem to recall we sorely missed a logical 'OR' instruction and in fact did later implement one. Theory indicated such an instruction is unnecessary, and that the function can be achieved through a combination of others, but we found that to be such a nuisance we built one in.
Comment 11. Your explanation of the encoding of numbers is a bit obscure. In fact the Flexowriter produced a single 8 bit character for each decimal digit or letter of the alphabet. These characters were punched one after another along the paper tape. Of the 8 bits in each character, 3 were control bits which indicated, for example that the character was a decimal digit and not a letter of the alphabet, or if a letter of the alphabet whether it was upper or lower case. If the character was a decimal digit 0 - 9, the last 4 binary digits indicated its value, as you have indicated. ie 0 ended in 0000, 1 ended in 0001, and so on up to 9 which ended in 1001. If the character was a letter the last 5 binary digits indicated its 'value'. ie A ended in 00000, B ended in 00001, Z ended in 11010, and the last Greek letter ended in 11111. The input - output organ was really a part of the decimal - binary/binary -decimal converter. It simply collected the sequences of 4 or 5 binary digit characters in a register, without the attached control bits. Dividing or multiplying this coded decimal number by 2 could be accomplished by simply shifting the whole thing 1 binary place right or left, ignoring the decimal digit boundaries. This only gave a correct result, however, if the individual decimal digits were first put into the 'excess 3' or 'excess 6' code as appropriate.
Comment 12. The general purpose shift register was originally designed in order to implement the design of the arithmetic unit. It then became the standard for the entire system and was used to implement the control unit, converter, and many other elements of the computer. This sort of standardization helped to reduce the number of different kinds of circuit board required to build the computer, and hence reduced its cost. This concept continues in use today -the semiconductor manufacturers design and make various kinds of standard circuit chips which computer designers use to perform various logic functions in their systems. One of the important production engineering functions done by computer manufacturers is to minimize the number of different kinds of circuits in their machines.
Comment 13. The K Register was essential to give the machine the capability to execute a subroutine out of sequence and return to where it had left off, a very powerful feature of any automatic computer.
Comment 14. Index registers were an invention of the Ferranti/University of Manchester group in England which David Florida had visited early in the design stages of the DRTE computer.
Comment 15. The first computer I ever programmed was the Ferranti Mk 1 at the University of Toronto (possibly the first computer ever in Canada). This machine used electrostatic memory and had available to the user a grand total of 64 words of high speed random access memory. This would have been about 1954 or 1955.
Comment 16. In fact a number of expansions of the DRTE computer were carried out under my direction following its initial commissioning in 1960. The parallel arithmetic unit was constructed as designed and installed. A magnetic tape system employing 3 high speed Ampex digital tape drives was designed (by Wayne Davis now at U of Alberta in Edmonton) and installed on the computer. One of the unique features of this system was its use of error detection and correction coding such that a loss of any single bit in a block of data could be corrected automatically and at full speed. A punched card reader was added to the system and the decimal - binary/binary - decimal converter modified to permit it to pass input letters and digits directly through to the computer, to be converted by software as is done on present day machines. This was a necessary modification to permit the design and construction of the Assembler Program. A very high speed paper tape punch was installed as well which punched at a rate of 1000 characters per second. One of the major uses of this unit was to prepare control tapes to manouevre a 60 foot dish antenna behind the laboratory to track the Alouette II satellite. I am unable to recall what we did to increase printing speeds, but I don't think we were limited to the slow Flexowriter throughout the life of the computer. We may have interfaced some sort of line printer to the computer, but memory fails me on that point. The core memory was also expanded from the original 1024 words to 4096. This was not implemented as Florida had originally proposed, but rather by making use of unused bits in some of the commands. In particular the JUMP command which arbitrarily transferred control to another part of a program needed only a single address to specify where to jump to. This left 2 unused addresses in the command word. Similarly, the TRANSFER instruction, which copied a word from one memory location to another only needed 2 addresses - from and to, leaving a third unused address. The only instructions that really used all 3 addresses in the command word were the arithmetic commands. (perhaps this suggests that the 3 address design was a bit wasteful of hardware resources) The 4096 word memory was conceptualized as 4 1024 word memory banks. Arithmetic commands worked only with operands in the same bank as the instruction. Almost all other commands could address any location in all 4 banks using the 'spare' bits in the unused addresses in the command word. Thus any number anywhere in memory could be transferred into the current operating bank to do arithmetic on it, or a result transferred anywhere else for future use. Program control could be transferred anywhere in the 4096 words either directly or through subroutines.
Comment 17. Funding was indeed hard to come by. As a result, some of the additions indicated above were funded under the guise of research in other areas, eg the work on the tape system I think was partly funded under the Prince Albert radar project and partly as research into error correcting and detecting codes. This may be why few records exist of the expansion of the machine beyond its original design.
Comment 18. The DRTE computer was in full use as the primary, although not sole computing facility for scientists in DRTE, and to a lesser extent in the adjacent Atomic/Biological/Chemical Laboratories, until mid 1966. It was replaced by a Control Data Corp model 3200 computer in June 1966. During its later years it was supplemented by access to commercial computers at universities of Montreal, Ottawa, and Toronto.
Comment 19. My original interest in computers was sparked by a project I worked on for Norman to develop circuit models for transistor characteristics. This required that I do enormous amounts of calculation based on measured results. I do recall indeed 'working like a donkey' to try to understand what my results meant. A chance attendance at a seminar in DRB headquarters led me to find that DRB had partially funded the Ferranti Mk I computer at U of Toronto and that this machine was thereby available to DRB scientists for their work. I soon learned to program it and thereafter was able to do many more calculations in the same amount of time. My experience on that led David Florida to seek my advice on some of the features of the DRTE machine design, and eventually to my joining his group, on the understanding that if I got the computer constructed and operational, I would have the use of it for other work. One thing led to another and I never got back to my original pursuit of transistor characteristics.