Computing Devices was handling the Canadian sales of the 102-A, a digital computer manufactured by the National Cash Register Company of Dayton, Ohio. It was originally referred to as the NCR CRC 102-A as it had been designed by the Computer Research Corporation. Sixteen 102-A's were produced altogether, and two were installed in Canada. The first was at A. V. Roe (Canada) Limited, an aircraft company in Malton, Ontario adjacent to what is now Pearson Airport The company will be remembered for designing, building and flying a supersonic jet fighter, the Avro Arrow, which was scrapped before it went into production. The second 102-A, shown in the photograph, was at RCAF Station Cold Lake, (now called Canadian Forces Base, Cold Lake) Alberta where it was used for some of the calculations involved in the design and testing of the Velvet Glove air-to-air guided missile which like the Arrow was another ill-fated Canadian endeavour. The NCR 102-D, a later decimal version of the NCR 102-A, was installed in the Computing Devices offices in Ottawa in late 1955 or early 1956. The number of 102-D's produced is not known.
The 102-A consisted of the "computer proper", as it was termed in the programming manual, which was contained in a large cabinet about six feet high and five and a half feet deep and three feet wide, and a console with a Flexowriter (a modified electric typewriter) with a 10-character-per-second paper tape reader and punch and a small console. A magnetic tape unit and a card reader and punch were optional. The price was about $82,000 for the basic system and $16,000 for the tape unit. Specifications for the computer stated that it required 7.7 kilowatts of power, occupied 250 square feet, and had 800 tubes of twelve different types and 8000 crystal diodes. Air conditioning and a separate power supply were required.
The magnetic drum memory had a capacity of 1024 42-bit words and an additional "high-speed" memory of eight words. The internal number system was binary while input and output was in octal, or in decimal if appropriate conversion routines were available. All arithmetic operations were in fixed point, and it was the responsibility of the programmer to keep track of the decimal point by appropriate "scaling" operations. Addition and subtraction times varied from 7 to 20 milliseconds depending upon drum access, and multiplication and division times were from 25 to 38.5 milliseconds. All programming was done in machine language using a three-address code with 27 instructions. There were no routines for conversion between decimal and binary or floating-point arithmetic routines unless they were prepared by programmers at each installation. Even coding sheets for the convenient recording of final versions of programs before entry into the computer had to be designed. The accompanying figure shows a copy of an original handwritten coding sheet prepared by Bill Adams and myself for the NCR 102-D program library. The only documentation for the programmer was a 101-page typewritten manual entitled Functional Specifications of Model CRC 102-A.
The 102-D was a decimal version of the 102-A. The internal number system was binary-coded decimal and input and output was in decimal. Addition times could be as low as 7.8 milliseconds and multiplication and division times could be as long as 50 milliseconds. In addition to magnetic tape and punched card input and output, paper tape input at 200 characters per second and paper tape output at 60 characters per second were available.
For both the 102-A and 102-D programs were written in a three-address code in the format "Op Addr1 Addr2 Addr3" In the example shown here only five instructions with the following octal operation codes were used, where the input and output commands have been simplified for this simulation:
11 Fill: Read data from paper tape into locations Addr3, Addr3+1, ...
21 Print: Print Addr3 words beginning at Addr1
34 Test Magnitude: If Magnitude of (Addr1) > Magnitude of (Addr2),
then next instruction from Addr3
35 Add Decimally: Addr3 <- (Addr1) + (Addr2)
A further simplification is that the addressing is octal rather than decimal as is used in this simulation. The J script file is given in NCR.ijs, and the program for the sample problem is given below.
|NCR 102-D Example|
Information on the NCR 102-A and 102-D may be found here.