ILÍACO IV

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Primera computadora masivamente paralela
ILLIAC IV ordenador paralelo CU

El ILLIAC IV fue el primer ordenador masivamente paralelo. El sistema se diseñó originalmente para tener 256 unidades de coma flotante (FPU) de 64 bits y cuatro unidades centrales de procesamiento (CPU) capaces de procesar mil millones de operaciones por segundo. Debido a restricciones presupuestarias, solo un único "cuadrante" con 64 FPU y una sola CPU. Dado que todas las FPU tenían que procesar la misma instrucción (ADD, SUB, etc.), en la terminología moderna, el diseño se consideraría como una sola instrucción, datos múltiples o SIMD.

El concepto de construir una computadora usando una variedad de procesadores se le ocurrió a Daniel Slotnick mientras trabajaba como programador en la máquina IAS en 1952. Un diseño formal no comenzó hasta 1960, cuando Slotnick trabajaba en Westinghouse Electric y organizó la financiación del desarrollo. bajo un contrato de la Fuerza Aérea de EE.UU. Cuando terminó esa financiación en 1964, Slotnick se mudó a la Universidad de Illinois y se unió al equipo de Illinois Automatic Computer (ILLIAC). Con fondos de la Agencia de Proyectos de Investigación Avanzada (ARPA), comenzaron el diseño de un concepto más nuevo con 256 procesadores de 64 bits en lugar del concepto original con 1024 procesadores de 1 bit.

Mientras se construía la máquina en Burroughs, la universidad comenzó a construir una nueva instalación para albergarla. La tensión política sobre la financiación del Departamento de Defensa de EE. UU. hizo que ARPA y la Universidad temieran por la seguridad de la máquina. Cuando se completó el primer cuadrante de 64 procesadores de la máquina en 1972, se envió al Centro de Investigación Ames de la NASA en California. Después de tres años de modificaciones exhaustivas para solucionar varios defectos, ILLIAC IV se conectó a ARPANET para uso distribuido en noviembre de 1975, convirtiéndose en la primera supercomputadora disponible en red, superando a Cray-1 por casi 12 meses.

Funcionando a la mitad de su velocidad de diseño, el ILLIAC IV de un cuadrante entregó un pico de 50 MFLOP, lo que lo convirtió en la computadora más rápida del mundo en ese momento. También se le atribuye ser la primera computadora grande en usar memoria de estado sólido, así como la computadora más compleja construida hasta la fecha, con más de 1 millón de puertas. Generalmente considerado un fracaso debido a los excesos presupuestarios masivos, el diseño fue fundamental en el desarrollo de nuevas técnicas y sistemas para la programación de sistemas paralelos. En la década de 1980, se entregaron con éxito varias máquinas basadas en los conceptos de ILLIAC IV.

Historia

Orígenes

En junio de 1952, Daniel Slotnick comenzó a trabajar en la máquina IAS en el Instituto de Estudios Avanzados (IAS) de la Universidad de Princeton. La máquina IAS presentaba una unidad matemática de bits paralelos que operaba con palabras de 40 bits. Originalmente equipado con memoria de tubo Williams, más tarde se agregó un tambor magnético de Engineering Research Associates. Este tambor tenía 80 pistas para que se pudieran leer dos palabras a la vez, y cada pista almacenaba 1.024 bits.

Mientras contemplaba el mecanismo del tambor, Slotnik comenzó a preguntarse si esa era la forma correcta de construir una computadora. Si los bits de una palabra se escribieran en serie en una sola pista, en lugar de en paralelo a lo largo de 40 pistas, los datos podrían introducirse en una computadora de bits en serie directamente desde el tambor, bit a bit. El tambor aún tendría varias pistas y cabezas, pero en lugar de recopilar una palabra y enviarla a una sola ALU, en este concepto, los datos de cada pista se leerían poco a poco y se enviarían a ALU paralelas. Esta sería una computadora en serie de bits y palabra paralela.

