UTECOM -- An English Electric DEUCE

The following is an extract from "UTECOM – An English Electric DEUCE". Copyright © 1993 by R. A. Vowels.

INTRODUCTION

UTECOM (University of Technology Electronic COMputer) was the third digital electronic computer built or installed in Australia by September 1956 (NSWUT, 1956; Pearcey, 1988, p. 39, pp. 32-3; Bennett, 1963). Manufactured in England by The English Electric Company Limited, the UTECOM was a DEUCE, virtually identical in architecture to Pilot ACE (Automatic Computing Engine), itself a design by Alan Turing (Wilkinson, 1953; Pearcey, 1988). The chosen name DEUCE (Digital Electronic Universal Computing Engine) was intended to incorporate the word engine in recognition of Charles Babbage and his difference and analytical engines.

Although UTECOM was officially opened on 11 September 1956 by the Premier of New South Wales, Mr Cahill (NSWUT, 1956), the magnetic drum was not then operational (NSWUT, 1957). The installation of UTECOM at the Kensington campus of The New South Wales University of Technology took place during August, September and October of that year, and it would appear from the first annual report that it was fully commissioned and had passed its acceptance trials by 16 October 1956 (ibid). UTECOM was upgraded to a Mark I DEUCE around 1958 with the installation of the Automatic Instruction Modifier (AIM) and an enhancement of the card input/output system to read and punch 64 columns instead of only 32. In 1963 the magnetic drum storage was enhanced, and a teleprinter incorporating 5-channel paper tape input/output was attached.

UTECOM was procured for the purposes of research and teaching. Acquisition was made possible through a state government grant.

There is some ambiguity as to the relative operational dates of UTECOM and Sydney Universitys computer, SILLIAC. UTECOM was officially opened on 11 September 1956 by the Premier of New South Wales (NSWUT, 1956), SILLIAC on 12 September 1956 by the Governor of New South Wales (Pearcey, 1988). (de Ferranti, 1956, p. 9) stated that the first SILLIAC program was run on 4 July 1956. (Pearcey, 1988, p. 32) nominated 24 June when the first SILLIAC program was run, while (Bennett, 1963, p. 13) nominated July. (Millar, 1987) states that the first program was run on 4-5 July (p. 28), and that it was operating on open day, 22 July (p. 30). Millar also states (p. 28) that "as soon as the machine was made operational . . . this was the first program carried out, on 4-5 July 1956". It would appear that the machine had yet to undergo proving trials. The implication is that the principal part of the machine was not operational until quite some time later than either of these two latter dates. It is worth mentioning that SILLIAC was fabricated on site in the Physics building at Sydney University, whereas UTECOM was built in England at the Kidsgrove factory of English Electric. Thus, UTECOM was entirely functional and had passed its acceptance trials at Kidsgrove prior to being shipped well before the September date, and in all likelihood, even before the July date ascribed to SILLIAC. It should be pointed out that SILLIAC contained 1024 words of memory. As initially installed, it did not have a backing store (a magnetic tape backing store was not installed until 1959 (Millar, 1985, p. 60)). The DEUCE, on the other hand, was provided with magnetic drum backup storage as standard equipment. Nevertheless, in this account, SILLIAC has been accorded the status of being the second operational machine. However, UTECOM was the second machine containing a backing store to be installed in Australia.

In this monograph are provided brief technical descriptions of the DEUCE architecture, hardware, computational units including Control, programming, an outline of the main programming aids used and/or developed at the UTECOM Laboratory, including assemblers, interpreters, control programs and compilers. Remarks on advanced features are included. Operation, maintenance and staff are briefly discussed.

The illustration is of the DEUCE console. DEUCE console

TECHNICAL DESCRIPTION

OVERVIEW

The DEUCE was a general-purpose vacuum-tube digital computer, with a serial organization and a 1Mhz clock rate. It was a re-designed Pilot ACE, with a different combination of registers and renumbered addresses, and with significant differences in the hardware implementation and construction intended to increase reliability and to render maintenance easier. (The 1Mhz clock rate was envisaged by Turing for the ACE, and was already proven in the Pilot ACE). The Pilot ACE and DEUCE were so similar that Pilot ACE machine-language programs could be converted to DEUCE programs by the routine substitution of new register addresses. For an outline of the rationale for building DEUCE, see (Lavington, 1980).

