stringtranslate.com

Inglés Eléctrico KDF9

KDF9 fue una de las primeras computadoras británicas de 48 bits diseñadas y construidas 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 29 máquinas fue dada de baja en 1980 en el Laboratorio Nacional de Física . El KDF9 fue diseñado y utilizado casi en su totalidad en los campos de procesamiento científico y matemático; en 1967, nueve 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 uno de los primeros ejemplos de una máquina que admitía directamente la multiprogramación , utilizando compensaciones en su memoria central para separar los programas en distintos espacios de direcciones virtuales. 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 pago y de optimización global para Algol 60 .

Arquitectura

Los circuitos lógicos del KDF9 eran completamente de estado sólido. El KDF9 utilizaba lógica de diodo-transistor acoplado a transformador , construida a partir de diodos de germanio, unos 20.000 transistores y unos 2.000 transformadores de impulsos toroidales . [2] Funcionaron con un reloj de 1 MHz que entregó dos pulsos de 250 ns separados por 500 ns, en cada ciclo de reloj. La configuración máxima incorporó 32 000 palabras de almacenamiento central de 48 bits (192 000 bytes) con un tiempo de ciclo de 6 microsegundos. Cada palabra podría contener un único 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 se preveía el manejo eficiente de números de dos palabras (96 bits) en formatos tanto entero como de punto flotante. Sin embargo, no había facilidad para el direccionamiento de bytes o caracteres, por lo que el trabajo no numérico se vio perjudicado 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 Algol 10. Sin embargo, cada otro tipo de dispositivo de E/S implementaba su propio subconjunto de eso. Por ejemplo, no todos los caracteres que se podían leer en una cinta de papel se podían imprimir con éxito.

Registros

La arquitectura de la CPU presentaba tres conjuntos de registros. The Nest era una pila de registros aritméticos de 16 profundidades, The SJNS (Subroutine Jump Nesting Store) era una pila similar de direcciones de retorno. 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. Las banderas 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, de ser así, si la parte C debía disminuirse en 1 y la parte M incrementarse según el contenido de la parte I. Esto hizo que la codificación de los bucles de conteo fuera muy eficiente. Se reservaron tres niveles Nest adicionales y un nivel SJNS adicional para Director, el sistema operativo, lo que permite manejar interrupciones de ruta corta sin guardar ni restaurar registros explícitos. Como resultado, la sobrecarga de interrupción fue de solo 3 ciclos de reloj.

Conjunto de instrucciones

Las instrucciones eran de 1, 2 o 3 sílabas. La mayor parte de la aritmética se realizaba en la parte superior del Nest y utilizaba instrucciones de una sílaba y dirección cero , aunque la aritmética de direcciones y la actualización del índice se manejaban por separado en la tienda Q. Q El manejo de la tienda y algunas instrucciones de referencia de la memoria utilizan 2 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 de instrucciones densa y el uso intensivo de los conjuntos de registros significaron que se necesitaban relativamente pocos accesos a la tienda para códigos científicos comunes, como el producto escalar y los bucles internos polinomiales. Esto contribuyó en gran medida a compensar el tiempo de ciclo del núcleo relativamente lento, dando 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/ Feranti Atlas Computer .

Multiprogramación (tiempo compartido)

El KDF9 fue uno de los primeros sistemas de multiprogramación totalmente protegidos por hardware. Se podían ejecutar hasta cuatro programas a la vez bajo el control de su sistema operativo elegantemente simple, el Director de Tiempo Compartido , cada uno confinado a su propia área central mediante registros BA (Dirección Base) y NOL (Número de Ubicaciones). Cada programa tenía sus propios conjuntos de registros de pila y de almacén Q, que se activaban cuando se enviaba ese programa, por lo 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 provocó una interrupción por error. Una interrupción similar resultó de llenar (o vaciar demasiado) Nest o SJNS, o intentar acceder al almacenamiento en una dirección superior a la proporcionada en el registro NOL. Algo diferente fue la interrupción de bloqueo, que resultó de intentar acceder a un área de la tienda que estaba siendo utilizada actualmente por un dispositivo de E/S, de modo que había exclusión mutua del acceso por hardware a los buffers DMA. Cuando un programa se bloqueaba en un bloqueo, o al esperar voluntariamente a que terminara una transferencia de E/S, se interrumpía y Director cambiaba al programa de mayor prioridad que no estaba bloqueado. Cuando se borraba un bloqueo o terminaba una transferencia esperada y el programa responsable tenía mayor prioridad que el programa que se estaba ejecutando actualmente, la unidad de control de E/S (IOC) se interrumpía para permitir un cambio de contexto inmediato. La COI también tomó disposiciones para evitar la inversión de prioridad, en la que un programa de alta prioridad espera a que un dispositivo esté ocupado por un programa de menor prioridad, solicitando en ese caso una interrupción distinta.