Slotnick planteó la idea en la IAS, pero John von Neumann la descartó porque requería 'demasiados tubos'. Slotnick dejó la IAS en febrero de 1954 para regresar a la escuela para obtener su doctorado y el asunto quedó en el olvido.

SOLOMÓN

Después de completar su doctorado y algunos trabajos de posdoctorado, Slotnick terminó en IBM. En ese momento, al menos para la computación científica, los tubos y tambores habían sido reemplazados por transistores y memoria central. La idea de procesadores paralelos trabajando en diferentes flujos de datos desde un tambor ya no tenía el mismo atractivo obvio. Sin embargo, una mayor consideración mostró que las máquinas paralelas aún podrían ofrecer un rendimiento significativo en algunas aplicaciones; Slotnick y un colega, John Cocke, escribieron un artículo sobre el concepto en 1958.

Después de un breve período en IBM y luego otro en Aeronca Aircraft, Slotnick terminó en la división Air Arm de Westinghouse, que trabajaba en radares y sistemas similares. En virtud de un contrato del RADC de la Fuerza Aérea de EE. UU., Slotnik pudo formar un equipo para diseñar un sistema con ALU seriales de 1024 bits, conocidas como "elementos de procesamiento" o PE's. A este diseño se le dio el nombre de SALOMÓN, en honor al rey Salomón, que era muy sabio y tenía 1.000 esposas.

Los PE's recibirían instrucciones de una sola unidad central de procesamiento (CPU) maestra, la 'unidad de control'. o CU. La CU de SOLOMON leía las instrucciones de la memoria, las decodificaba y luego las entregaba a los PE para su procesamiento. Cada PE tenía su propia memoria para almacenar operandos y resultados, el módulo de memoria PE o PEM. La CU podía acceder a toda la memoria a través de un bus de memoria dedicado, mientras que los PE solo podían acceder a su propio PEM. Para permitir que los resultados de un PE se utilicen como entradas en otro, una red separada conectaba cada PE con sus ocho vecinos más cercanos.

Se construyeron varios sistemas de banco de pruebas, incluido un sistema de 3 por 3 (9 PE) y un modelo de 10 por 10 con PE simplificados. Durante este período, se consideraron diseños PE más complejos, convirtiéndose en un sistema paralelo de 24 bits que estaría organizado en un arreglo de 256 por 32. En 1963 se construyó un solo PE con este diseño. A medida que continuaba el trabajo de diseño, el patrocinador principal dentro del Departamento de Defensa de EE. UU. murió en un accidente y no se recibieron más fondos.

Para continuar con el desarrollo, Slotnik se acercó a Livermore, quien en ese momento había estado a la vanguardia de las compras de supercomputadoras. Estaban muy interesados en el diseño, pero lo convencieron de actualizar las unidades matemáticas de punto fijo del diseño actual a punto flotante real, lo que resultó en el diseño SOLOMON.2.

Livermore no financiaría el desarrollo, sino que ofreció un contrato en el que arrendarían la máquina una vez que se completara. La gerencia de Westinghouse lo consideró demasiado arriesgado y cerró el equipo. Slotnik dejó Westinghouse intentando encontrar capital de riesgo para continuar con el proyecto, pero fracasó. Livermore luego seleccionaría el CDC STAR-100 para esta función, ya que CDC estaba dispuesto a asumir los costos de desarrollo.

ILÍACO IV

Cuando terminó SOLOMON, Slotnick se unió al equipo de diseño de computadoras automáticas de Illinois (ILLIAC) en la Universidad de Illinois en Urbana-Champaign. Illinois había estado diseñando y construyendo computadoras grandes para el Departamento de Defensa de EE. UU. y la Agencia de Proyectos de Investigación Avanzada (ARPA) desde 1949. En 1964, la Universidad firmó un contrato con ARPA para financiar el esfuerzo, que se conoció como ILLIAC IV, ya que fue la cuarta computadora diseñada y creada en la Universidad. El desarrollo comenzó en 1965 y se completó un diseño de primera pasada en 1966.

