stringtranslate.com

ILÍACO IV

Unidad de control (CU) de la computadora paralela ILLIAC IV

El ILLIAC IV fue el primer ordenador masivamente paralelo . [1] El sistema fue diseñado originalmente para tener 256 unidades de punto flotante (FPU) de 64 bits y cuatro unidades centrales de procesamiento (CPU) capaces de procesar mil millones de operaciones por segundo. [2] Debido a restricciones presupuestarias, sólo se construyó un único "cuadrante" con 64 FPU y una sola CPU. Dado que todas las FPU procesaron la misma instrucción ( , etc.), en la terminología moderna, el diseño se consideraría de instrucción única, datos múltiples o SIMD. [3]ADDSUB

La idea de construir una computadora utilizando una serie 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 consiguió financiación para el desarrollo bajo un acuerdo estadounidense. Contrato de la Fuerza Aérea . Cuando esa financiación terminó en 1964, Slotnick se mudó a la Universidad de Illinois Urbana-Champaign y se unió al equipo de Illinois Automatic Computer (ILLIAC). Con financiación 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 1.024 procesadores de 1 bit.

Mientras Burroughs ensamblaba la máquina , la universidad comenzó a construir una nueva instalación para albergarla. La tensión política por la financiación del Departamento de Defensa de EE.UU. llevó a la ARPA y a la universidad a temer 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 corregir 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 la 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, [4] convirtiéndolo en la computadora más rápida del mundo en ese momento. También se le atribuye ser la primera computadora grande en utilizar memoria de estado sólido , así como la computadora más compleja construida hasta esa fecha, con más de 1 millón de puertas. [5] Generalmente considerado un fracaso debido a sobrecostos presupuestarios masivos, [5] [6] el diseño fue fundamental en el desarrollo de nuevas técnicas y sistemas para programar sistemas paralelos. En los años 80 se entregaron con éxito varias máquinas basadas en los conceptos 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 . [7] La ​​máquina IAS presentaba una unidad matemática de bits paralelos que operaba con palabras de 40 bits . [8] 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. [9]

Mientras contemplaba el mecanismo del tambor, Slotnik empezó 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 en 40 pistas, entonces los datos podrían introducirse en una computadora de bits en serie directamente desde el tambor, bit a bit. El tambor seguiría teniendo varias pistas y parches, pero en lugar de reunir una palabra y enviarla a una única 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 de bits en serie y paralela a palabras. [7]

Slotnick planteó la idea en la IAS, pero John von Neumann la descartó por considerar que requería "demasiados tubos". [7] Slotnick dejó la IAS en febrero de 1954 para regresar a la escuela para realizar su doctorado y el asunto quedó olvidado. [7]

SALOMÓN

Después de completar su doctorado y algunos trabajos de posdoctorado, Slotnick terminó en IBM . Para entonces, al menos para la informática científica, los tubos y tambores habían sido reemplazados por transistores y memorias de núcleo magnético . La idea de procesadores paralelos trabajando en diferentes flujos de datos desde un tambor ya no tenía el mismo atractivo obvio. Sin embargo, un examen más detenido demostró que las máquinas paralelas aún podrían ofrecer un rendimiento significativo en algunas aplicaciones; Slotnick y un colega, John Cocke (más conocido como el inventor de RISC ), escribieron un artículo sobre el concepto en 1958. [10]

Después de un breve tiempo en IBM y luego otro en Aeronca Aircraft , Slotnick acabó en la división Air Arm de Westinghouse , que trabajaba en radares y sistemas similares. [11] 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 en serie de 1.024 bits, conocidos como "elementos de procesamiento" o PE. 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. [12]

Los PE recibirían instrucciones de una única unidad central de procesamiento (CPU) maestra, la "unidad de control" o CU. La CU de SOLOMON leería instrucciones de la memoria, las decodificaría y luego las entregaría a las PE para su procesamiento. Cada PE tenía su propia memoria para guardar 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 las PE sólo podían acceder a su propio PEM. [13] 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. [14]

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 dio cierta consideración a diseños de PE más complejos, convirtiéndose en un sistema paralelo de 24 bits que se organizaría en una disposición de 256 por 32. En 1963 se construyó un único PE con este diseño. Mientras 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. [15]

