# ARRA

Las computadoras ARRA, acrónimo de Automatische Relais Rekenmachine Amsterdam (Ordenador Automático con Relés de Amsterdam), fueron los primeros ordenadores construidos en Holanda usando relés como elemento base. Fueron diseñadas y construidas por Carel Scholten y Bram Loopstra, bajo la dirección de Van Wijngaarden, a los que se unió posteriormente Gerrit Blaauw. Edsger Dijkstra fue uno de los primeros programadores que trabajaron con las ARRA.

## ARRA I

La máquina se presentó el 21 de junio de 1952 en el Centro Matemático Holandés (más tarde el Centro de Matemáticas y Ciencias de la Computación) en Ámsterdam. En la inauguración oficial estuvieron el entonces alcalde de la municipalidad de Ámsterdam d'Aill, y el ministro de Educación, Artes y Ciencias F. J. Th. Rutten. La prueba no fue un éxito, se puso el dispositivo a generar una tabla de números aleatorios, la tarea comenzó correctamente pero tras generar el primer número el programa se quedó bloqueado y la máquina dejó de funcionar.
Para la prueba inicial se eligió el programa que generaba números aleatorios por estar muy probado, los programadores se sabían casi de memoria las tablas de valores que se generaban de tanto verlas, pero aun así tras la detención de la máquina en la prueba inicial no se logró volver a ponerla en marcha correctamente nunca más.
La máquina contenía 1.200 relés conectados en la parte trasera. En esa época no disponían de una carcasa protectora, por lo que se envolvieron en pequeñas bolsas de plástico para evitar que se ensuciasen. Sin embargo, los tiempos de conmutación no eran fiables debido a la degeneración de los contactos. Las clavijas de los relés devían ser limpiadas regularmente. Las jóvenes informáticas a menudo ayudaban en este proceso. Después de la limpieza los relés tenían que probarse nuevamente, lo que ponía las clavijas de contacto con niveles de alta tensión, lo que parece producía problemas con las bases de madera que se usaban.
Para los flip-flops se utilizaron tubos de doble triodo, seguido por un tubo final para permitir el control de los suficientes relés. Se utilizó una bombilla para la visualización de cada flipflop. Disponía de 3 registros de 30 bits cada uno, contiendo 90 tubos. Scholten y Loopstra descubrieron que los tubos podían entrar en oscilación casi perfecta, y les tomó bastante tiempo averiguar dónde ubicar cables de aproximadamente 2 metros para evitar esta oscilación.
Inicialmente las órdenes se introducían mediante interruptores y cables, pero se añadió una memoria de tambor en 1951. Disponía de 16 códigos de instrucciones, incluyendo dos para la multiplicación y dos para la división, con y sin el redondeo. La máquina podía representar números binarios como decimales. El programa se almacenaba usando una instrucción por palabra. Para la entrada y salida se usaba un lector/grabador de cinta de papel y un teleimpresor (TTY). Una mesa de madera de cocina servía como panel de control. Para compensar los viajes regulares a Philips en Eindhoven, Scholten y Loopstra a menudo recogían algunas piezas de muestra, haciendo del ARRA un compendio de lo que la industria electrónica tenía que ofrecer.
Dado que el ARRA no usaba temporización por reloj sino que era una máquina asíncrona, cada operación primitiva terminaba con una señal de "operación completada" que desencadenaba la operación siguiente.

## ARRA II

La ARRA II fue la sucesora de la ARRA I, aunque en realidad era una máquina completamente nueva pues se diseñó de cero. El desarrollo comenzó en el Centro Matemático en 1952 por Scholten y Loopstra, a los que se unió Gerrit Blaauw (posteriormente uno de los diseñadores de la IBM 360), para crear una nueva máquina. El nombre fue elegido simplemente por razones políticas y financieras, ya que técnicamente las dos máquinas eran completamente diferentes, como cualquier visitante del Centro podía ver fácilmente ya que las dos máquinas estaban claramente separadas, sin un solo cable que las conectara.
Blaauw rediseñó la nueva máquina para funcionar de manera síncrona usando un reloj. Al igual que la primera máquina, la nueva ARRA utilizaba un tambor magnético para la memoria y un lector de cinta de papel para la entrada. Su salida se realizaba hacia una máquina de escribir eléctrica de la que 16 de sus teclas eran controlables colocando los imanes debajo de ellas. También se usaron conexiones enchufables que simplificar el mantenimiento.
Utilizaba una unidad aritmética que trabajada en punto fijo operando en serie, con dos registros el A y el S, una memoria de 1024 palabras dividida en 32 pistas con 32 palabras cada una. Se almacenaban dos instrucciones por palabra. Su juego de instrucciones era simétrico y consistía en 25 instrucciones, seis de ellas solo involucraban al registro A, y un conjunto similar al registro S. La conversión de base no era una instrucción especial, y en su lugar dos multiplicaciones por 10 más rápidas fueron diseñadas. Una de las principales características de la ARRA II era su velocidad: requería solo un poco más de 20 milisegundos para calcular una suma, el tiempo que el tambor empleaba en completar una rotación. Las multiplicaciones y divisiones costaban unas 5 veces más.
Los puertos de E/S se construyeron con diodos de selenio, suministrados como rectificadores, que fueron desmontados para recuperar el circuito interno, dejando un diámetro de apenas medio centímetro, mientras que los rectificadores eran mucho más grandes. Debido a que el selenio no se podía soldar, ya que no soportaba altas temperaturas, se colocaban sobre un aislamiento FR-2 (Flame Resistant 2) en las placas. Este mismo material se utilizaba para las tarjetas de circuitos impresos. En estas placas se perforaban agujeros con contactos metálicos en cada extremo, con los diodos de selenio en medio junto con un resorte de compresión, así se realizaban los contaso al metal en lugar de al selenio directamente. Para conectar estas piezas y formar los circuitos se utilizaba pintura de plata. Desafortunadamente estas conexiones eran muy poco fiables, por lo que los diodos de selenio fueron sustituidos más tarde por diodos de germanio, que podrían soldarse sin problemas.