En contraste con el concepto bit-serial de SOLOMON, en ILLIAC IV los PE's se actualizaron para ser procesadores completos de 64 bits (bit-paralelo), usando 12 000 puertas y 2048 palabras de memoria de película delgada.. Los PE tenían cinco registros de 64 bits, cada uno con un propósito especial. Uno de estos, RGR, se usó para comunicar datos a los PE vecinos, moviéndose un "salto" por ciclo de reloj. Otro registro, RGD, indicaba si ese PE estaba activo o no. "Inactivo" Los PE no podían acceder a la memoria, pero pasaban los resultados a los PE vecinos mediante el RGR. Los PE se diseñaron para funcionar como una única FPU de 64 bits, dos FPU de media precisión de 32 bits u ocho procesadores de punto fijo de 8 bits.

En lugar de 1024 PE y una sola CU, el nuevo diseño tenía un total de 256 PE organizados en cuatro "cuadrantes" de 64 PE, cada uno con su propia CU. Las CU's también eran diseños de 64 bits, con sesenta y cuatro registros de 64 bits y otros cuatro acumuladores de 64 bits. El sistema podría funcionar como cuatro máquinas independientes de 64 PE, dos máquinas de 128 PE o una sola máquina de 256 PE. Esto permitió que el sistema funcionara en diferentes problemas cuando los datos eran demasiado pequeños para demandar todo el arreglo 256-PE.

Basada en un reloj de 25 MHz, con todos los 256-PE ejecutándose en un solo programa, la máquina se diseñó para entregar mil millones de operaciones de coma flotante por segundo, o en la terminología actual, 1 GFLOPS. Esto lo hizo mucho más rápido que cualquier máquina en el mundo; el CDC 7600 contemporáneo tenía un ciclo de reloj de 27,5 nanosegundos, o 36 MIPS, aunque por diversas razones generalmente ofrecía un rendimiento más cercano a los 10 MIPS.

Para dar soporte a la máquina, se construyó una ampliación de los edificios del Laboratorio de Computación Digital. El trabajo de muestra en la Universidad se dirigió principalmente a formas de llenar de manera eficiente los PE con datos, realizando así la primera "prueba de estrés" en el desarrollo de computadoras. Para hacer esto lo más fácil posible, se crearon varios lenguajes de programación nuevos; IVTRAN y TRANQUIL eran versiones paralelas de FORTRAN y Glypnir era una conversión similar de ALGOL. En general, estos lenguajes brindaron soporte para cargar conjuntos de datos 'a través de' los PE se ejecutarán en paralelo, y algunos incluso admitieron la conversión de bucles en operaciones de matriz.

Construcción, problemas

A principios de 1966, la Universidad envió una Solicitud de propuestas en busca de socios industriales interesados en construir el diseño. En julio se recibieron diecisiete respuestas, respondieron siete y de estas tres fueron seleccionadas. Varias de las respuestas, incluida Control Data, intentaron interesarlos en un diseño de procesador vectorial, pero como ya se estaban diseñando, el equipo no estaba interesado en construir otro. En agosto de 1966, se ofrecieron contratos de ocho meses a RCA, Burroughs y Univac para ofertar por la construcción de la máquina.

Burroughs finalmente ganó el contrato, habiéndose asociado con Texas Instruments (TI). Ambos ofrecían nuevos avances técnicos que hacían de lo más interesante su oferta. Burroughs estaba ofreciendo construir una versión nueva y mucho más rápida de memoria de película delgada que mejoraría el rendimiento. TI estaba ofreciendo construir circuitos integrados (IC) de lógica acoplada a emisor (ECL) de 64 pines con 20 puertas lógicas cada uno. En ese momento, la mayoría de los circuitos integrados usaban paquetes de 16 pines y tenían entre 4 y 7 puertas. El uso de circuitos integrados de TI haría que el sistema fuera mucho más pequeño.

