APEXC
Encyclopedia
The APEC, or All Purpose Electronic (X) Computer series was designed by Andrew Donald Booth
at Birkbeck College
, London
in the early 1950s. His work on the APE(X)C series was sponsored by the British Rayon Research Association
. Although the naming conventions are slightly unclear, it seems the first model belonged to the BRRA. According to Booth, the X stood for X-company..
One of the series was also known as the APE(X)C or All Purpose Electronic X-Ray Computer and was sited at Birkbeck.
From 1943 on, Booth started working on the determination of crystal
structures using X-ray diffraction data. The computations involved were extremely tedious and there was ample incentive for automating the process and he developed an analogue computer to compute the reciprocal spacings of the diffraction pattern. In 1947, along with his collaborator and future spouse Kathleen Britten
, he spent a few months with von Neumann's team, which was the leading edge in computer research at the time. Booth designed an electromechanical computer, the ARC, in the late 1940s. Later on, they built an experimental electronic computer named SEC (Simple Electronic Computer), and finally the APE(X)C (All-Purpose Electronic Computer) series.
The APE(X)C series included the following machines:
Only one of each of these machines was built, with the exception of HEC (and possibly MAC) which were commercial machines produced in quite large numbers for the time, around 150. They were similar in design, with various small differences, mostly in I/O equipment. The APEXC, and APEHC were punched card
machines while the APERC and APENC were teletypers (keyboard and printer
, plus paper tape reader and puncher). Also, the UCC had 8k words of storage, instead of 1k word for other machines, and the MAC used germanium diodes in replacement of many tubes. The HEC used standard
punched cards; the HEC 4 had a printer, too, and it featured several instructions (such as divide
) and registers not found on the APEXC.
. They describe its functioning as follows:
Andrew Donald Booth
Andrew Donald Booth was a British electrical engineer, physicist and computer scientist who led the invention of the magnetic drum memory for computers and invented Booth's multiplication algorithm....
at Birkbeck College
Birkbeck, University of London
Birkbeck, University of London is a public research university located in London, United Kingdom and a constituent college of the federal University of London. It offers many Master's and Bachelor's degree programmes that can be studied either part-time or full-time, though nearly all teaching is...
, London
London
London is the capital city of :England and the :United Kingdom, the largest metropolitan area in the United Kingdom, and the largest urban zone in the European Union by most measures. Located on the River Thames, London has been a major settlement for two millennia, its history going back to its...
in the early 1950s. His work on the APE(X)C series was sponsored by the British Rayon Research Association
British Rayon Research Association
The British Rayon Research Association was a research institute formed in 1946 by the British Rayon Federation and others. It was funded by the Department of Scientific and Industrial Research and by voluntary funds from industry to investigate the chemical and physical properties of rayon and...
. Although the naming conventions are slightly unclear, it seems the first model belonged to the BRRA. According to Booth, the X stood for X-company..
One of the series was also known as the APE(X)C or All Purpose Electronic X-Ray Computer and was sited at Birkbeck.
From 1943 on, Booth started working on the determination of crystal
Crystal
A crystal or crystalline solid is a solid material whose constituent atoms, molecules, or ions are arranged in an orderly repeating pattern extending in all three spatial dimensions. The scientific study of crystals and crystal formation is known as crystallography...
structures using X-ray diffraction data. The computations involved were extremely tedious and there was ample incentive for automating the process and he developed an analogue computer to compute the reciprocal spacings of the diffraction pattern. In 1947, along with his collaborator and future spouse Kathleen Britten
Kathleen Booth
Kathleen Booth is sometimes credited with writing the first assembly language and the design of the assembler and autocode for the Birkbeck College computers, University of London....
, he spent a few months with von Neumann's team, which was the leading edge in computer research at the time. Booth designed an electromechanical computer, the ARC, in the late 1940s. Later on, they built an experimental electronic computer named SEC (Simple Electronic Computer), and finally the APE(X)C (All-Purpose Electronic Computer) series.
The APE(X)C series included the following machines:
- APE(X)C: Birkbeck College, London (before 1955)
- APE(N)C: Board of Mathematical Machines, Oslo ('N' likely stands for 'NorwayNorwayNorway , officially the Kingdom of Norway, is a Nordic unitary constitutional monarchy whose territory comprises the western portion of the Scandinavian Peninsula, Jan Mayen, and the Arctic archipelago of Svalbard and Bouvet Island. Norway has a total area of and a population of about 4.9 million...
') - APE(H)C: British Tabulating Machine CompanyBritish Tabulating Machine CompanyThe British Tabulating Machine Company was a firm which manufactured and sold Hollerith unit record equipment and other data-processing equipment...
(It is unclear what 'H' stands for) - APE(R)C: British Rayon Research AssociationBritish Rayon Research AssociationThe British Rayon Research Association was a research institute formed in 1946 by the British Rayon Federation and others. It was funded by the Department of Scientific and Industrial Research and by voluntary funds from industry to investigate the chemical and physical properties of rayon and...
('R' stands for 'Rayon') - UCC: University College, London (circa January 1956)
- MAC or MAGIC (Magnetic Automatic Calculator): "built by Wharf Engineering Laboratories" (February 1955)
- The HEC (Hollerith Electronic Computer), built by the British Tabulating Machine Company (later to become International Computers and TabulatorsInternational Computers and TabulatorsInternational Computers and Tabulators or ICT was formed in 1959 by a merger of the British Tabulating Machine Company and Powers-Samas. In 1963 it also added the business computer divisions of Ferranti...
(ICT), then International Computers Limited (ICL)), a commercial machine sold in several models and later known as the BTM1200 series. There were likely the derivatives HEC 1, HEC 2, HEC 2M - M for 'marketable' denoting the machine's orientation toward commercial rather than scientific customers, and HEC 4 (before 1955)
Only one of each of these machines was built, with the exception of HEC (and possibly MAC) which were commercial machines produced in quite large numbers for the time, around 150. They were similar in design, with various small differences, mostly in I/O equipment. The APEXC, and APEHC were punched card
Punched card
A punched card, punch card, IBM card, or Hollerith card is a piece of stiff paper that contains digital information represented by the presence or absence of holes in predefined positions...
machines while the APERC and APENC were teletypers (keyboard and printer
Computer printer
In computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...
, plus paper tape reader and puncher). Also, the UCC had 8k words of storage, instead of 1k word for other machines, and the MAC used germanium diodes in replacement of many tubes. The HEC used standard
punched cards; the HEC 4 had a printer, too, and it featured several instructions (such as divide
Division (mathematics)
right|thumb|200px|20 \div 4=5In mathematics, especially in elementary arithmetic, division is an arithmetic operation.Specifically, if c times b equals a, written:c \times b = a\,...
) and registers not found on the APEXC.
Technical Description
An emulator for the APEXC series has been developed by MESSMESS
Multi Emulator Super System is an emulator for many game consoles and computer systems, based on the MAME core.The primary purpose of MESS is to preserve decades of computer and console history...
. 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 multiplicationMultiplicationMultiplication is the mathematical operation of scaling one number by another. It is one of the four basic operations in elementary arithmetic ....
). 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 calculatorCalculatorAn electronic calculator is a small, portable, usually inexpensive electronic device used to perform the basic operations of arithmetic. Modern calculators are more portable than most computers, though most PDAs are comparable in size to handheld calculators.The first solid-state electronic...
is faster.
One oddity is that there is no program counterProgram counterThe program counter , commonly called the instruction pointer in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register that indicates where the computer is in its instruction sequence...
: 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 additionAdditionAddition is a mathematical operation that represents combining collections of objects together into a larger collection. It is signified by the plus sign . For example, in the picture on the right, there are 3 + 2 apples—meaning three apples and two other apples—which is the same as five apples....
, subtractionSubtractionIn arithmetic, subtraction is one of the four basic binary operations; it is the inverse of addition, meaning that if we start with any number and add any number and then subtract the same number we added, we return to the number we started with...
, 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 ALUArithmetic logic unitIn computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logical operations.The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers...
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 memoryRead-only memoryRead-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...
(ROM), and therefore no bootstrap loader or default start-up program whatsoever. It is believed that no executive or operating systemOperating systemAn operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
was ever written for the APEXC, although there were subroutineSubroutineIn computer science, a subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code....
librariesLibrary (computer science)In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
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 unitCentral processing unitThe central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
, and to alter registers and memory when the CPU is stopped. When starting the machine, the addressMemory addressA digital computer's memory, more specifically main memory, consists of many memory locations, each having a memory address, a number, analogous to a street address, at which computer programs store and retrieve, machine code or data. Most application programs do not directly read and write to...
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 dumpCore dumpIn computing, a core dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally...
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).
Further reading
- Andrew D. Booth Technical Developments: The Development of A.P.E.(X).C. (in Automatic Computing Machinery), Mathematical Tables and Other Aids to Computation (MTAC) Volume 8, Number 46, April, 1954