stringtranslate.com

KDF9 eléctrico inglés

El KDF9 fue uno de los primeros ordenadores británicos de 48 bits diseñado y construido por English Electric (que en 1968 se fusionó con International Computers Limited (ICL)). La primera máquina entró en servicio en 1964 y la última de las 29 máquinas fue desmantelada en 1980 en el Laboratorio Nacional de Física . El KDF9 fue diseñado y utilizado casi exclusivamente en los campos de procesamiento matemático y científico: en 1967, nueve de ellos estaban en uso en universidades y escuelas técnicas del Reino Unido. [1] El KDF8 , desarrollado en paralelo, estaba destinado a cargas de trabajo de procesamiento comercial.

El KDF9 fue un ejemplo temprano de una máquina que admitía directamente la multiprogramación , utilizando desplazamientos en su memoria central para separar los programas en espacios de direcciones virtuales distintos. Se desarrollaron varios sistemas operativos para la plataforma, incluidos algunos que proporcionaban un uso totalmente interactivo a través de máquinas PDP-8 que actuaban como servidores de terminales inteligentes . Había varios compiladores disponibles, en particular compiladores de verificación y de optimización global para Algol 60 .

Arquitectura

Los circuitos lógicos del KDF9 eran completamente de estado sólido . El KDF9 usaba lógica de diodo-transistor acoplado por transformador , construida a partir de diodos de germanio, alrededor de 20.000 transistores y alrededor de 2.000 transformadores de pulso toroidales . [2] Funcionaban con un reloj de 1 MHz que entregaba dos pulsos de 250 ns separados por 500 ns, en cada ciclo de reloj. La configuración máxima incorporaba 32K palabras de almacenamiento central de 48 bits (192K bytes) con un tiempo de ciclo de 6 microsegundos. Cada palabra podía contener un solo número entero o de punto flotante de 48 bits , dos números enteros o de punto flotante de 24 bits, seis sílabas de instrucción de 8 bits u ocho caracteres de 6 bits. [3] También había provisión para el manejo eficiente de números de doble palabra (96 bits) en formatos enteros y de punto flotante. Sin embargo, no había ninguna función para direccionamiento de bytes o caracteres, por lo que el trabajo no numérico sufría en comparación. Su conjunto de caracteres estándar era una versión del código de cinta de papel Friden Flexowriter que estaba orientado a Algol 60 e incluía caracteres inusuales como el subíndice 10 de Algol. Sin embargo, cada tipo de dispositivo de E/S implementaba su propio subconjunto de eso. No todos los caracteres que se podían leer de la cinta de papel se podían imprimir con éxito, por ejemplo.

Registros

La arquitectura de la CPU incluía tres conjuntos de registros. El Nest era una pila de 16 registros aritméticos en hilera, el SJNS (Subroutine Jump Nesting Store) era una pila similar de direcciones de retorno. El Q Store era un conjunto de 16 registros de índice, cada uno de 48 bits divididos en partes de Contador (C), Incremento (I) y Modificador (M) de 16 bits cada una. Los indicadores en una instrucción de referencia de memoria especificaban si la dirección debía ser modificada por la parte M de un Q Store y, en caso afirmativo, si la parte C debía ser decrementada en 1 y la parte M incrementada por el contenido de la parte I. Esto hizo que la codificación de bucles de conteo fuera muy eficiente. Tres niveles Nest adicionales y un nivel SJNS adicional estaban reservados para Director, el sistema operativo, lo que permitía manejar interrupciones de ruta corta sin guardar y restaurar registros explícitos. Como resultado, la sobrecarga de interrupciones era de solo tres ciclos de reloj.

Conjunto de instrucciones

Las instrucciones eran de una, dos o tres sílabas. Aunque la palabra " byte " había sido acuñada por los diseñadores del IBM 7030 Stretch para un grupo de ocho bits , todavía no era muy conocida, y English Electric usó la palabra " sílaba " para lo que ahora se llama un byte. La mayor parte de la aritmética se realizaba en la parte superior del Nest y usaba instrucciones de una sílaba con dirección cero , aunque la aritmética de dirección y la actualización de índice se manejaban por separado en el almacén Q. El manejo del almacén Q y algunas instrucciones de referencia de memoria usaban dos sílabas. Las instrucciones de referencia de memoria con un desplazamiento de dirección de 16 bits, la mayoría de las instrucciones de salto y las instrucciones de carga literal de 16 bits, todas usaban 3 sílabas.