Burroughs también suministró las unidades de disco especializadas, que presentaban un cabezal estacionario independiente para cada pista y podían ofrecer velocidades de hasta 500 Mbit/s y almacenar alrededor de 80 MB por disco de 36 " disco. También proporcionarían un mainframe Burroughs B6500 para actuar como un controlador de front-end, cargando datos desde el almacenamiento secundario y realizando otras tareas de limpieza. Conectado al B6500 había un medio de grabación óptica láser de terceros, un sistema de escritura única que almacenaba hasta 1 Tbit en una película de metal delgada recubierta en una tira de lámina de poliéster transportada por un tambor giratorio. La construcción del nuevo diseño comenzó en Burroughs' Laboratorio Gran Valle. En ese momento, se estimó que la máquina se entregaría a principios de 1970.

Después de un año de trabajar en los circuitos integrados, TI anunció que no había podido construir los diseños de 64 pines. El cableado interno más complejo estaba causando diafonía en los circuitos y pidieron otro año para solucionar los problemas. En cambio, el equipo de ILLIAC optó por rediseñar la máquina en función de los circuitos integrados de 16 pines disponibles. Esto requería que el sistema funcionara más lento, utilizando un reloj de 16 MHz en lugar de los 25 MHz originales. El cambio de 64 pines a 16 pines le costó al proyecto alrededor de dos años y millones de dólares. TI pudo hacer que el diseño de 64 pines funcionara después de poco más de un año y comenzó a ofrecerlos en el mercado antes de que ILLIAC estuviera completo.

Como resultado de este cambio, las placas de PC individuales crecieron aproximadamente 1 pulgada (2,5 cm) cuadradas a aproximadamente 6 por 10 pulgadas (15 cm × 25 cm). Este condenado Burroughs' esfuerzos para producir una memoria de película delgada para la máquina, porque ahora ya no había suficiente espacio para que la memoria cupiera dentro de los gabinetes del diseño. Los intentos de aumentar el tamaño de los gabinetes para hacer espacio para la memoria causaron serios problemas con la propagación de la señal. Slotnick examinó los reemplazos potenciales y eligió una memoria de semiconductores de Fairchild Semiconductor, una decisión a la que Burroughs se opuso tanto que siguió una revisión completa por parte de ARPA.

En 1969, estos problemas, combinados con los sobrecostos resultantes de los retrasos, llevaron a la decisión de construir un solo cuadrante de 64 PE, lo que limitaba la velocidad de la máquina a unos 200 MFLOPS. Juntos, estos cambios le costaron al proyecto tres años y $6 millones. En 1969, el proyecto gastaba $ 1 millón por mes y tuvo que separarse del equipo original de ILLIAC, que se oponía cada vez más al proyecto.

Mudarse a Ames

Para 1970, la máquina finalmente se estaba construyendo a un ritmo razonable y estaba lista para su entrega en aproximadamente un año. El 6 de enero de 1970, The Daily Illini, el periódico estudiantil, afirmó que la computadora se usaría para diseñar armas nucleares. En mayo, se produjeron los tiroteos en Kent State y estalló la violencia contra la guerra en los campus universitarios.

Slotnick llegó a oponerse al uso de la máquina en investigaciones clasificadas y anunció que, mientras fuera en los terrenos de la universidad, todo el procesamiento que tuviera lugar en la máquina se haría público. También le preocupaba cada vez más que la máquina fuera objeto de ataques por parte de los grupos estudiantiles más radicales. una posición que parecía acertada después de que los estudiantes locales se unieran a la huelga estudiantil nacional del 9 de mayo de 1970 al declarar un 'día de Illiaction', y especialmente el bombardeo del edificio de matemáticas en la Universidad de Wisconsin-Madison el 24 de agosto.

