The ARMAC at the Mathematical Center

The ARMAC, (Automatische Rekenmachine van het Mathematisch Centrum, translated: Automatic Computing machine of the Mathematica Center), was built as a successor of the ARRA II and is only used internally at the Mathematical Center. This computing machine was much more complex than the sequential ARRA, ARRA II and FERTA. The ARMAC was a parallel computer, meaning it did not need multiple clock ticks for addition of two numbers.

Scholten and Loopstra were responsible for the design and physically building the ARMAC. Programming of the ARMAC is performed by E.W. Dijkstra. Building the ARMAC took around 1.5 years. In this period Blaauw left the Mathematical Center and joined IBM. In 1956 the computing machine ARMAC was ready for usage. The ARMAC is also the last computing machine built at the Mathematical Center. The Mathematical Center stopped its computer building activities, but started a independent spin-off company, Electrologica N.V.[1]

The ARMAC consisted of two types of memory: old drum memory, like used in the ARRA II, and the newer, faster magnetic memory. The magnetic memory was used to buffer a track of the drum memory. Instructions available in that buffer were accessible faster. The drum memory of the ARMAC consisted of 3584 words. Each word consisted of 34bits, meaning 33 data bits and 1 parity bit. A clock pulse took 13.3 milliseconds. The magnetic memory consisted of two times 32 words. A clock pulse for this memory took 20 microseconds.

The buffered memory design imposes sequential addressing performed by the programmer. This was one of the reasons for Dijkstra to illustrate methods of structured programming. To show the power of the ARMAC, Dijkstra implemented one of his most famous algorithms, the shortest path algorithm[2], on it.

The ARMAC had two computing registers. The opcodes used 5 bits and addresses took 12 bits. Furthermore it was possible to use subroutine jumps, by using a link in a register. The computing machine consisted of 1200 tubes and consumed around 10 kilo Watt.

Since computing machines in those years made a lot of noise, it was a tradition at the Mathematical Center to beep the Dutch national anthem, Wilhelmus using the ARMAC whenever a royalty would visit the Mathematical Center.[3]

For some computations, the ARMAC was 50 times as fast as the ARRA II. Addition, subtraction and multiplication were standard routines in the instruction set of the ARMAC. In drum memory, a sub-routine was available to divide. Since division was very slow, most programmers decided to multiply with the inverse instead of performing a division. To illustrate the performance of the ARMAC[4]:

- Addition and subtraction of two numbers took 416 microseconds.
- Multiplication of two numbers took 5.4 milliseconds.
- Moving a track of 32 words took 14.6 milliseconds.

How fast the ARMAC was for real computational work is a little subjective, since Loopstra claimed an average speed of 1000 instructions per second and Dijkstra claimed an average of 2400 instructions per second.

*Stichting Electrologica,*, 2006 .- "A note on two problems in connection with graphs",
*Numerische Mathematik*, vol. 1: Springer Berlin / Heidelberg, pp. 269-271, 1959 . - "Een halve eeuw computers in Nederland: 2. Het geluid van rekentuig",
*Nieuwe Wiskrant*, vol. 22, issue 3: Freudenthal Instituut, 03/2003. *De Eerste Nederlandse Computers,*, 2007 .