Buscando 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 verdadero , lo que resultó en el diseño SOLOMON.2. [dieciséis]

Livermore no financiaría el desarrollo; en cambio, ofrecieron un contrato en el que alquilarían la máquina una vez que estuviera terminada. La dirección 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ó. Más tarde, Livermore seleccionaría el CDC STAR-100 para esta función, ya que CDC estaba dispuesto a asumir los costos de desarrollo. [17]

ILÍACO IV

Cuando SOLOMON terminó, 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 grandes computadoras para el Departamento de Defensa de Estados Unidos 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 era la cuarta computadora diseñada y creada en la universidad. El desarrollo comenzó en 1965 y un diseño de primer paso se completó en 1966. [18]

En contraste con el concepto de bits en serie de SOLOMON, en ILLIAC IV los PE se actualizaron para que sean procesadores completos de 64 bits (bits paralelos), utilizando 12.000 puertas y 2.048 palabras de memoria de película delgada . [19] Los PE tenían cinco registros de 64 bits, cada uno con un propósito especial. Uno de ellos, RGR, se utilizó para comunicar datos a los PE vecinos, moviéndose un "salto" por ciclo de reloj. Otro registro, el RGD, indicó si ese PE se encontraba actualmente activo o no. Los PE "inactivos" no podían acceder a la memoria, pero pasarían los resultados a los PE vecinos utilizando el RGR. [14] Los PE fueron diseñados 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. [19]

En lugar de 1.024 PE y una única 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 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 trabajara en diferentes problemas cuando los datos eran demasiado pequeños para demandar todo el conjunto de 256 PE. [19]

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

Para soportar la máquina, se construyó una ampliación de los edificios del Laboratorio de Computación Digital. [23] [24] El trabajo de muestra en la universidad estaba dirigido principalmente a formas de llenar eficientemente los PE con datos, realizando así la primera "prueba de estrés" en el desarrollo informático. Para que esto sea lo más fácil posible, se crearon varios lenguajes informáticos nuevos; IVTRAN y TRANQUIL eran versiones paralelizadas de FORTRAN , y Glypnir era una conversión similar de ALGOL . Generalmente, estos lenguajes brindaban soporte para cargar matrices de datos "a través" de los PE para ejecutarlos en paralelo, y algunos incluso admitían el desenrollado de bucles en operaciones de matriz. [25]

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, siete respondieron y de ellas tres fueron seleccionadas. [26] 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. [19]

Burroughs finalmente ganó el contrato, habiéndose asociado con Texas Instruments (TI). Ambos ofrecieron nuevos avances técnicos que hicieron 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 ofrecía construir circuitos integrados (CI) de lógica de emisor acoplado (ECL) de 64 pines con 20 puertas lógicas cada uno. [c] 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. [19]

Burroughs también suministró las unidades de disco especializadas , que presentaban un cabezal estacionario separado para cada pista y podían ofrecer velocidades de hasta 500 Mbit/s y almacenar alrededor de 80 MB por disco de 36". También proporcionarían una computadora central Burroughs B6500 para actuar como unidad frontal. Controlador final, cargar datos desde el almacenamiento secundario y realizar 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 delgada película metálica recubierta sobre una tira de lámina de poliéster. transportado por un tambor giratorio La construcción del nuevo diseño comenzó en el Great Valley Lab de Burroughs [13] En ese momento, se estimó que la máquina se entregaría a principios de 1970. [27]

Después de un año de trabajar en los circuitos integrados, TI anunció que no habían podido construir los diseños de 64 pines. El cableado interno más complejo estaba provocando interferencias 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 basándose en los circuitos integrados de 16 pines disponibles. Esto requirió que el sistema funcionara más lento, usando un reloj de 16 MHz en lugar de los 25 MHz originales. [28] El cambio de 64 pines a 16 pines le costó al proyecto aproximadamente dos años y millones de dólares. TI pudo hacer funcionar el diseño de 64 pines después de poco más de un año y comenzó a ofrecerlos en el mercado antes de que ILLIAC estuviera completo. [28]