Con la ayuda de Hans Mark, el director del Centro de Investigación Ames de la NASA en lo que se estaba convirtiendo en Silicon Valley, en enero de 1971 se tomó la decisión de entregar la máquina a Ames en lugar de a la universidad. Ubicado en una base activa de la Marina de los EE. UU. y protegido por los marines de los EE. UU., la seguridad ya no sería una preocupación. La máquina fue finalmente entregada a Ames en abril de 1972 e instalada en el Centro de Informática del edificio N-233. En este punto, tenía varios años de retraso y estaba muy por encima del presupuesto con un precio total de $ 31 millones, casi cuatro veces la estimación original de $ 8 millones para la máquina 256-PE completa.

NASA también decidió reemplazar la máquina frontal B6500 con una PDP-10, que eran de uso común en Ames y facilitaría mucho la conexión a ARPAnet. Esto requirió el desarrollo de nuevo software, especialmente compiladores, en el PDP-10. Esto provocó más retrasos en la puesta en línea de la máquina.

El Illiac IV fue contratado para ser administrado por ACTS Computing Corporation con sede en Southfield, MI, una empresa de tiempo compartido y entrada de trabajo remota (RJE) que había sido adquirida recientemente por el conglomerado Lear Siegler Corporation. El DoD contrató a ACTS bajo un contrato de costo más 10%. Este arreglo inusual se debió a la restricción de que a ningún empleado del gobierno se le podía pagar más que a un miembro del Congreso y mucho personal de Illiac IV ganaba más que ese límite. El Dr. Mel Pirtle, con experiencia en la Universidad de California, Berkeley y Berkeley Computer Corporation (BCC), fue contratado como director de Illiac IV.

Haciendo que funcione

ILLIAC IV Unidad de procesamiento en exhibición en el Museo de Historia Informática.

Cuando la máquina llegó por primera vez, no se pudo hacer funcionar. Sufrió todo tipo de problemas, desde PCB agrietados, resistencias defectuosas, hasta que el empaque de los circuitos integrados de TI era muy sensible a la humedad. Estos problemas se abordaron lentamente y, en el verano de 1973, los primeros programas pudieron ejecutarse en el sistema, aunque los resultados fueron muy cuestionables. A partir de junio de 1975, comenzó un esfuerzo concertado de cuatro meses que requirió, entre otros cambios, reemplazar 110 000 resistencias, volver a cablear partes para solucionar problemas de retraso de propagación, mejorar el filtrado en las fuentes de alimentación y una mayor reducción en la velocidad del reloj a 13 MHz. Al final de este proceso, el sistema finalmente estaba funcionando correctamente.

A partir de ese momento, el sistema funcionó de lunes por la mañana a viernes por la tarde, proporcionando 60 horas de tiempo de actividad para los usuarios, pero requirió 44 horas de tiempo de inactividad programado. Sin embargo, se usó cada vez más a medida que los programadores de la NASA aprendieron formas de obtener rendimiento del complejo sistema. Al principio, el rendimiento era pésimo, con la mayoría de los programas ejecutándose a alrededor de 15 MFLOPS, aproximadamente tres veces el promedio del CDC 7600. Con el tiempo, esto mejoró, especialmente después de que los programadores de Ames escribieron su propia versión de FORTRAN, CFD y aprendieron a utilizar I en paralelo. /O en los PEM limitados. En los problemas que podían paralelizarse, la máquina seguía siendo la más rápida del mundo, superando a la CDC 7600 entre dos y seis veces, y generalmente se la considera la máquina más rápida del mundo hasta 1981.

El 7 de septiembre de 1981, después de casi 10 años de funcionamiento, se apagó el ILLIAC IV. La máquina fue desmantelada oficialmente en 1982, y la división de computación avanzada de la NASA terminó con ella. Una unidad de control y un chasis de elemento de procesamiento de la máquina ahora se exhiben en el Museo de Historia de la Computación en Mountain View, a menos de una milla de su sitio operativo.

Consecuencias