The word size was 32 bits, and the machine's arithmetic units were capable of performing single, double, and mixed-precision binary integer arithmetic. Negative values were held in two's complement form. A hardware unsigned integer multiplier and a signed integer divider were included.

The DEUCE had 18 registers, a fast main store of 384 words (256 words of execution store, 128 words of auxiliary store), and magnetic drum storage of 8192 words. The hierarchy of registers comprised four 32-bit registers including an accumulator, three 64-bit registers including a double-precision accumulator that could also be used as two single-precision accumulators, and two quadruple registers, both holding four 32-bit values.

The fast main store -- "a large store for a machine of its class" (EECo, 1958) was organized as 12 banks or delay lines of thirty-two 32-bit words each. Eight banks held executable instructions, and 4 banks comprised auxiliary storage. One of the delay lines could function as a push-down stack and as a first-in first-out stack.

The magnetic drum storage unit, or, to give it its correct name, the Magnetic Recording Drum, contained one block of 16 reading heads, and another separate one of 16 writing heads. Each head provided access to a track of 32 words, and both blocks of heads could be moved independently to any of 16 positions. Thus the heads provided coverage of 256 tracks, each containing 32 words. An entire track of 32 words had to be transferred during a magnetics read or write operation.

Because the magnetic drum was synchronous with the system clock, data transfers commenced immediately, and, at the rate of 9ms per bit, a track of 32 words could be transferred in 13ms (including safety margins). The time allowed for positioning the read and write heads was 35ms (though the actual time was approximately 22ms). Each block of read heads and write heads could be positioned independently, but only one track of data could be read or written at any one time, as there was only one main-store buffer. An electronic interlock prevented the user from accessing the magnetic drum buffer, or from moving the heads, until the current read or write operation was complete. After the installation of the site-built (but standard) rationalized magnetics unit in 1963, the read and write heads could be moved simultaneously, the write heads could be moved while reading a track, and the read heads could be moved while writing a track, and other unnecessary magnetics interlocks previously imposed on accessing the drum buffer were removed. These modifications increased the speed of programs that used the magnetic drum intensively. A unit to check magnetic drum read operations and using a double strobe technique (achieving the effect of a double read) was installed in 1963. The DEUCE magnetic drum storage device -- unique on account of its moving heads -- was the forerunner of the moving-head disc. Measuring 4" (10cm) in diameter and 6" (15cm) in height, the drum rotated at 6510 rpm. The head gap was 0.001" (0.025mm).

Within a few months of the first DEUCEs going into service, it was realized that the machine would benefit from an auto-increment and decrement facility (the Automatic Instruction Modifier, or AIM) associated with the quadruple registers (Burnett-Hall & Samet, 1959, p. 43). Without the AIM, instruction modification -- a necessity in the DEUCE architecture -- tied up either or both of the single and double accumulators. The AIM was needed to deal with 64-column input/output (outlined below), if for no other reason, because two accumulators would otherwise have been needed to deal with reading and punching binary words. The AIM and enhanced input/output were installed on UTECOM in about 1958.

The peripherals were Hollerith 80-column punched card equipment, the reader speed being 200 cards per minute, and the punch speed being 100 cards per minute. Reading and punching transferred one binary word per row of a card, conversion to and from decimal being performed by software. Initially, only 32 columns of each card were read and punched, but in about 1958 a facility to read and to punch 64 columns was installed, doubling the input/output transfer rate. (In this mode, two binary words were transferred per row of a card.) In 1963, a Siemens M100 teleprinter with 5-channel paper tape reading and punching attachments operating at 75 Baud (10 cps), was installed to relieve the load on the card punch, interfaced with a locally designed and built parallel to serial unit.

2.1.1 PRINCIPAL TIMINGS

Timings for the principal CPU units are as follows:


				Time          	Maximum operation rate
				====		======================
