stringtranslate.com

Elliott 803

Partes de un Elliott 803B

El Elliott 803 es un ordenador digital de transistores pequeño y de velocidad media que fue fabricado por la empresa británica Elliott Brothers en la década de 1960. Se construyeron alrededor de 211. [1]

Historia

La serie 800 comenzó con el 801, un modelo de prueba único construido en 1957. El 802 fue un modelo de producción, pero solo se vendieron siete entre 1958 y 1961. El 803A, de corta duración, se construyó en 1959 y se entregó por primera vez en 1960; el 803B se construyó en 1960 y se entregó por primera vez en 1961.

En 1960 se entregaron a los clientes más de 200 computadoras Elliott 803 a un precio unitario de aproximadamente £29 000 [2] (aproximadamente equivalente a £843 000 en 2023 [3] ). La mayoría de las ventas fueron de la versión 803B con más rutas paralelas internas, mayor memoria y operaciones de punto flotante de hardware.

Un modelo se utilizó para interactuar con un facsímil del sistema de computación digital automática de artillería de campaña estadounidense FADAC para las pruebas de la artillería real británica en la producción de datos de disparo de obuses. Después de las pruebas exitosas, el ejército encargó a la General Electric Company GEC la producción del sistema de computación de artillería de campaña Face para la artillería real.

El Elliott 803 fue el ordenador utilizado en el ISI-609, el primer sistema de control industrial o de procesos del mundo , en el que el 803 era un registrador de datos . Se utilizó para este fin en el primer reactor nuclear de doble propósito de los EE. UU., el N-Reactor .

Un número significativo de universidades británicas tenían un Elliott 803. [4]

Posteriormente, Elliott desarrolló (1963) el Elliott 503 , mucho más rápido y compatible con software .

Sobreviven dos computadoras Elliott 803 completas. Una es propiedad del Museo de Ciencias de Londres, pero no está en exhibición al público. La segunda es propiedad del Museo Nacional de Informática (TNMoC) en Bletchley Park , está completamente funcional y los visitantes de ese museo pueden verla en funcionamiento con regularidad. [5] [6]

Descripción del hardware

El 803 es una máquina transistorizada , de bits en serie ; el 803B tiene más caminos paralelos internamente. Utiliza memoria de núcleo magnético de ferrita en 4096 u 8192 palabras de 40 bits, que comprende 39 bits de datos con paridad . [7] La ​​unidad central de procesamiento (CPU) está alojada en un gabinete con una altura, ancho y profundidad de 56 por 66 por 16 pulgadas (142 por 168 por 41 cm). Los circuitos se basan en placas de circuito impreso con circuitos bastante simples y la mayor parte de la señalización se realiza mediante cables. Hay un segundo gabinete de aproximadamente la mitad del tamaño utilizado para la fuente de alimentación, que inusualmente se basa en una gran batería de níquel-cadmio con cargador, una forma temprana de sistema de alimentación ininterrumpida . Un tercer gabinete (del mismo tamaño que el gabinete de alimentación) contiene el almacenamiento de trabajo adicional en máquinas con almacenamiento de 8192 palabras. Hay una consola de control del operador , un teleimpresor Creed y un lector de cinta perforada de papel de alta velocidad y perforadora para entrada/salida , que utiliza un código de telecódigo Elliott de 5 pistas, no Baudot . La cinta se lee a 500 caracteres por segundo y se perfora a 100 cps. La consola del operador, de aproximadamente 60 pulgadas de largo, permite ingresar instrucciones de bajo nivel manualmente para manipular direcciones y datos y puede iniciar, detener y avanzar la máquina: hay un altavoz (pulsado por el bit superior del registro de instrucciones ) que permite al operador juzgar el estado de un cálculo. El sistema requiere aire acondicionado , que consume aproximadamente 3,5 kW de potencia en una configuración mínima. Una instalación mínima pesaba aproximadamente 1800 libras (820 kg). [8]

Manipulador de película magnética de 35 mm

El almacenamiento masivo opcional está disponible en un sistema de cinta magnética inusual basado en una película estándar de 35 mm recubierta de óxido de hierro (fabricada por Kodak ). En ese momento, la industria cinematográfica lo utilizaba para grabar pistas de sonido. La fábrica de Elliott en Borehamwood estaba cerca de los estudios cinematográficos Elstree, lo que explica el uso de los medios con ruedas dentadas de 35 mm. Las bobinas de 1000 pies contenían 4096 bloques de 64 palabras por bloque (4096 x 64 x 39 = 10 223 616 bits, o el equivalente a aproximadamente 1,3 megabytes).