ILLIAC llegó muy tarde, fue muy costoso y nunca alcanzó su objetivo de producir 1 GFLOP. Fue ampliamente considerado un fracaso incluso por quienes trabajaron en él; uno declaró simplemente que "cualquier observador imparcial debe considerar a Illiac IV como un fracaso en un sentido técnico". En términos de gestión de proyectos, se considera un fracaso, ya que superó sus estimaciones de costos cuatro veces y requirió años de esfuerzos correctivos para que funcione. Como el propio Slotnik lo expresó más tarde:

Estoy amargamente decepcionado, y muy contento... encantado y consternado. Encantada de que los objetivos generales surgieran bien al final. Consternado de que costó demasiado, tomó demasiado tiempo, no hace suficiente, y no hay suficiente gente que lo está usando.

Sin embargo, análisis posteriores señalan que el proyecto tuvo varios efectos duraderos en el mercado informático en general, tanto de forma intencionada como no intencionada.

Entre los efectos indirectos estuvo la rápida actualización de la memoria de semiconductores después del proyecto ILLIAC. Slotnick recibió muchas críticas cuando eligió a Fairchild Semiconductor para producir los circuitos integrados de memoria, ya que en ese momento la línea de producción era una sala vacía y el diseño solo existía en papel. Sin embargo, después de tres meses de intenso esfuerzo, Fairchild tenía un diseño de trabajo producido en masa. Como Slotnick comentaría más tarde, "Fairchild hizo un trabajo magnífico al sacar nuestras castañas del fuego". Los recuerdos de Fairchild fueron magníficos y su confiabilidad hasta el día de hoy es increíblemente buena." Se considera que ILLIAC asestó un golpe mortal a la memoria central y los sistemas relacionados, como la película delgada.

Otro efecto indirecto fue causado por la complejidad de las placas de circuito impreso (PCB) o módulos. A la velocidad de diseño original de 25 MHz, la impedancia en el cableado a tierra resultó ser un problema grave y exigió que las PCB fueran lo más pequeñas posible. A medida que crecía su complejidad, los PCB tenían que agregar más y más capas para evitar crecer. Eventualmente, alcanzaron 15 capas de profundidad, lo que resultó estar mucho más allá de las capacidades de los dibujantes. El diseño finalmente se completó utilizando nuevas herramientas de diseño automatizadas proporcionadas por un subcontratista, y el diseño completo requirió dos años de tiempo de computadora en un mainframe de Burroughs. Este fue un gran paso adelante en el diseño asistido por computadora y, a mediados de la década de 1970, tales herramientas eran comunes.

ILLIAC también condujo a una importante investigación sobre el tema del procesamiento paralelo que tuvo efectos de gran alcance. Durante la década de 1980, con la caída del precio de los microprocesadores según la Ley de Moore, varias empresas crearon MIMD (Instrucción Múltiple, Datos Múltiples) para construir aún más máquinas paralelas, con compiladores que pudieran hacer un mejor uso del paralelismo. Thinking Machines CM-5 es un excelente ejemplo del concepto MIMD. Fue la mejor comprensión del paralelismo en ILLIAC lo que condujo a compiladores y programas mejorados que podían aprovechar estos diseños. Como dijo un programador de ILLIAC: "Si alguien construye una computadora rápida a partir de muchos microprocesadores, Illiac IV habrá aportado su granito de arena en el esquema general de las cosas".

La mayoría de las supercomputadoras de la época adoptaron otro enfoque para lograr un mayor rendimiento, utilizando un único procesador vectorial de muy alta velocidad. Similar al ILLIAC en algunos aspectos, estos diseños de procesador cargaron muchos elementos de datos en un solo procesador personalizado en lugar de una gran cantidad de procesadores especializados. El ejemplo clásico de este diseño es el Cray-1, que tuvo un rendimiento similar al ILLIAC. Hubo más que una pequeña "reacción violenta" contra el diseño de ILLIAC como resultado, y durante algún tiempo el mercado de las supercomputadoras miró con desdén los diseños masivamente paralelos, incluso cuando tenían éxito. Como bromeó Seymour Cray: 'Si estuvieras arando un campo, ¿cuál preferirías usar? ¿Dos bueyes fuertes o 1024 gallinas?"