Los sistemas operativos posteriores, incluido Eldon 2 [4] en la Universidad de Leeds, y COTAN, desarrollado por UKAEA Culham Laboratories con la colaboración de la Universidad de Glasgow, eran sistemas multiacceso totalmente interactivos, con interfaces PDP-8 para manejar los terminales.

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

Reminiscencia

Las órdenes de código de máquina se escribieron en una forma de 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 sólo los dos bits más significativos, mientras que los demás los dos grupos restantes de tres bits cada uno. Aunque la palabra ' byte ' había sido acuñada por los diseñadores del IBM 7030 Stretch para un grupo de ocho bits , aún no era muy conocida, y English Electric utilizó la palabra ' sílaba ' para lo que ahora se llama byte.

Dentro de English Electric, su predecesor, DEUCE , tenía un esquema matricial muy utilizado basado en GIP (General Interpretive Programme). La falta de fiabilidad de las máquinas de válvulas llevó a la inclusión de un mecanismo de verificación de suma para detectar errores en las operaciones matriciales. [nb 1] El esquema utilizó bloques de punto flotante 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 quedó claro que los controles de suma ya no eran precisos y se estableció un proyecto en un intento de proporcionar un control utilizable. (En coma flotante (A + B) + C no es necesariamente lo mismo que A + (B + C), es decir, la operación + no es asociativa). Sin embargo, al poco tiempo se reconoció que las tasas de error con máquinas de transistores no eran una asunto; O funcionaron correctamente o no funcionaron en absoluto. En consecuencia, se abandonó la idea de los controles de suma. El paquete de matriz inicial demostró ser una herramienta de prueba de sistemas muy útil, ya que fue capaz de generar largas comprobaciones de rendimiento 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 No importa si lo llamas F— ". La verdad es más mundana: el nombre fue elegido esencialmente al azar por un director de marketing. [10] (Ver también KDF8 para el desarrollo paralelo y el uso de una computadora con orientación comercial).

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

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 lb (136 kg), almacén principal y unidad de control de entradas/salidas 3.500 (1.587 kg), unidad de control aritmética y principal 3.500 (1.587 kg), unidad de alimentación 3.000 (1.360 kg). [11]

Ver también

Notas

  1. ^ La verificación de suma protege igualmente bien contra errores de programación, en caso de que se sobrescriba inadvertidamente parte o la totalidad de una matriz.

Referencias

  1. ^ Roberts, Goronwy (6 de marzo de 1967). "Ordenadores". Debates parlamentarios (Hansard) . HC . Consultado el 8 de julio de 2017 .
  2. ^ "La computadora KDF9: 30 años después"
  3. ^ English Electric KDF9: sistema de procesamiento de datos de muy alta velocidad para comercio, industria y ciencia (PDF) (folleto del producto). Electricidad inglesa . C. 1961. Publicación No. DP/103. 096320WP/RP0961. Archivado (PDF) desde el original el 27 de julio de 2020 . Consultado el 27 de julio de 2020 .
  4. ^ David Holdsworth (invierno de 2009-2010). "Tiempo compartido de KDF9: ¡Eldon 2 no es EGDON!". RESURRECCIÓN informática - número 49 . Sociedad de Conservación de Computadoras . 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.
  6. ^ Weiss, Alan. "Dhrystone Benchmark: historia, análisis," puntuaciones "y recomendaciones" (PDF) .
  7. ^ Director - Manual (PDF) (Diagrama de flujo). Electricidad inglesa . C. Década de 1960. Archivado (PDF) desde el original el 27 de julio de 2020 . Consultado el 27 de julio de 2020 .(NB. Menciona el término "octal silábico".)
  8. ^ Beard, Bob (otoño de 1997) [1 de octubre de 1996]. "La computadora KDF9: 30 años después" (PDF) . Resurrección : el boletín de la Sociedad de Conservación de Computadoras . No. 18. Sociedad de Conservación de Computadoras (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 North West Group of the Society en el Museo de Ciencia e Industria, Manchester, Reino Unido, el 1 de octubre de 1996. Menciona el término "vago" y "vago". -octal" como equivalente a "octal silábico").
  9. «Arquitectura del ordenador English Electric KDF9» (PDF) . Versión 1. Sociedad de Conservación de Computadoras (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)Presentamos el 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 . pag. 27.

enlaces externos