Otra característica inusual es el uso de núcleos magnéticos no sólo para la memoria sino también como puertas lógicas. Estos núcleos lógicos tienen 1, 2 o 3 bobinados de entrada, un disparador (lectura) y un bobinado de salida. Dependiendo de su polaridad, los pulsos de corriente en los bobinados de entrada magnetizan el núcleo o se cancelan entre sí. El estado magnetizado del núcleo indica el resultado de una función lógica booleana. Se utilizan dos fases de reloj denominadas alfa y beta para activar (reiniciar a cero) núcleos alternativos. Un cambio de uno a cero produce un pulso en el bobinado de salida. Los núcleos que reciben pulsos de activación alfa (núcleos alfa) tienen entradas alimentadas por puertas que se activan en la fase beta (núcleos beta). Los transistores eran caros en ese momento y cada puerta lógica requiere sólo uno para amplificar el pulso del bobinado de salida; sin embargo, un solo transistor controla las entradas de un pequeño número de otros núcleos (normalmente 3). Si se deben controlar más de 3 entradas, cada núcleo puede controlar hasta dos transistores más.

Conjunto de instrucciones

Las instrucciones y los datos se basan en una longitud de palabra de 39 bits con representación binaria en aritmética de complemento a 2. El conjunto de instrucciones opera en una única dirección y un único registro acumulador, con un registro auxiliar adicional para multiplicación y división de enteros de longitud doble. Aunque se cree que las instrucciones de división y raíz cuadrada de longitud única solo estaban habilitadas en los 803 destinados a aplicaciones de control de procesos, se ha descubierto que el único 803B operativo restante tenía estas instrucciones habilitadas, probablemente porque lo utilizó una empresa de software para desarrollar aplicaciones de control de procesos y en tiempo real. Una instrucción se compone de un campo de función de 6 bits (representado convencionalmente en octal ) y una dirección de 13 bits. Esto da 64 instrucciones organizadas en 8 grupos de 8 instrucciones. El campo de dirección de memoria de 13 bits da un rango direccionable de 8192 palabras. Estas instrucciones de 19 bits se empaquetan de dos en dos por palabra con un bit 39 adicional entre ellas, la llamada línea B o dígito B (el término es un legado de la computadora Ferranti Mark 1 , donde la línea A representaba el acumulador y la línea B un modificador de instrucción, ambos almacenados en un tubo Williams ). Establecer el dígito B tiene el efecto de agregar el contenido de la dirección de memoria de la primera instrucción a la segunda instrucción en el momento de la ejecución, lo que permite la indexación, el direccionamiento indirecto y otras modificaciones de instrucciones en tiempo de ejecución. El tiempo de bit es de 6 microsegundos, los saltos se ejecutan en 288 microsegundos y las instrucciones aritméticas simples en 576 microsegundos. Las operaciones de punto flotante toman varios milisegundos. La E/S es directa. Los periféricos estándar no usaban interrupciones ni estaban documentadas en la guía de programación.

En las siguientes descripciones, A y N representan el acumulador y la dirección literal, a y n representan el contenido (iniciales) del acumulador y la ubicación de almacenamiento direccionada, y a' y n' el contenido resultante.

Grupos de instrucción 0 – 3

Se trata de operaciones aritméticas de punto fijo con cuatro combinaciones diferentes de destino de operando y resultado:

Grupo de instrucción 4

El grupo 4 son saltos condicionales e incondicionales. Las funciones 40 a 43 saltan a la primera instrucción de un par y las 44 a 47 a la segunda.

Grupo de instrucción 5

El grupo 5 son instrucciones de multiplicación, división y desplazamiento. Algunas de ellas utilizan el registro auxiliar de 38 bits (AR, cuyo contenido se indica con ar), que puede considerarse una extensión del acumulador en el extremo menos significativo. Las multiplicaciones y divisiones consideran a/ar como una fracción con signo entre -1 y un bit menos significativo menor que +1. A pesar de que el manual 803 dice "Todas las funciones impares del grupo 5 borran el AR", la función 57 no lo borra.

Grupo de instrucción 6

El grupo 6 son instrucciones de punto flotante (si está instalada una unidad de punto flotante).

Los números de punto flotante se representan en una palabra de 39 bits o en el acumulador como (desde el extremo más significativo al menos significativo):

El cero siempre está representado por los 39 bits cero.

Tenga en cuenta que las instrucciones de prueba de cero y de prueba de salto negativo son igualmente válidas para el punto flotante.

Todas estas instrucciones borran el registro auxiliar.

Grupo de Instrucción 7

El grupo 7 es de entrada/salida, con excepción del 73, que se utiliza para la vinculación de subrutinas. Hay una descripción mucho más completa de las funciones del grupo 7 en el enlace "Nuestra herencia informática".

Control de trazador digital:

La entrada a una subrutina en la dirección N normalmente se efectúa mediante la secuencia:

73 ENLACE : 40 N