Como resultado de este cambio, las placas de PC individuales crecieron aproximadamente 1 pulgada (2,5 cm) cuadradas hasta aproximadamente 6 por 10 pulgadas (15 cm × 25 cm). Esto condenó al fracaso los esfuerzos de Burroughs por 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 dejar espacio para la memoria causaron serios problemas con la propagación de la señal. [29] Slotnick examinó los posibles reemplazos y eligió una memoria semiconductora de Fairchild Semiconductor , una decisión a la que Burroughs se opuso tanto que siguió una revisión completa por parte de ARPA. [19]

En 1969, estos problemas, combinados con los sobrecostos resultantes de los retrasos, llevaron a la decisión de construir sólo un cuadrante de 64 PE, [19] limitando así la velocidad de la máquina a unos 200 MFLOPS. [30] En conjunto, estos cambios le costaron al proyecto tres años y 6 millones de dólares. [19] En 1969, el proyecto gastaba 1 millón de dólares al mes y tuvo que separarse del equipo original de ILLIAC, que se estaba volviendo cada vez más expresivo en su oposición al proyecto. [31]

Mudarse a Ames

En 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 el ordenador se utilizaría para diseñar armas nucleares. [32] En mayo, tuvieron lugar los tiroteos en Kent State y la violencia contra la guerra estalló en los campus universitarios. [31]

Slotnick empezó a oponerse al uso de la máquina en investigaciones clasificadas y anunció que, siempre que 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. [31] 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 declarando un "día de Illiacción", [33] y especialmente el atentado del 24 de agosto contra el edificio de matemáticas de la Universidad de Wisconsin-Madison . [34]

Con la ayuda de Hans Mark , 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 finalmente se entregó a Ames en abril de 1972 y se instaló en la Instalación Central de Computación en el edificio N-233. [35] En este punto, tenía varios años de retraso y estaba muy por encima del presupuesto con un precio total de 31 millones de dólares, casi cuatro veces la estimación original de 8 millones de dólares para la máquina 256-PE completa. [31] [2] [d] [e]

La NASA también decidió reemplazar la máquina frontal B6500 con una PDP-10 , que era de uso común en Ames y haría mucho más fácil la conexión a ARPAnet. [36] Esto requirió el desarrollo de nuevo software, especialmente compiladores, en el PDP-10. Esto provocó más retrasos en la puesta en funcionamiento de la máquina. [31]

El Illiac IV fue contratado para ser administrado por ACTS Computing Corporation con sede en Southfield, MI, una empresa de tiempo compartido y entrada remota de trabajos (RJE) que había sido adquirida recientemente por el conglomerado Lear Siegler Corporation . El Departamento de Defensa 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 muchos miembros del personal de Illiac IV ganaban 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 del Illiac IV.

Haciendo que funcione

Unidad de procesamiento ILLIAC IV en exhibición en el Museo de Historia de la Computación

Cuando llegó la máquina por primera vez, no se pudo hacer que funcionara. Sufrió todo tipo de problemas, desde placas de circuito impreso agrietadas hasta resistencias defectuosas y el embalaje de los TI IC 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, recablear piezas para solucionar problemas de retardo de propagación, mejorar el filtrado en las fuentes de alimentación y una reducción adicional de la velocidad del reloj a 13 MHz. Al final de este proceso, el sistema finalmente estaba funcionando correctamente. [31] [2]

A partir de entonces, el sistema funcionó desde el lunes por la mañana hasta el viernes por la tarde, proporcionando 60 horas de tiempo de actividad para los usuarios, pero requirió 44 horas de tiempo de inactividad programado. [2] Sin embargo, se utilizó cada vez más a medida que los programadores de la NASA aprendieron formas de obtener rendimiento del complejo sistema. Al principio, el rendimiento fue pésimo, con la mayoría de los programas ejecutándose a aproximadamente 15 MFLOPS, aproximadamente tres veces el promedio del CDC 7600 . [37] Con el tiempo, esto mejoró, especialmente después de que los programadores de Ames escribieran su propia versión de FORTRAN , CFD, y aprendieron cómo realizar E/S en paralelo 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. [31]

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

Secuelas