add/subtract/transfer     	   64s		 15,625 operations/sec
block add/subtract/transfer  	   32 + 32n s	 30,300 operations/sec (for n=32 words)
          of n words
fixed-point multiplication       2080s		    480 operations/sec
fixed-point division	         2112s		    473 operations/sec

Timings of the main input/output equipment are shown in the table below:

   Component		   Speed
   =========		   =====
card reader input            200 cards per minute
				  4,800 binary words per minute
				  1,400 nine-digit decimal numbers per minute
card punch output            100 cards per minute
				  2,400 binary words per minute
				    700 nine-digit decimal numbers per minute
magnetic drum:
   rotational speed        6,510 rpm
   track read time            13ms for 32 words
   head positioning time      35ms

A full summary of the technical characteristics of UTECOM and its off-line equipment is given in Table 1 in the Appendix.

For a detailed description of DEUCE architecture and programming, see (Burnett-Hall & Samet, 1959) and (EECo, 1956a). The former reference includes a description of the AIM and the 64-column card input/output facilities and programming, whereas the latter reference, being an earlier work, does not.

2.1.3 THE DEUCE RANGE

Four DEUCE models were produced: the original version installed at The New South Wales University of Technology, retrospectively dubbed Mark 0, had Hollerith 80-column card reader and punch input/output equipment to read 32 card columns of binary data (alphanumeric data required software conversion). For a general description of DEUCE Mark 0, see (EECo 1956a; Haley, c. 1956). That machine was shortly upgraded to a Mark I, with the inclusion of the Automatic Instruction Modifier (AIM) and 64-column read and punch. Input and output was still in binary, conversion to and from decimal being achieved by software. The DEUCE Mark 0 input/output system was upwards compatible with that of the Mark I.

The DEUCE Mark II had the AIM and an IBM 528 80-column combined reader and punch unit with two modes of reading: standard non-buffered 64-column binary input/output, and a new buffered 80-column alphanumeric to/from 6-bit Binary Coded Decimal input/output. The IBM 528 card reader and card punch could operate locked together (simultaneously) at 100 cpm, or individually at 200 cpm for reading and 100 cpm for punching (but not simultaneously).

The Mark IIA had the AIM, an IBM 528 80-column read and punch unit, and 7 extra delay lines contributing an additional 224 words of main execution storage.

While the Mark I was intended for scientific use, the Mark II was specifically developed for the growing commercial market, although any DEUCE equipped with magnetic tape was suitable for large-scale commercial processing. Nevertheless, the DEUCE Mark II retained all the scientific and commercial facilities of the Mark 0 and Mark I which were upwards-compatible with the Mark II and IIA.

Any DEUCE could be fitted with Decca magnetic tape units, an English Electric paper tape reader capable of reading 5, 7, and 8-channel tape at 850 cps, and a Creed paper tape punch capable of punching 5 or 7 channels at 25 cps (EECo, 1958; EECo, 1961b). The paper tape reader, incidentally, could stop the tape between characters. The Mark II and IIA DEUCEs could be fitted with two IBM 80-column read and punch units. The Decca magnetic tape units were 7-track twin transports, probably of the kind described in (Barron & Swinnerton, 1960), tape speed probably being 100 inches/sec at a recording density of 100 characters/inch.

A DEUCE Mark I cost 52,000 Sterling, and a DEUCE Mark II cost 60,000 Sterling (EECo, 1958). A second magnetic drum, magnetic tape, paper tape, the 7 extra delay lines and a second IBM 528 80-column read and punch unit could be attached as "optional extras". The paper tape reader equipment cost 1,500 Sterling.

In all, approximately 33 DEUCE machines were installed in England, Scotland, Ireland, Europe, not to mention Australia. Users included government, universities and industry. Some organizations installed two and three DEUCE computers. The English Electric Company operated a service center at Kidsgrove with a Mark I and a Mark II DEUCE, and a Mark I at its London Computing Service. The Company had two Mark I machines at Wharton. The Ministry of Aviation Royal Aircraft Establishment installed two Mark I DEUCE machines at Farnborough. The Ministry of Agriculture Fisheries and Food is believed to have operated three. Six machines were used for aircraft design. Educational institutions included Queens University (Belfast), Liverpool University, Glasgow University as well as The New South Wales University of Technology.