La dirección de retorno se ha almacenado en una ubicación de enlace (normalmente la ubicación antes del inicio de la subrutina (por ejemplo, N-1))

y regresa usando la secuencia:

00 ENLACE / 40 1

Programa de ejemplo

A modo de ejemplo, las siguientes son las Instrucciones iniciales , cableadas en las posiciones 0 a 3, y utilizadas para cargar código binario desde una cinta de papel a la memoria. De acuerdo con la convención 803, se escriben con dos instrucciones en cada línea, que representan el contenido de una palabra. Los dos puntos o la barra entre ellas representan un valor de dígito B de cero o uno respectivamente.

0: 26 4 : 06 0 Limpiar loc'n 4; Limpiar A 1: 22 4 / 16 3 Incrementar loc 4; almacenar A en loc'n (3 + contenido de loc'n 4) y borrar A 2: 55 5 : 71 0 Desplazamiento a la izquierda A 5 veces; Leer la cinta y "o" en A 3: 43 1 : 40 2 Saltar a loc'n 1 si hay desbordamiento de aritmética; Saltar a loc'n 2

Hay varios puntos a tener en cuenta en este programa tan sencillo:

(Los valores de datos para las ubicaciones envueltas 0 – 3 deben ser cero ya que los valores del contador 8192, 8193, etc. cambian la segunda mitad modificada por B de la ubicación 1 de una instrucción 16 a una 17, lo que establece a en n - a en lugar de borrarlo, como lo requiere el bucle interno).

Interrupciones

El 803 tiene una función de interrupción poco conocida. Si bien no se menciona en la guía de programación y no la utiliza ninguno de los periféricos estándar, el funcionamiento de la lógica de interrupción se describe en los manuales de hardware del 803 y la lógica se muestra en los diagramas de mantenimiento del 803 (Diagrama 1:LB7 Gb). Las interrupciones probablemente se utilizan principalmente junto con interfaces personalizadas proporcionadas como parte de los sistemas de control de procesos en tiempo real ARCH. Dado que todas las instrucciones de entrada y salida hacen que el 803 se "encienda" si los datos de entrada no están disponibles o si un dispositivo de salida no ha completado una operación anterior, las interrupciones no son necesarias y no se utilizan para controlar los periféricos estándar.

Al generar la entrada de interrupción en la computadora se produce una interrupción en la ejecución de la siguiente manera: tan pronto como la máquina se encuentra en un estado adecuado (en particular, cuando no está "ocupada" y solo en ciertos estados del ciclo de búsqueda/ejecución), el siguiente par de instrucciones se obtiene de la ubicación de almacenamiento 5, sin cambiar el Registro de Control de Secuencia (SCR). Se espera que la ubicación 5 contenga un par de instrucciones de entrada de subrutina estándar (73 LINK: 40 N; consulte más arriba), lo que permite guardar la dirección de ejecución previa a la interrupción (aún en el SCR) para su posterior devolución. Se confía en que el equipo externo que genera la interrupción se abstenga de generar otra interrupción hasta que la primera haya sido reconocida por alguna instrucción de entrada/salida adecuada, de modo de evitar que se aniden interrupciones. El compilador de Algol no considera la ubicación 5 como una ubicación reservada, aunque esto puede tener más que ver con la falta de idoneidad de Algol para aplicaciones de control de procesos que con indicar que las interrupciones nunca se consideran una función principal.

Compiladores

Las instrucciones iniciales descritas como el programa de ejemplo anterior son efectivamente un cargador de arranque primario que normalmente se utiliza para leer un cargador de arranque secundario conocido como T23 , que se antepone a todas las cintas de programa. T23 permite funciones de carga de programas más flexibles, incluida la verificación de suma del código cargado.

Los programas de código máquina se escriben en una representación octal/decimal ejemplificada en el Programa de ejemplo anterior y se cargan mediante un ensamblador rudimentario conocido como Rutina de entrada de traducción . No tiene facilidades de direccionamiento simbólico, sino que permite dividir la fuente en bloques que se pueden reubicar manualmente para permitir la expansión o contracción de un bloque anterior en desarrollo. También hay un Autocódigo para tareas de programación simples, lo que permite un desarrollo más rápido del programa sin la necesidad de un conocimiento del código máquina. Este no tiene facilidades de traducción de fórmulas y requiere que todos los cálculos se reduzcan a una serie de asignaciones con no más de un solo operador en el lado derecho.

El 803B con 8192 palabras de memoria es capaz de ejecutar el compilador ALGOL de Elliott, [9] un subconjunto importante del lenguaje Algol60, capaz de cargar y ejecutar varios programas ALGOL en sucesión. Esto fue escrito en gran parte por Tony Hoare , empleado por Elliotts como programador en agosto de 1960. Hoare relata algunas de sus experiencias en Elliotts en su conferencia de 1980 de la Asociación de Maquinaria Computacional (ACM) en la que recibió el Premio Turing .

El 803B del Museo Nacional de Informática funciona ahora lo suficientemente bien como para ejecutar este compilador nuevamente. Hay un video corto en YouTube que muestra cómo compila y ejecuta un programa simple.

Participación del NCR

El modelo 803 se comercializó con la marca NCR-Elliott 803. En ese momento, Elliott Automation también fabricaba y ensamblaba modelos NCR 315 en Borehamwood.

Computación para hacerlo usted mismo

Los Elliott 803 (y posteriormente los Elliott 4100) se utilizaron en la oficina informática "Computer Workshop" de la empresa conjunta NCR-Elliott. La característica única de esta oficina era que organizaban cursos de tres días para enseñar a sus clientes a escribir sus propios programas, que a menudo se donaban a una biblioteca de programas que se podían utilizar. Los clientes acudían a Borehamwood (y posteriormente a Greenford) para manejar ellos mismos los ordenadores, un ejemplo temprano de informática personal. Los precios por hora eran de 8 libras (equivalentes a 233 libras en 2023) de 9:00 a 17:00 horas, 6 libras (equivalentes a 175 libras en 2023) de 17:00 a medianoche y 4 libras (equivalentes a 116 libras en 2023) de medianoche a 9:00 horas. [3]

Las aplicaciones más populares fueron en ingeniería civil y arquitectura, para análisis estructural, corte y relleno, corrección de topografía y listas de cantidades.

Aplicaciones

Los siguientes fueron 803 usuarios: [2]

Un pequeño número de modelos 803 de segunda mano llegaron a las escuelas del Reino Unido.

Véase también

Referencias

  1. ^ Lavington, Simon (19 de mayo de 2011). Objetivos móviles: Elliott-Automation y el amanecer de la era informática en Gran Bretaña, 1947-1967. Springer Science & Business Media . p. 662. ISBN 9781848829336.
  2. ^ ab «Versión 3, noviembre de 2011 E3X1, Listas de entrega y aplicaciones de las computadoras Elliott de la serie 800 y 503» (PDF) . Archivado desde el original (PDF) el 2 de abril de 2012. Consultado el 13 de abril de 2012 .
  3. ^ Las cifras de inflación del índice de precios al por menor del Reino Unido se basan en datos de Clark, Gregory (2017). "El RPI anual y las ganancias promedio en Gran Bretaña, de 1209 a la actualidad (nueva serie)". MeasuringWorth . Consultado el 7 de mayo de 2024 .
  4. ^ Roberts, Goronwy (6 de marzo de 1967). «Computers». Debates parlamentarios (Hansard) . HC . Consultado el 8 de julio de 2017 .
  5. ^ "Mainframes y grandes sistemas". TNMOC. Archivado desde el original el 14 de febrero de 2014. Consultado el 9 de noviembre de 2018 .
  6. ^ Noticias sobre Elliott 803, más detalles del archivo y varias donaciones generosas Archivado el 17 de julio de 2018 en Wayback Machine , 2010-09-19, The National Museum of Computing
  7. ^ "Información de referencia: Encuesta sobre ordenadores europeos, parte 3 (parte final) – Reino Unido – NCR Co.: National-Elliott 803" (PDF) . Computers and Automation . 9 (4): 27 de abril de 1960 . Consultado el 5 de septiembre de 2020 .
  8. ^ Peso del procesador central (680), unidad de potencia (380 + 200 [cargador de batería]), estación de cinta de papel (450?), teclado (66?):
    • "Simulación del Elliott 803: contenido". elliott803.sourceforge.net . Documentación adicional: Datos sobre el Elliott 803, pág. 2.[ Se necesita verificación de archivo ]
      • "Algunas computadoras viejas". members.iinet.net.au .
      • Cargador de batería: "Computer Resurrection Issue 3". cs.man.ac.uk .
  9. ^ Purvis, Bill (5 de octubre de 2005). "Elliott 803 Algol".
  10. ^ La ciencia y el huevo, también conocida como Automatización de pollitos: la ciencia ayuda al huevo, Fecha de publicación: 12/02/1962 – British Pathé
  11. ^ Revista iTNOW de la British Computer Society, 'celebrando 60 años', verano de 2017, pág. 49 doi:1093/itnow/bwx049 www.bcs.org/itnow
  12. ^ Descrito en 'University of London King's College Biophysics Laboratories' (1964) HMSO pp 9-11.
  13. ^ "Primeiro ordenador instalado en Portugal hace 50 años". 19 de diciembre de 2011.
  14. ^ Humbert, Pete. "Aplicaciones prácticas para intranets escolares".
  15. ^ Elliott 803, La primera computadora que programé, creada el 1 de diciembre de 2003

Lectura adicional

Enlaces externos