ILLIAC llegó muy tarde, fue muy caro y nunca cumplió su objetivo de producir 1 GFLOP. Fue ampliamente considerado un fracaso incluso por quienes trabajaron en él; uno decía simplemente que "cualquier observador imparcial tiene que considerar a Illiac IV como un fracaso en un sentido técnico". [40] En términos de gestión de proyectos, se considera ampliamente como un fracaso, ya que multiplica por cuatro sus estimaciones de costos y requiere años de esfuerzos correctivos para que funcione. Como dijo más tarde el propio Slotnik:

Estoy amargamente decepcionado y muy contento... encantado y consternado. Encantado de que los objetivos generales hayan salido bien al final. Consternado porque costó demasiado, tomó demasiado tiempo, no hace lo suficiente y no lo usan suficientes personas. [41]

Sin embargo, análisis posteriores señalan que el proyecto tuvo varios efectos duraderos en el mercado de la informática en su conjunto, tanto intencionalmente como no. [42]

Entre los efectos indirectos estuvo la rápida actualización de la memoria de semiconductores tras el proyecto ILLIAC. Slotnick recibió muchas críticas cuando eligió 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 sólo existía en papel. [43] Sin embargo, después de tres meses de intenso esfuerzo, Fairchild logró producir en masa un diseño funcional . Como comentaría más tarde Slotnick: "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". [29] Se considera que ILLIAC ha asestado un golpe mortal a la memoria de núcleo magnético y a los sistemas relacionados, como la película delgada. [29]

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 de tierra resultó ser un problema grave, lo que exigía que las PCB fueran lo más pequeñas posible. A medida que crecía su complejidad, los PCB tuvieron que agregar más y más capas para evitar crecer. Finalmente, alcanzaron 15 capas de profundidad, lo que resultó estar mucho más allá de las capacidades de los dibujantes. Finalmente, el diseño 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 una computadora central 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. [44]

ILLIAC también dio lugar a importantes investigaciones sobre el tema del procesamiento paralelo que tuvieron efectos de amplio alcance. Durante la década de 1980, cuando el precio de los microprocesadores caía 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 con muchos microprocesadores, Illiac IV habrá aportado su granito de arena en el amplio esquema de las cosas". [45]

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 . Similares al ILLIAC en algunos aspectos, estos diseños de procesadores cargaban muchos elementos de datos en un único procesador personalizado en lugar de una gran cantidad de procesadores especializados. El ejemplo clásico de este diseño es el Cray-1 , que tenía un rendimiento similar al ILLIAC. Como resultado, hubo más que una pequeña "reacción" contra el diseño de ILLIAC, y durante algún tiempo el mercado de supercomputadoras miró con desdén los diseños masivamente paralelos, incluso cuando tuvieron éxito. Como bromeó Seymour Cray : "Si estuvieras arando un campo, ¿qué preferirías usar? ¿Dos bueyes fuertes o 1024 gallinas?" [46]

Descripción

Disposición física

Cada cuadrante de la máquina tenía 3 m (10 pies) de alto, 2,4 m (8 pies) de profundidad y 15 m (50 pies) de largo. [47] Dispuesto al lado del 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 del misma interfaz de 1.024 bits de ancho que el sistema de disco. [48]

La máquina constaba de una serie de chasis portadores que sostenían varios módulos pequeños. La mayoría de ellas eran las Unidades de Procesamiento (PU), que contenían los módulos para un único 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. [49]

Detalles del procesador

Cada UC tenía entre 30 y 40.000 puertas. [50] La CU tenía dieciséis registros de 64 bits y un "bloc de notas" de 64 bits con sesenta y cuatro ranuras independiente, LDB. Había cuatro acumuladores, AC0 a AC3, un contador de programa ILR y varios registros de control. El sistema tenía una línea de instrucción corta e implementó instrucción anticipada . [51]

Los PE tenían alrededor de 12.000 puertas. [50] Incluía cuatro registros de 64 bits, usando un acumulador A, un búfer de operando B y un scratchpad secundario S. El cuarto, R, se usaba para transmitir o recibir datos de los otros PE. [52] Los PE utilizaron un sumador de anticipación de acarreo , un detector adelantado para operaciones booleanas y un cambiador de barril . Las adiciones de 64 bits tardaron unos 200 ns y las multiplicaciones unos 400 ns. Los PE estaban conectados a un banco de memoria privado, el PEM, que contenía 2.048 palabras de 64 bits. El tiempo de acceso fue del orden de 250 ns [53]. Los PE utilizaron una arquitectura de carga/almacenamiento . [54]