The illustration is of the DEUCE console. DEUCE console

2.2 SINGLE-BUS ARCHITECTURE

The DEUCE utilized the single-bus architecture depicted in Figure 1 (derived from a UTECOM information sheet). Each register (temporary store TS), double register (double store DS), quadruple register (quadruple store QS) and memory bank (delay line DL) was connected to the Highway (data bus), along with the card reader and card punch, the paper tape reader and punch, and the operator's console keys (switches) and output display lights. However, the magnetic drum was not connected to the data bus, not only because of its lower transfer rate, but because during a transfer, only every ninth bit of the drum buffer (Delay Line 11) was copied. (The 1024 bits were read and written interleaved.) Magnetic drum transfers always used Delay Line 11 as the buffer, conveniently leaving the data bus available for computational use, transfers, and all other input/output. Figure 1 clearly shows the address of each register, each memory bank, each arithmetic unit, the Control Unit and peripherals.

A subsidiary bus, the Instruction Highway, connected Delay Lines 1 to 8 to the Instruction Register TS COUNT. Because the data bus could already have been in use for the data transfer specified by the currently-executing instruction, the separate bus, the instruction highway, was needed to send the next instruction into TS COUNT.

APPENDIX


Electronic Technology		  vacuum tube, germanium diode
  Number of items			  1450 approx.
  Main item types			  E92CC, E90CC, Z77 (6AM6), 6CH6,
					  ECC91 (6J6), 6060, 2D21 (thyratron), OA81 (diode)
Operation mode			  serial, 1s/bit
Execution Store			  acoustic delay
  size					  256 words (480 for DEUCE Mark IIA)
  type					  mercury
  main store access time		  496ms average; max. 992ms, min. 0ms
  special				  128 words of auxiliary store
Registers			  4  1-word
				  3  2-word
				  2  4-word
Backing Store			  Magnetic
  size  				  8,192 words
  type  				  Synchronous moving-head drum,
					  256 tracks, 6510 rpm, separate
					  read and write heads
  access time				  13ms read/write 32 words
					  35ms head shift
  rotational delay			  none
Word Size       		  32 bits
Instruction size		  32 bits
Instruction format		  2+1 address: 8 segments including Source, Destination, NIS,
					  Director, Characteristic, Wait, Joe, Timing, Go#
Number of instructions		  1024 approx.
Special 			  multiple-transfer instructions, push-down stack, auto-increment/
					  auto-decrement instructions
Speed:
  32-bit fixed-point add/subtract	  33s to 64s
  64-bit fixed-point add/subtract	  66s to 96s
  fixed-point multiply			  2,080s
  small integer multiply		  96s to 1066s
  fixed-point divide			  2,112s
  floating-point add/subtract		  6ms av.   (software)
  floating-point multiply		  5.5ms av. (software)
  floating-point divide 		  4.5ms av. (software)
  convert binary to BCD			  2Mc 8mc
  convert BCD to binary			  2Mc 10mc
  convert binary to characters		  2Mc 10mc
  convert characters to binary		  2Mc 10mc
  convert BCD to .s.d.			  2Mc 10mc
  convert binary to tons, cwts, qtrs, lbs 2Mc 9mc
  rearrange bits in word		  2Mc 12mc
  count bits in a word			  2Mc 15mc
  other					  block move, 33s per word for 32 words
Optimum Coding			  yes
I/O media on-line		  punched card I/O (80-column cards)
					  teleprinter
					  5-channel paper tape I/O**
  input speed				  200 cards per minute
  output speed				  100 cards per minute
  modes:				  64-column non-buffered 24 binary words/card
					  80-column buffered alphanumeric to 6-bit BCD
  teleprinter, paper tape I/O		  10 cps**
I/O media off-line		  card tabulator (printer) 100 cpm, card sorter (600 cpm),
					  card-operated typewriter (10 cps), 2 card reproducers (100 cpm),
					  electric key punch, teleprinter
Date Installed			  Sept. 1956
Comment 			  English Electric adaption of Pilot ACE