La codificación densa de instrucciones y el uso intensivo de los conjuntos de registros significaron que se necesitaban relativamente pocos accesos al almacenamiento para códigos científicos comunes, como el producto escalar y los bucles internos polinómicos. Esto contribuyó en gran medida a compensar el tiempo de ciclo central relativamente lento, lo que le dio al KDF9 aproximadamente un tercio de la velocidad de su contemporáneo mucho más famoso, pero 8 veces más caro y mucho menos exitoso comercialmente, el Manchester/ Ferranti Atlas Computer .

Multiprogramación (tiempo compartido)

El KDF9 fue uno de los primeros sistemas multiprogramación totalmente protegidos por hardware. Se podían ejecutar hasta cuatro programas a la vez bajo el control de su elegante y sencillo sistema operativo, el Timesharing Director , cada uno de los cuales estaba confinado a su propia área central mediante registros BA (Base Address) y NOL (Number of Locations). Cada programa tenía sus propios conjuntos de registros de pila y de almacenamiento Q, que se activaban cuando se enviaba ese programa, de modo que el cambio de contexto era muy eficiente.

Cada programa podía controlar dispositivos de E/S de hardware directamente, pero estaba limitado por comprobaciones de hardware a aquellos que el Director le había asignado. Cualquier intento de utilizar un dispositivo no asignado causaba una interrupción de error. Una interrupción similar resultaba de llenar en exceso (o vaciar en exceso) el Nest o SJNS, o de intentar acceder al almacenamiento en una dirección superior a la dada en el registro NOL. Algo diferente era la interrupción de Lock-Out, que resultaba de intentar acceder a un área de almacenamiento que estaba siendo utilizada actualmente por un dispositivo de E/S, de modo que había una exclusión mutua de hardware del acceso a los buffers DMA. Cuando un programa se bloqueaba en un Lock-Out, o al esperar voluntariamente a que terminara una transferencia de E/S, se interrumpía y el Director cambiaba al programa de mayor prioridad que no estaba bloqueado. Cuando se borraba un Lock-Out, o terminaba una transferencia esperada, y el programa responsable era de mayor prioridad que el programa que se estaba ejecutando en ese momento, la unidad de Control de E/S (IOC) interrumpía para permitir un cambio de contexto inmediato. La COI también tomó medidas para evitar la inversión de prioridad, en la que un programa de alta prioridad espera a un dispositivo ocupado por un programa de menor prioridad, solicitando una interrupción distinta en ese caso.

Los sistemas operativos posteriores, incluidos Eldon 2 [4] de la Universidad de Leeds, y COTAN, desarrollado por UKAEA Culham Laboratories con la colaboración de la Universidad de Glasgow, eran sistemas de acceso múltiple totalmente interactivos, con front-ends PDP-8 para manejar las terminales.

Los compiladores Kidsgrove y Whetstone Algol 60 estuvieron entre los primeros de su clase. El compilador Kidsgrove enfatizaba la optimización; el compilador Whetstone producía un código de objeto interpretativo destinado a la depuración. Fue mediante la instrumentación de este último que Brian Wichmann obtuvo las estadísticas sobre el comportamiento del programa que llevaron al benchmark Whetstone para computación científica [5] , que a su vez inspiró el benchmark Dhrystone para cargas de trabajo no numéricas [6] .

Reminiscencia

Las órdenes de código máquina se escribían en una forma octal oficialmente denominada octal silábico [7] (también conocida como notación "slob-octal" o "slob", [8] [9] ). Representaba 8 bits con tres dígitos octales, pero el primer dígito representaba solo los dos bits más significativos, mientras que los otros dos grupos restantes de tres bits cada uno.

Dentro de English Electric, su predecesor, DEUCE , tenía un esquema matricial muy utilizado basado en GIP (Programa General Interpretativo). La falta de fiabilidad de las máquinas de válvulas llevó a la inclusión de un mecanismo de comprobación de suma para detectar errores en las operaciones matriciales. [nb 1] El esquema utilizaba punto flotante en bloque utilizando hardware aritmético de punto fijo, en el que las comprobaciones de suma eran precisas. Sin embargo, cuando se implementó el esquema correspondiente en KDF9, utilizó punto flotante, un nuevo concepto que solo tenía un análisis matemático limitado. Rápidamente se hizo evidente que las comprobaciones de suma ya no eran precisas y se estableció un proyecto en un intento de proporcionar una comprobación utilizable. (En punto flotante (A + B) + C no es necesariamente lo mismo que A + (B + C) es decir , la operación + no es asociativa). Sin embargo, en poco tiempo se reconoció que las tasas de error con las máquinas de transistores no eran un problema; o funcionaban correctamente o no funcionaban en absoluto. En consecuencia, se abandonó la idea de las comprobaciones de suma. El paquete de matriz inicial demostró ser una herramienta de prueba de sistemas muy útil, ya que pudo generar comprobaciones de rendimiento extensas mucho antes que los paquetes de prueba más formales que se desarrollaron posteriormente.