El conjunto de instrucciones (ISA) contenía dos conjuntos separados de instrucciones, uno para la CU (o una unidad dentro de ella, ADVAST) y otro para los PE. Las instrucciones para los PE no fueron decodificadas, sino que se enviaron directamente al registro FINST para ser enviadas a los PE para su procesamiento. Las instrucciones ADVAST fueron decodificadas y entraron en el proceso de procesamiento de la CU. [55]

arreglo lógico

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 sólo 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 utilizar operaciones de carga y almacenamiento para acceder al sistema de disco. [48]

Los gabinetes eran tan grandes que se necesitaban 240  ns para que las señales viajaran de un extremo al otro. Por esta razón, la CU no se podía utilizar para coordinar acciones; en cambio, todo el sistema estaba 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 manera, la CU podría estar segura de que las operaciones se completaron sin tener que esperar resultados o códigos de estado. [47]

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, el PE1 estaba conectado directamente. a PE0 y PE2, así como a PE9 y PE45. Las conexiones de ocho distancias permitieron un transporte más rápido cuando los datos necesitaban viajar entre PE más distantes. [48] ​​Cada cambio de datos movió 64 palabras en un solo ciclo de reloj de 125 ns. [47]

El sistema utilizaba 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 un bus de "transmisión" separado. Dependiendo de la instrucción, el valor en el bus puede hacer referencia a una ubicación de memoria en el PEM del PE, a un valor en uno de los registros del PE o a una constante numérica. [56]

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 trabajara 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 estableciendo el índice en los diferentes PE. [56]

Sucursales

En los diseños de computadoras tradicionales, las instrucciones se cargan en la CPU una a la vez a medida que se leen desde la memoria. Normalmente, cuando la CPU completa el procesamiento de una instrucción, el contador del programa (PC) se incrementa en una palabra y se lee la siguiente instrucción. Este proceso se ve interrumpido por ramas , lo que hace que la PC salte a una de dos ubicaciones dependiendo de 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 diferentes valores y, por lo tanto, tendría diferentes resultados. Dado que esos valores son privados del PE, las siguientes instrucciones deberían cargarse en función de un valor que solo el PE conocía. [57]

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; en cambio, establecieron "bits de modo" que le indicaban al PE si debía ejecutar o no la siguiente instrucción aritmética. Para utilizar 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 terminaría con una instrucción para establecer todos los bits en 1. [57]

Si la prueba seleccionó la "primera" rama, esa PE continuaría normalmente. Cuando llegaba al final de ese código, la instrucción del operador de modo invertiría los bits de modo y, a partir de ese momento, ese 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 la prueba de un PE en particular dio como resultado que se tomara la segunda rama, en su lugar configuraría los bits de modo para ignorar más instrucciones hasta llegar al final de la primera rama, donde el operador de modo invertiría los bits y haría que la segunda rama comenzara a procesarse. , una vez más encendiéndolos todos al final de esa rama. [57]

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 pudieran activarse o desactivarse. 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 fuera verdadera mientras que el otro lado fuera falso. [57]

Terminología

Ver también

Notas

  1. ^ Tenga en cuenta que el término "FLOP" no se usaba mucho en ese momento, MIPS y FLOPS eran sinónimos.
  2. ^ Chen dice julio. [26]
  3. ^ Posteriormente conocida como integración de mediana escala .
  4. ^ Slotnick y otros han afirmado que la estimación original de $ 8 millones era una cifra ad hoc que era la misma que la bolsa en la pelea entre Clay y Liston . [2]
  5. ^ Se estaba desarrollando durante un período de tasas de inflación históricamente altas, y al menos parte del aumento del precio es atribuible a esos aumentos. [2]

Referencias