Table 1: Technical characteristics of DEUCE. Sources include (EECo, 1956a; EECo, 1958)

# Director = bits for AIM, NIS = Next Instruction Source, Characteristic = (single, double, or long transfer), Wait = relative time to start the transfer, Joe = loop counter bits, Timing = relative location of the next instruction, Go = instruction to be executed as soon as possible on entering Control.

** The English Electric paper tape reader read 5, 7, and 8-channel tape at 850 cps, and could stop the tape between characters. The standard Creed paper tape punch speed was 25 cps. Programming the UTECOM teleprinter output and tape punch was standard, but programming for the UTECOM paper tape reader was non-standard.



 Extant Manuals etc:
 
 DEUCE STAC Programming Manual (38 pages);

 DEUCE General Interpreter Programme, 2nd Edition (DEUCE NEWS 63)
    (alias G.I.P. 8) (104 pages)

 'English Electric' D.E.U.C.E. Programming Manual May 1956 NS-y-16
(70pp)

 N.S.W. Scheme B Programs (about 10 pages)

 LR23BM General Decimal (Matrix) Read to Drum (DEUCE Programme No. 738
 (18 pages)

 XR03/1 Multiple Regression Programme (DEUCE Programme No. 730)
 (11 pages)

 Royal Aircraft Establishment, "A Programming Handbook for the
   Computer DEUCE" --D.G. Burnett-Hall & P.A. Samet - 207 pages.

 English Electric DEUCE Logic Diagrams & Circuit diagrams for
    Magnetic Tape, some 3 x A4 in size (12pp)

 Flow diagrams for GEORGE (original manuscript probably c. 1957)
    (this is the historic translator for Charles Hamblin's zero-address
    language for a stack-based machine, on which the English Electric
    KDF9 machine was based --  74 pages)

 English Electric General Description of "DEUCE" Digital Electronic
    Universal Computing Engine (Aug. 1958) (17pp)

 Various roneod programming manuals produced by the UTECOM Laboratory,
    for GEORGE, GIP, TIP, SODA (I think) etc. (probably c. 1958)

    - NSW University of Technology Introduction to High Speed Digital
	 Computing (17pp)
George Programming, page 1
George Programming, page 2
George Programming, page 3
    - University of NSW Programming Course (57pp) 

    - Alphacode Notes (15pp)

    - University of NSW High Speed Digital Programming Course (17pp)

    - The UTECOM General Interpretive Programming Scheme (12pp)

    - GEORGE and Alphacode Exercises Set II (2pp)

    - GIP Examples (2pp)

 UTECOM Laboratory Safety Precautions (4pp)

 Some flow diagrams for STAC (manuscript form) (about 400 pages)
   (c.1964)

 STAC III for DEUCE Mark I and II(A) (12 pp) 31.3.65)(12 pages)

 R.A. Vowels, UTECOM -- An English Electric DEUCE (1993) (33 pages,
    including 4 photos)

A list of DEUCE programs and Subroutines. This list has been compiled from various sources including the GIP Programming Manual, the STAC Programming Manual, and DEUCE NEWS 18. The list is still in preparation.
Other extant materials can be found at Manchester University's archive of DEUCE materials. .

Other pages of related interest: John Barrett's DEUCE site

John Rollett

DEUCE MARK II

David Green has compiled an extensive list of surviving DEUCE documents.

Weapons Research, WREDAC, and the Second Australian Computer Conference


HELP.
1. We are compiling a roster of DEUCE sites. It is not complete. If you know of any others, please let me know (see bottom of posting).