Descripción

Disposición física

Cada cuadrante de la máquina tenía 10 pies (3 m) de alto, 8 pies (2,4 m) de profundidad y 50 pies (15 m) de largo. Dispuesto junto al cuadrante estaba su sistema de entrada/salida (E/S), cuyo sistema de disco almacenaba 2,5 GiB y podía leer y escribir datos a mil millones de bits por segundo, junto con la computadora B6700 que se conectaba a la máquina a través de los mismos 1024- interfaz bit-wide como el sistema de disco.

La máquina constaba de una serie de chasis portadores que contenían varios módulos pequeños. La mayoría de estos eran las Unidades de procesamiento (PU), que contenían los módulos para un solo PE, su PEM y la Unidad lógica de memoria que manejaba la traducción de direcciones y las E/S. Las PU eran idénticas, por lo que podían reemplazarse o reordenarse según fuera necesario.

Detalles del procesador

Cada CU tenía entre 30 y 40 000 puertas. La CU tenía dieciséis registros de 64 bits y un "bloc de notas" de 64 bits de sesenta y cuatro ranuras, LDB. Había cuatro acumuladores, AC0 a AC3, un contador de programa ILR y varios registros de control. El sistema tenía una canalización de instrucción breve e implementó la instrucción anticipada.

Los PE tenían alrededor de 12 000 puertas. Incluía cuatro registros de 64 bits, usando un acumulador A, un búfer de operandos B y un scratchpad secundario S. El cuarto, R, se usaba para transmitir o recibir datos de los otros PE. Los PE utilizaron un sumador de acarreo anticipado, un detector de uno principal para operaciones booleanas y un desplazador de barril. Las adiciones de 64 bits tomaron alrededor de 200 ns y las multiplicaciones alrededor de 400 ns. Los PE's estaban conectados a un banco de memoria privado, el PEM, que contenía 2048 palabras de 64 bits. El tiempo de acceso era del orden de 250 ns. Los PE usaban una arquitectura de carga/almacenamiento.

El conjunto de instrucciones (ISA) contenía dos conjuntos de instrucciones separados, uno para la CU (o una unidad dentro de ella, ADVAST) y otro para los PE. Las instrucciones para los PE no se descodificaron y, en su lugar, se enviaron directamente al registro FINST para que se enviaran a los PE para su procesamiento. Las instrucciones de ADVAST se descodificaron y entraron en la canalización de procesamiento de CU.

Disposición lógica

Cada cuadrante contenía 64 PE y una CU. La CU tenía acceso a todo el bus de E/S y podía direccionar toda la memoria de la máquina. Los PE solo podían acceder a su propio almacén local, el PEM, de 2.048 palabras de 64 bits. Tanto los PE como las CU podrían usar operaciones de carga y almacenamiento para acceder al sistema de disco.

Los gabinetes eran tan grandes que se requerían 240 ns para que las señales viajaran de un extremo al otro. Por esta razón, la CU no se podía usar para coordinar acciones; en cambio, todo el sistema era sincronizado con el reloj y se garantizaba que todas las operaciones en los PE tomarían la misma cantidad de tiempo sin importar cuáles fueran los operandos. De esa forma, la CU podría estar segura de que las operaciones se completaron sin tener que esperar los resultados o los códigos de estado.

Para mejorar el rendimiento de las operaciones que requerían que la salida de los resultados de un PE se utilizara como entrada para otro PE, los PE se conectaron directamente a sus vecinos, así como a los que estaban a ocho pasos de distancia: por ejemplo, PE1 se conectó directamente a PE0 y PE2, así como a PE9 y PE45. Las conexiones a ocho distancias permitieron un transporte más rápido cuando los datos necesitaban viajar entre PE más distantes. Cada turno de datos movió 64 palabras en un solo ciclo de reloj de 125 ns.