Citas

  1. ^ Hord 1982, pag. 1.
  2. ^ abcdef Hord 1982, pág. 14.
  3. ^ Hord 1982, pag. 5.
  4. ^ Hockney y Jesshope 1988, pág. 24.
  5. ^ ab Hord 1982, pág. 8.
  6. ^ Hockney y Jesshope 1988, pág. 25.
  7. ^ abcd Slotnick 1982, pag. 20.
  8. ^ Ware, WH (10 de marzo de 1953). Historia y desarrollo de la computadora IAS (PDF) (Informe técnico). rand.
  9. ^ MacKenzie 1998, pág. 295.
  10. ^ Slotnick 1982, pag. 21.
  11. ^ Slotnick 1982, págs. 21-22.
  12. ^ MacKenzie 1998, pág. 105.
  13. ^ ab Bouknight y col. 1972, pág. 371.
  14. ^ ab Slotnick 1982, pág. 23.
  15. ^ Slotnick 1982, pag. 24.
  16. ^ MacKenzie 1998, pág. 118.
  17. ^ MacKenzie 1998, pág. 119.
  18. ^ Slotnick 1982, pag. 25.
  19. ^ abcdefgh Slotnick 1982, pág. 26.
  20. ^ Barnes y col. 1968, pág. 746.
  21. ^ Levesque, Juan; Williamson, Joel (2014). Una guía de Fortran en supercomputadoras . Prensa académica. pag. 14.
  22. ^ Parkinson, Dennis (17 de junio de 1976). "Computadoras por mil". Científico nuevo . pag. 626.
  23. ^ Hord 1982, pag. 9.
  24. ^ Leetaru, Kalev (2010). "Laboratorio de Computación Digital / DCL". Historias de UI/Universidad de Illinois .
  25. ^ Hord 1982, pag. 15.
  26. ^ ab Chen 1967, pág. 3.
  27. ^ Barnes y col. 1968, pág. 747.
  28. ^ ab Hord 1982, pág. 11.
  29. ^ abc Falk 1976, pag. 67.
  30. ^ Burroughs 1974, pág. 3.
  31. ^ abcdefg Slotnick 1982, pág. 27.
  32. ^ Falk 1976, pág. sesenta y cinco.
  33. ^ "Byte de historia: informática en la Universidad de Illinois". Universidad de Illinois . Marzo de 1997. Archivado desde el original el 10 de junio de 2007.
  34. ^ "Bombardeo del Sterling Hall de 1970". Universidad de Wisconsin-Madison .
  35. ^ "Boletín de información científica" (PDF) . Oficina de Investigación Naval Oficina Asiática. Diciembre de 1993. p. 51. Archivado (PDF) desde el original el 24 de septiembre de 2015 . Consultado el 25 de marzo de 2024 .
  36. ^ Hord 1982, pag. 7.
  37. ^ Falk 1976, pág. 69.
  38. ^ 'Este día en la historia: 7 de septiembre', Museo de Historia de la Computación
  39. ^ "Unidad de control ILLIAC IV". Museo de Historia de la Computación .
  40. ^ Falk 1976, pág. 68.
  41. ^ Hord 1990, pag. 9.
  42. ^ Hord 1990, pag. 10.
  43. ^ Hord 1990, pag. 12.
  44. ^ Hord 1990, pag. 13.
  45. ^ Falk 1976, pág. 66.
  46. ^ Robbins, Kay; Robbins, Steven (2003). Programación de sistemas UNIX: comunicación, concurrencia y subprocesos . Prentice Hall. pag. 582.ISBN 9780130424112.
  47. ^ abc Burroughs 1974, pag. 5.
  48. ^ a b C Burroughs 1974, pag. 4.
  49. ^ Burroughs 1974, págs. 11-12.
  50. ^ ab Chen 1967, pág. 9.
  51. ^ Técnico 1968, pag. 2.10.
  52. ^ Técnico 1968, pag. 2.7.
  53. ^ Técnico 1968, pag. 2.8.
  54. ^ Técnico 1968, pag. 2.11.
  55. ^ Técnico 1968, pag. 2.12.
  56. ^ ab Burroughs 1974, pág. 7.
  57. ^ abcd Burroughs 1974, pág. 6.

Bibliografía

Otras lecturas

enlaces externos