2. Anyone recall the order of units in DEUCE? Here is an incomplete list compiled so far, possibly containing errors: RHS of mainframe ================ N S22 A C P S14 BM/1 D1 Q H U D2 G S15 F D3 K S10 E4 D4 L S16 E3 D5 M S21 E2 D6 J S13 E1 D7 LHS of mainframe ================ MP MG1 MV1 S1 S5 ML ME1 MV2 S2 S6 Drum ME/M 13/14* S3 S7 Drum MF 15/16* S4 S8 MC S11 17/18/19* S9 S17 MD MA 20/21/22* S12 S18 MJ MB1 empty S19 AIM MK MH empty S20 empty * These include the mercury tanks for all the short stores. Any corrections etc please forward to the author (see bottom of this post).
Any information on unit placement for DEUCE Mark II (80 column) and magnetic tape is welcomed also.
Installation dates of some DEUCEs follow (courtesy of John Barrett, except for Liverpool University and NSWUT). Model of DEUCE obtained from DEUCE News 66 (courtesy of David Leigh). R.A.E. Farnborough (Gert) Mark 0 May 1955 EE Whetstone Mark 0 1955 N.P.L. Teddington Mark 0 1956 NSW University of Technology Mark 0 Oct 1956 RAE Farnborough (Daisy) Mark 0 December 1956 BAC Warton Mark 0 1957 Glasgow Uni Mark I 1958 EE Luton Mark I 1958 BAC Filton Mark I 1958 Oslo C.B.S. Mark I 1958 EE Kidsgrove Bureau Mark IIA 1959 M.A.F.F., Guildford Mark IIA 1960 Liverpool University Mark I 1959 North Staffs Tech Mark I 1964 (ex Liverpool University's machine) B.P., London Mark 0 n/k Bristol Aircraft #1 Mark I n/k Bristol Aircraft #2 Mark I n/k Bristol Engines #1 Mark I n/k Bristol Engines #2 Mark I n/k Central Electricity Generating Board, London Mark I n/k EE Kidsgrove #1 Mark I n/k EE Warton #2 Mark I n/k EE Whetstone #2 Mark I n/k Marconi's W.T. Chelmsford Mark II n/k N.E.L., East Kilbride Mark I n/k Queens University Belfast Mark I n/k R.A.E., Bedford Mark II n/k Shorts, Belfast Mark I n/k U.K.A.E.A., Capenhurst Mark II n/k Machines installed before 1957 were all Mark 0, and read and punched 32 card columns. Except for the the N.P.L. machine and B.P. London machine, all Mark 0 machines were converted in the field to Mark I, which read and punched 64 card columns, and were fitted with the Automatic Instruction Modifier (A.I.M.).
Any further information greatly appreciated.
A simulator for the DEUCE Mark I computer is available. It is written in PL/I. (contact details below)
http://www.users.bigpond.com/robin_v/deuce.exe (requires PL/I for OS/2 or PL/I for Windows, or Websphere PL/I). In addition to normal card input and output, the simulator implements paper tape input and output.
The simulator runs STAC, the symbolic assembler for DEUCE that includes automatic storage allocation. The simulator also runs GIP 8. See the code for GIP 8 as input to the simulator (this is a complete program, and includes a brick that punches one card). GIP 8 is presented in decimal, although the simulator also handles binary input.
The simulator also includes basic input and output for the Mark II DEUCE (that, is, 80-column mode).

Any information on 80-column I/O would be appreciated to allow me to complete the implementation of the Mark II input-output. (see below for contact details)


An interpreter for the language invented by Charles Hamblin in 1957, namely, GEORGE, has been written, and runs under Windows. (Contact details below).
GEORGE relies extensively on an addressless language and is based on Polish notation.
An example program to read in 10 values, square them, and to print them:
1, 10 rep (j)
read dup × print ; ]

(the boldface words are keywords.)
A compiler for GIP (General Interpretive Programme) has been written, and runs under Windows. It is somewhat easier to use than the original. (contact details below).
An example program to read in two matrixes, form their matrix product (i.e., matrix multiplication), and to print the product follows: GET (A); GET (B); C = A x B; PUT ('Matrix multiplication of A by B yields:'); PUT (C); The data for this example is as follows: 3 4 [the dimensions of the first matrix] 1 2 3 4 5 6 7 8 9 10 11 12 4 2 [the dimensions of the second matrix] 1 2 3 4 5 6 7 8 The program produces the following results: Matrix multiplication of A by B yields: 3 rows and 2 columns. 50.00000 60.00000 114.00000 140.00000 178.00000 220.00000
Further information: email: robin_v@bigpond.com .

Updated 20 September 2007.