Existe una leyenda que dice que el KDF9 fue desarrollado como proyecto KD9 (Kidsgrove Development 9) y que la "F" en su designación fue aportada por el entonces presidente después de una larga y tediosa discusión sobre cómo llamar a la máquina en el lanzamiento: "No me importa si la llamas F... ". La verdad es más mundana: el nombre fue elegido esencialmente al azar por un gerente de marketing. [10] (Véase también KDF8 para el desarrollo y uso paralelo de una computadora orientada comercialmente).

El sistema operativo EGDON recibió ese nombre porque uno de ellos iba a UKAEA Winfrith : en el libro de Thomas Hardy El regreso del nativo Winfrith Heath se llama Egdon Heath . EGDON Fortran se llamó EGTRAN. [10] Eldon recibió ese nombre porque la computadora de la Universidad de Leeds estaba ubicada en una capilla Eldon reconvertida.

Físico

La máquina pesaba más de 10.300 libras (5,2 toneladas cortas; 4,7 t). Pupitre de control con máquina de escribir de interrupción 300 libras (136 kg), unidad de control de entrada/salida y almacén principal 3.500 (1.587 kg), unidad de control principal y aritmética 3.500 (1.587 kg), unidad de suministro de energía 3.000 (1.360 kg). [11]

Notas

  1. ^ La comprobación de suma también protege contra errores de programación, en el caso de que una parte o la totalidad de una matriz se sobrescribiera inadvertidamente.

Referencias

  1. ^ Roberts, Goronwy (6 de marzo de 1967). "Computadoras". Debates parlamentarios (Hansard) . HC . Consultado el 8 de julio de 2017 .
  2. ^ "El ordenador KDF9: 30 años después"
  3. ^ English Electric KDF9: Sistema de procesamiento de datos de muy alta velocidad para el comercio, la industria y la ciencia (PDF) (Folleto del producto). English Electric . c. 1961. Publicación n.º DP/103. 096320WP/RP0961. Archivado (PDF) desde el original el 2020-07-27 . Consultado el 2020-07-27 .
  4. ^ David Holdsworth (invierno de 2009-2010). "KDF9 Time Sharing: Eldon 2 is not EGDON!". Computer RESURRECTION – número 49. Computer Conservation Society . Consultado el 3 de octubre de 2010 .
  5. ^ Curnow, HJ y Wichman, BA "A Synthetic Benchmark" Computer Journal , Volumen 19, Número 1, febrero de 1976, págs. 43–49.
  6. ^ Weiss, Alan. "Dhrystone Benchmark: Historia, análisis, "puntuaciones" y recomendaciones" (PDF) .
  7. ^ Director - Manual (PDF) (Diagrama de flujo). English Electric . c. 1960s. Archivado (PDF) desde el original el 2020-07-27 . Consultado el 2020-07-27 .(NB. Menciona el término "octal silábico".)
  8. ^ Beard, Bob (otoño de 1997) [1996-10-01]. "El ordenador KDF9: 30 años después" (PDF) . Resurrección - El boletín de la Computer Conservation Society . N.º 18. Computer Conservation Society (CCS). págs. 7-15 [9, 11]. ISSN  0958-7403. Archivado (PDF) desde el original el 27 de julio de 2020 . Consultado el 27 de julio de 2020 .[1] (NB: Esta es una versión editada de una charla dada al Grupo Noroeste de la Sociedad en el Museo de Ciencia e Industria, Manchester, Reino Unido, el 1 de octubre de 1996. Menciona el término "slob" y "slob-octal" como equivalentes a "octal silábico").
  9. ^ "Arquitectura del ordenador English Electric KDF9" (PDF) . Versión 1. Computer Conservation Society (CCS). Septiembre de 2009. CCS-N4X2. Archivado (PDF) desde el original el 4 de abril de 2020. Consultado el 27 de julio de 2020 .(NB. Se refiere al artículo de Beard de 1997.)
  10. ^ ab "(Re)Presentación del KDF9". www.findlayw.plus.com . Consultado el 27 de diciembre de 2020 .
  11. ^ "English Electric | Vendiendo la revolución informática | Museo de Historia de la Computación". www.computerhistory.org . p. 27.

Enlaces externos