El sistema usaba un formato de una dirección, en el que las instrucciones incluían la dirección de uno de los operandos y el otro operando estaba en el acumulador del PE (el registro A). La dirección se envió a los PE a través de una "emisión" autobús. Dependiendo de la instrucción, el valor en el bus puede referirse a una ubicación de memoria en el PEM del PE, un valor en uno de los registros del PE o una constante numérica.

Dado que cada PE tenía su propia memoria, mientras que el formato de instrucción y las CU veían todo el espacio de direcciones, el sistema incluía un registro de índice (X) para compensar la dirección base. Esto permitió, por ejemplo, que el mismo flujo de instrucciones funcionara con datos que no estaban alineados en las mismas ubicaciones en diferentes PE. El ejemplo común sería una matriz de datos que se cargó en diferentes ubicaciones en los PEM, que luego podrían uniformarse configurando el índice en los diferentes PE.

Sucursales

En los diseños de computadora tradicionales, las instrucciones se cargan en la CPU una a la vez a medida que se leen de la memoria. Normalmente, cuando la CPU completa el procesamiento de una instrucción, el contador de programa (PC) se incrementa en una palabra y se lee la siguiente instrucción. Este proceso es interrumpido por bifurcaciones, lo que hace que la PC salte a una de dos ubicaciones según una prueba, como si una dirección de memoria determinada tiene un valor distinto de cero. En el diseño de ILLIAC, cada PE aplicaría esta prueba a valores diferentes y, por lo tanto, tendría resultados diferentes. Dado que esos valores son privados para el PE, las siguientes instrucciones deberían cargarse en función de un valor que solo el PE conocía.

Para evitar los retrasos que causaría la recarga de las instrucciones PE, ILLIAC cargó los PEM con las instrucciones en ambos lados de la rama. Las pruebas lógicas no cambiaron la PC, sino que establecieron "bits de modo" que le decía al PE si ejecutar o no la siguiente instrucción aritmética. Para usar este sistema, el programa se escribiría de modo que uno de los dos posibles flujos de instrucciones siguiera la prueba y terminara con una instrucción para invertir los bits. Luego seguiría el código para la segunda rama, que termina con una instrucción para establecer todos los bits en 1.

Si la prueba seleccionó el "primero" rama, ese PE continuaría con normalidad. Cuando llegaba al final de ese código, la instrucción del operador de modo cambiaría los bits de modo y, a partir de ese momento, PE ignoraría más instrucciones. Esto continuaría hasta llegar al final del código para la segunda rama, donde la instrucción de reinicio de modo volvería a encender el PE. Si una prueba de PE en particular dio como resultado que se tomara la segunda bifurcación, en su lugar establecería los bits de modo para ignorar más instrucciones hasta llegar al final de la primera bifurcación, donde el operador de modo cambiaría los bits y causaría la segunda. rama para comenzar a procesar, una vez más encendiéndolos todos al final de esa rama.

Dado que los PE pueden funcionar en modos de 64, 32 y 8 bits, los indicadores de modo tenían varios bits para que las palabras individuales se pudieran activar o desactivar. Por ejemplo, en el caso de que el PE estuviera funcionando en modo de 32 bits, un "lado" del PE podría hacer que la prueba resulte verdadera mientras que el otro lado fue falso.

Terminología

  • CU: unidad de control
  • CPU: unidad central de procesamiento
  • ISA: estructura de instrucciones
  • MAC: multiplicar y acumular
  • PC: contador del programa
  • PE: elemento de procesamiento
  • PEM: módulo de memoria de elementos de procesamiento
  • PU: unidad de procesamiento

Contenido relacionado

Estructura de datos

En informática, una estructura de datos es un formato de organización, gestión y almacenamiento de datos que generalmente se elige para un acceso eficiente...

Debian

Debian también conocida como Debian GNU/Linux, es una distribución de Linux compuesta por software libre y de código abierto, desarrollada por el Proyecto...

Teleférico (ferrocarril)

Un teleférico es un tipo de teleférico que se utiliza para el transporte público en el que los vagones son transportados continuamente cable en movimiento...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save