### Subrutinas de Dijkstra para la ARRA II

Dijkstra diseñó muchos programas para el ARRA II, es conocido que reprogramó la operación x: = x + 1 para ser menos propensa a errores debido a que la memoria de tambor no era muy fiable, la operación "x: = x + 1" se reescribió usando el siguiente procedimiento:
Aunque era más complejo era mucho más fiable. Como la máquina a menudo se utiliza en la noche de forma desatendida, este nuevo procedimiento provocaba muchas menos llamadas de servicio durante la noche.
Dijkstra también construyó una rutina de comprobación de eco, de forma que a la vez que se imprimía un número, se estaba reconstruyendo el mismo número utilizando la conversión decimal a binaria y viceversa. Esta rutina de verificación se utilizó en el ARRA II y sus tres sucesoras.

### Uso

La máquina fue utilizada por primera vez en 1953, y en diciembre de ese año empezó a usarse continuamente hasta 1956. cuando se pudo en producción la ARMAC. Su desarrollo tardó solo 13 meses, aunque durante los primeros meses de uso todavía se estaba mejorando.
Como recuerda Dijkstra, Blaauw estaba muy dedicado al trabajo de completar la ARRA II. También proporcionó mucha información técnica, introdujo técnicas adecuadas de documentación y otras características a la máquina. Sin embargo Blaauw dejó el MC pocos años después. Según Dijkstra simplemente no encajaba demasiado.
Dijkstra hizo una vez un largo viaje a Australia, cuya última parte fue en aviones Fokker F27. A su llegada su anfitrión se disculpó mucho de que tuviera que hacer la última etapa del viaje en un turbopropulsor de dos motores tan tembloroso, a los que Dijkstra respondió: "Dr. Stanton, me sentí muy seguro ya que había calculado yo mismo la frecuencia de resonancia de las alas ".

## FERTA

Se hizo un duplicado de la ARRA II para el fabricante de aviones holandés Fokker, a la que se le denominó FERTA. Solo incluía ligeras modificaciones, principalmente algunas instrucciones de cambio de base más elaboradas.

## Primeras computadoras holandesas

Computadoras diseñadas en el Centro Matemático:
* ARRA I (1952), ARRA II (1953), FERTA
* ARMAC (1956)
Diseños de otros centros:
* P3
* PASCAL
* PETER
* PTERA (1953)
* STEVIN
* Testudo (comenzada por un estudiante universitario en 1947, se trabajó en ella hasta 1965 pero nunca fue completada)
* Electrologica X1 (1958), X2, X4, X8 (1964)
* ZEBRA (en 1956 se completó el prototipo, en 1958 primera unidad de producción hasta 1964)
* ZERO (1952)
* Datos: Q2612880
* 1 2 Scholten, C.S. , (1979). «Computers Ontwerpen, Toen» [Diseño de ordendadores, entonces] (en holandés). Consultado el 3 de agosto de 2017.
* 1 2 Dijkstra, E.W. (1980). «A programmer's early memories» [Primeras memorias de un programador]. A History of Computing in the Twentieth Century: a Collection of Essays (Academic Press): pag. 563 a 573. Consultado el 3 de agosto de 2017.
* ↑ Authors: Alberts, G.; Blij, F. van der; Nuis, J. (1987). Zij Mogen Uiteraard Daarbij De Zuivere Wiskunde Niet Verwaarloozen (en holandés). Amsterdam: Centrum voor Wiskunde en Informatica (CWI). ISBN 90-6196-320-6.
* ↑ Philip L. Frana (2001). «Oral history: interview with Edsger W. Dijkstra» [Historia oral: entrevista con Edsger W. Dijkstra] (en inglés). Charles Babbage Institute, University of Minnesota, Minneapolis. Consultado el 8 de agosto de 2017.