Automatic digital calculator  1953 Booth & Booth 


First edition


Andrew Booth built  computers and his genius  wife Katharine Booth programmed them.

Kathleen Booth wrote the first assembly language and designed the assembler and autocode for the first computer systems at Birkbeck College, University of London. She helped design three different machines including the ARC, SEC, and APE(X)C

Very rare book for a very early experimental computer/ Calculator  developed  for industry and education. No photos, only one diagram and lots and lots of programming!

An emulator for the APEXC series has been developed by MESS. They describe its functioning as follows:

The APEXC is an incredibly simple machine.

Instruction and data words are always 32 bits long. The processor uses integer arithmetic with 2's complement representation. Addresses are 10 bits long. The APEXC has no RAM, except for a 32-bit accumulator and a 32-bit data register (used along with the 32-bit accumulator to implement 64-bit shift instructions and hold the 64-bit result of a multiplication). Instructions and data are stored in two magnetic drums, for a total of 32 circular magnetic tracks of 32 words. Since the rotation rate is 3750rpm (62.5 rotations per second), the program execution speed can go from as high as the theoretical maximum of 1 kIPS to lower than 100IPS if program instructions and data are not contiguous. Nowadays, many say a pocket calculator is faster.

One oddity is that there is no program counter: each machine instruction includes the address of the next instruction. This design may sound weird, but it is the only way to achieve optimal performance with this cylinder-based memory.

The machine code is made of 15 instructions only, namely addition, subtraction, multiplication, load (3 variants), store (2 variants), conditional branch, right arithmetic bit shift, right bit rotation, punched-card input, punched-card output, machine stop, and bank-switching (which is never used on the APEXC, since it only has 1024 words of storage, and addresses are 10-bit-long). A so-called vector mode enables to repeat the same operation 32 times with 32 successive memory locations. Note the lack of bitwise and/or/xor and division. Also, note the lack of indirect addressing modes: dynamic modification of opcodes is the only way one may simulate it.

Another oddity is that the memory bus and the ALU are 1-bit-wide. There is a 64 kHz bit-clock and a 2 kHz word-clock, and each word memory and arithmetic operation is decomposed into 32 1-bit memory and arithmetic operations: this takes 32 bit cycles, for a total of 1 word cycle.

The processor is fairly efficient: most instructions take only 2 word cycles (1 for fetch, 1 for read operand and execute), with the exception of stores, shifts and multiplications. The APEXC CPU qualifies as RISC; there is no other adequate word.

Note there is no read-only memory (ROM), and therefore no bootstrap loader or default start-up program whatsoever. It is believed that no executive or operating system was ever written for the APEXC, although there were subroutine libraries of sorts for common arithmetic, I/O and debug tasks.

Operation of the machine is normally done through a control panel which allows the user to start, stop and resume the central processing unit, and to alter registers and memory when the CPU is stopped. When starting the machine, the address of the first instruction of the program to be executed must be entered in the control panel, then the run switch must be pressed. Most programs end with a stop instruction, which enables the operator to check the state of the machine, possibly run some post-mortem debugging procedures (a core dump routine is described in an APEXC programming book), then enter the address of another program and run it.

Two I/O devices were supported: a paper tape reader, and a paper tape puncher. The puncher output could be fed to a printer ('teletyper') unit when desirable. Printer output is emulated and is displayed on screen. Tape input was either computer-generated by the APEXC, or hand-typed with a special 32-key keyboard (each tape row had 5 data holes (<-> bits), which makes 32 different values).[

Career

Kathleen Booth worked at Birkbeck College, 1946–62. She traveled to the United States as Andrew Booth's research assistant in 1947, visiting with John von Neumann at Princeton. Upon returning to the UK, she co-authored "General Considerations in the Design of an All Purpose Electronic Digital Computer," describing modifications to the original ARC redesign to the ARC2 using a von Neumann architecture. Part of her contribution was the ARC assembly language. She also built and maintained ARC components.

Kathleen and Andrew Booth's team at Birkbeck were considered the smallest of the early British computer groups. From 1947 to 1953, they produced three machines: ARC (Automatic Relay Computer), SEC (Simple Electronic Computer), and APE(X)C (All-purpose Electronic (Rayon) Computer). She and Mr. Booth worked on the same team. He built the computers and she programmed them. This was considered a remarkable achievement due to the size of the group and the limited funds at its disposal. Although APE(X)C eventually led to the HEC series manufactured by the British Tabulating Machine Company, the small scale of the Birkbeck group did not place it in the front rank of British computer activity.

Booth regularly published papers concerning her work on the ARC and APE(X)C systems and co-wrote "Automatic Digital Calculators" (1953) which illustrated the 'Planning and Coding' programming style. She co-founded the School of Computer Science and Information Systems in 1957 at Birkbeck College along with Andrew Booth and J.C. Jennings. In 1958, she taught a Programming course.

In 1958, Booth wrote one of the first books describing how to program APE(X)C computers, which was also notable for having a woman author.

From 1944 to 1946, she was Junior Scientific Officer at the Royal Aircraft Establishment in Farnborough. From 1946-1962, Booth was a Research Scientist at British Rubber Producer’s Research Association and for ten years from 1952-1962 she was Research Fellow and Lecturer at Birbeck College, University of London and later became a Research Fellow, Lecturer and Associate Professor at the University of Sasketchewan, Canada from 1962 to 1972. At Lakehead University in Canada she became the Professor of Mathematics from 1972-1978.

Booth's research on neural networks led to successful programs simulating ways in which animals recognize patterns and recognize character. She and her husband resigned suddenly from Birkbeck College in 1961 after a chair was not conferred on her husband despite his massive contributions and an I.C.T. Type 1400 Computer was donated to the Department of Numerical Automation but was in fact installed in the London School of Hygiene and Tropical Medicine.