stringtranslate.com

ILÍACO IV

Unidad de control (UC) 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 coma flotante (FPU) de 64 bits y cuatro unidades centrales de procesamiento (CPU) capaces de procesar mil millones de operaciones por segundo. [2] Debido a las limitaciones presupuestarias, sólo se construyó un único "cuadrante" con 64 FPU y una única CPU. Dado que todas las FPU procesaban 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

El concepto de construir un ordenador utilizando una matriz de procesadores se le ocurrió a Daniel Slotnick mientras trabajaba como programador en la máquina IAS en 1952. El diseño formal no comenzó hasta 1960, cuando Slotnick trabajaba en Westinghouse Electric y consiguió financiación para el desarrollo en virtud de un contrato de la Fuerza Aérea de los EE. UU . Cuando esa financiación terminó en 1964, Slotnick se trasladó a la Universidad de Illinois en 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 1024 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 los EE. UU. hizo que la 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 corregir varios fallos, ILLIAC IV se conectó a ARPANET para uso distribuido en noviembre de 1975, convirtiéndose en la primera supercomputadora disponible en red , superando al Cray-1 por casi 12 meses.

El ILLIAC IV de un cuadrante, que funcionaba a la mitad de su velocidad de diseño, ofrecía un pico de 50 MFLOP, [4] lo que lo convertía en el ordenador más rápido del mundo en aquel momento. También se le atribuye ser el primer ordenador de gran tamaño en utilizar memoria de estado sólido , así como el ordenador más complejo construido hasta la fecha, con más de 1 millón de puertas. [5] Generalmente considerado un fracaso debido a los enormes excesos presupuestarios, [5] [6] el diseño fue fundamental en el desarrollo de nuevas técnicas y sistemas para programar 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 . [7] La ​​máquina IAS contaba con una unidad matemática de bits en paralelo que operaba con palabras de 40 bits . [8] Originalmente equipada con memoria de tubo Williams , más tarde se le añadió un tambor magnético de Engineering Research Associates . Este tambor tenía 80 pistas, por lo que se podían leer dos palabras a la vez, y cada pista almacenaba 1024 bits. [9]

Mientras contemplaba el mecanismo del tambor, Slotnik empezó a preguntarse si esa era la forma correcta de construir un ordenador. Si los bits de una palabra se escribieran en serie en una única pista, en lugar de en paralelo a lo largo de 40 pistas, entonces los datos podrían introducirse en un ordenador bit a bit directamente desde el tambor. El tambor seguiría teniendo múltiples pistas y cabezales, pero en lugar de recoger una palabra y enviarla a una única ALU, en este concepto los datos de cada pista se leerían bit a bit y se enviarían a ALU paralelas. Se trataría de un ordenador bit a bit, de palabras en paralelo. [7]

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

SALOMÓ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 los tambores habían sido reemplazados por transistores y memoria de núcleo magnético . La idea de procesadores paralelos que trabajaran en diferentes flujos de datos desde un tambor ya no tenía el mismo atractivo obvio. Sin embargo, una consideración más profunda mostró que las máquinas paralelas aún podí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 terminó en la división Air Arm de Westinghouse , que trabajaba en radares y sistemas similares. [11] Gracias a un contrato del RADC de la Fuerza Aérea de los EE. UU ., Slotnik pudo formar un equipo para diseñar un sistema con ALU de 1024 bits en serie, conocidos como "elementos de procesamiento" o PE. Este diseño recibió el nombre de SOLOMON, en honor al rey Salomón , que era muy sabio y tenía 1000 esposas. [12]

Los PE recibirían instrucciones de una única unidad central de procesamiento (CPU), la "unidad de control" o CU. La CU de SOLOMON leería las instrucciones de la memoria, las decodificaría y luego las entregaría 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. [13] Para permitir que los resultados de un PE se usaran como entradas en otro, una red separada conectaba cada PE a sus ocho vecinos más cercanos. [14]

Se construyeron varios sistemas de prueba, incluido un sistema de 3 x 3 (9 PE) y un modelo de 10 x 10 con PE simplificados. Durante este período, se consideraron 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 x 32. Se construyó un solo PE utilizando este diseño en 1963. A medida que continuaba el trabajo de diseño, el patrocinador principal dentro del Departamento de Defensa de los EE. UU. murió en un accidente y no se recibió más financiación. [15]

En busca de continuar con el desarrollo, Slotnik se acercó a Livermore, que 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 un verdadero punto flotante , lo que dio como resultado el diseño SOLOMON.2. [16]

Livermore no financió el desarrollo, sino que ofreció un contrato en el que alquilarían la máquina una vez que estuviera terminada. La gerencia de Westinghouse consideró que era demasiado arriesgado y desmanteló el equipo. Slotnik dejó Westinghouse intentando encontrar capital de riesgo para continuar con el proyecto, pero fracasó. Livermore seleccionaría más tarde la CDC STAR-100 para esta función, ya que CDC estaba dispuesta a asumir los costos de desarrollo. [17]

ILÍACO IV

Cuando SOLOMON terminó, Slotnick se unió al equipo de diseño de Illinois Automatic Computer (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 los 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 un primer diseño se completó en 1966. [18]

En contraste con el concepto de bit-serial de SOLOMON, en ILLIAC IV los PE fueron mejorados para ser procesadores completos de 64 bits (bit-paralelos), usando 12.000 puertas y 2048 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 usaba para comunicar datos a los PE vecinos, moviéndose un "salto" por ciclo de reloj. Otro registro, RGD, indicaba si ese PE estaba o no activo en ese momento. Los PE "inactivos" no podían acceder a la memoria, pero pasaban los resultados a los PE vecinos usando 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 dispuestos 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 podía funcionar como cuatro máquinas independientes de 64 PE, dos máquinas de 128 PE o una única máquina de 256 PE. Esto permitía al sistema trabajar en diferentes problemas cuando los datos eran demasiado pequeños para exigir la matriz completa de 256 PE. [19]

Basada en un reloj de 25 MHz, con los 256 PE ejecutándose en un único programa, la máquina fue diseñada para entregar 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 otra máquina en el mundo; la CDC 7600 contemporánea tenía un ciclo de reloj de 27,5 nanosegundos, o 36 MIPS, [21] aunque por diversas razones generalmente ofrecía un rendimiento más cercano a los 10 MIPS. [22] [a]

Para apoyar a la máquina, se construyó una extensión a los edificios del Laboratorio de Computación Digital. [23] [24] El trabajo de muestra en la universidad estaba principalmente dirigido a formas de llenar eficientemente los PE con datos, llevando a cabo 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 computadora nuevos; IVTRAN y TRANQUIL eran versiones paralelizadas de FORTRAN , y Glypnir era una conversión similar de ALGOL . Generalmente, estos lenguajes proporcionaban soporte para cargar matrices de datos "a través" de los PE para ser ejecutados 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. Se recibieron diecisiete respuestas en julio, siete respondieron y de estas tres fueron seleccionadas. [26] Varias de las respuestas, incluida Control Data , intentaron interesarlos en un diseño de procesador vectorial en su lugar, pero como estos ya se estaban diseñando, el equipo no estaba interesado en construir otro. En agosto de 1966, [b] 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, tras asociarse con Texas Instruments (TI). Ambos ofrecieron nuevos avances técnicos que hicieron que su oferta fuera la más interesante. Burroughs ofrecía 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 acoplada por emisor (ECL) de 64 pines con 20 puertas lógicas cada uno. [c] En ese momento, la mayoría de los CI usaban paquetes de 16 pines y tenían entre 4 y 7 puertas. El uso de los CI 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 un mainframe Burroughs B6500 para actuar como un controlador front-end, cargando datos desde el almacenamiento secundario y realizando otras tareas de mantenimiento. 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 fina de metal recubierta de una tira de lámina de poliéster transportada 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í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 decidió rediseñar la máquina basándose en los circuitos integrados de 16 pines disponibles. Esto requirió que el sistema funcionara más lento, utilizando 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 alrededor de 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 otro año, y comenzó a ofrecerlos en el mercado antes de que ILLIAC estuviera completo. [28]

Como resultado de este cambio, las placas de circuito impreso individuales crecieron aproximadamente 1 pulgada (2,5 cm) cuadradas a 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 encajara dentro de los gabinetes del diseño. Los intentos de aumentar el tamaño de los gabinetes para hacer lugar para la memoria causaron serios problemas con la propagación de la señal. [29] Slotnick examinó los posibles reemplazos y eligió una memoria de semiconductores de Fairchild Semiconductor , una decisión a la que Burroughs se opuso tanto que ARPA realizó una revisión completa. [19]

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, [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 ser escindido del equipo original de ILLIAC, que cada vez se oponía más abiertamente al proyecto. [31]

Mudarse a Ames

En 1970, la máquina finalmente se estaba construyendo a un ritmo razonable y estaba lista para ser entregada 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. [32] En mayo, se produjeron 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, mientras se tratara de un proyecto universitario, todo el procesamiento que se llevara a cabo en la máquina se haría público. También le preocupaba cada vez más que la máquina pudiera ser objeto de ataques por parte de los grupos estudiantiles más radicales. [31] Una postura que parecía sensata 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 la Illiaction", [33] y, especialmente, después del atentado con bomba del 24 de agosto en el edificio de matemáticas de la Universidad de Wisconsin-Madison . [34]

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. Ubicada en una base activa de la Marina de los EE. UU. y protegida 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 Computadoras en el edificio N-233. [35] En este punto, ya había pasado 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. [31] [2] [d] [e]

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

El Illiac IV fue contratado para ser administrado por ACTS Computing Corporation, con sede en Southfield, Michigan, una empresa de tiempo compartido y entrada de trabajo remota (RJE) que había sido recientemente adquirida por el conglomerado Lear Siegler Corporation . El Departamento de Defensa contrató a ACTS bajo un contrato de costo más 10%. Este acuerdo inusual se debió a la restricción de que ningún empleado del gobierno podía recibir un salario superior al de un miembro del Congreso y muchos miembros del personal del Illiac IV ganaban más que ese límite. El Dr. Mel Pirtle, con experiencia en la Universidad de California, Berkeley y la 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 funcionar. Sufría todo tipo de problemas, desde placas de circuito impreso agrietadas hasta resistencias defectuosas y el embalaje de los circuitos integrados TI, que eran muy sensibles a la humedad. Estos problemas se fueron solucionando poco a poco y, en el verano de 1973, se pudieron ejecutar los primeros programas 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 de reloj a 13 MHz. Al final de este proceso, el sistema finalmente estaba funcionando correctamente. [31] [2]

A partir de entonces, 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 requiriendo 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 era pésimo, con la mayoría de los programas ejecutándose a unos 15 MFLOPS, aproximadamente tres veces el promedio del CDC 7600. [ 37] Con el tiempo esto mejoró, notablemente después de que los programadores de Ames escribieran su propia versión de FORTRAN , CFD, y aprendieran a realizar operaciones de E/S en paralelo en los limitados PEM. En los problemas que podían paralelizarse, la máquina seguía siendo la más rápida del mundo, superando al CDC 7600 entre dos y seis veces, y generalmente se le atribuye el mérito de ser 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 desmantelada 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 están ahora en exhibición en el Museo de Historia de la Computación en Mountain View, a menos de una milla de su sitio operativo. [39]

Secuelas

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

Estoy profundamente decepcionado y muy contento... encantado y consternado. Encantado de que los objetivos generales hayan resultado bien al final. Consternado de que haya costado demasiado, haya llevado demasiado tiempo, no haga lo suficiente y no haya suficiente gente usándolo. [41]

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

Entre los efectos indirectos se encontraba la rápida actualización de la memoria de semiconductores tras el proyecto ILLIAC. Slotnick recibió muchas críticas cuando eligió a Fairchild Semiconductor para producir los circuitos integrados de memoria, ya que en aquel 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, tras tres meses de intenso esfuerzo, Fairchild tenía un diseño funcional que se estaba produciendo en masa . Como comentaría más tarde Slotnick: "Fairchild hizo un magnífico trabajo al sacarnos las castañas del fuego. Las memorias de Fairchild eran magníficas y su fiabilidad hasta el día de hoy es increíblemente buena". [29] Se considera que ILLIAC asestó un golpe mortal a la memoria de núcleo magnético y a los sistemas relacionados, como la película fina. [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, exigiendo que las PCB fueran lo más pequeñas posible. A medida que su complejidad aumentó, las PCB tuvieron que agregar más y más capas para evitar crecer más. Finalmente, alcanzaron 15 capas de profundidad, lo que resultó estar muy por encima de las capacidades de los dibujantes. El diseño finalmente se completó utilizando nuevas herramientas de diseño automatizado proporcionadas por un subcontratista, y el diseño completo requirió dos años de tiempo de computadora en una computadora central 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 condujo a una importante investigación sobre el tema del procesamiento paralelo que tuvo efectos de amplio alcance. Durante la década de 1980, cuando el precio de los microprocesadores cayó de acuerdo con 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. El Thinking Machines CM-5 es un excelente ejemplo del concepto MIMD. Fue la mejor comprensión del paralelismo en ILLIAC lo que llevó a los 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á hecho su parte en el esquema general 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 tenían éxito. Como dijo Seymour Cray en una famosa broma: "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 10 pies (3 m) de alto, 8 pies (2,4 m) de profundidad y 50 pies (15 m) 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 1 mil millones  de bits por segundo , junto con la computadora B6700 que se conectaba a la máquina a través de la misma interfaz de 1.024 bits de ancho que el sistema de disco. [48]

La máquina estaba formada por una serie de chasis portadores que contenían una serie de módulos pequeños. La mayoría de ellos 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 se encargaba de la traducción de direcciones y la E/S. Las PU eran idénticas, por lo que podían sustituirse o reordenarse según fuera necesario. [49]

Detalles del procesador

Cada UC tenía entre 30 y 40 000 puertas. [50] La UC tenía dieciséis registros de 64 bits y un "bloc de notas" de 64 bits separado con 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 secuencia de instrucciones corta e implementaba la función de mirar hacia adelante a las instrucciones . [51]

Los PE tenían alrededor de 12.000 puertas. [50] Incluía cuatro registros de 64 bits, utilizando un acumulador A, un búfer de operandos B y un scratchpad secundario S. El cuarto, R, se utilizaba para transmitir o recibir datos de los otros PE. [52] Los PE utilizaban un sumador carry-lookahead , un detector de uno principal para operaciones booleanas y un barrel shifter . Las adiciones de 64 bits tardaban 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 era del orden de 250 ns. [53] Los PE utilizaban una arquitectura de carga/almacenamiento . [54]

El conjunto de instrucciones (ISA) contenía dos conjuntos de instrucciones independientes, uno para la UC (o una unidad dentro de ella, ADVAST) y otro para los PE. Las instrucciones para los PE no se decodificaban, sino que se enviaban directamente al registro FINST para que las procesaran los PE. Las instrucciones ADVAST se decodificaban y entraban en el canal de procesamiento de la UC. [55]

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 acceder a toda la memoria de la máquina. Los PE solo podían acceder a su propio almacén local, el PEM, de 2048 palabras de 64 bits. Tanto los PE como la CU podían utilizar operaciones de carga y almacenamiento para acceder al sistema de discos. [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 UC no podía usarse 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 UC podía estar segura de que las operaciones se completaban 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 usara 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 se conectó directamente a PE0 y PE2, así como a PE9 y PE45. Las conexiones a ocho pasos de distancia permitieron un transporte más rápido cuando los datos debían viajar entre PE más distantes. [48] Cada cambio de datos movía 64 palabras en un solo ciclo de reloj de 125 ns. [47]

El sistema utilizaba un formato de una sola 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 enviaba al PE a través de un bus de "difusión" independiente. Según la instrucción, el valor en el bus podía 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]

Como 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 permitía, 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 cargaba en diferentes ubicaciones en los PEM, que luego se podían uniformizar configurando el índice en los diferentes PE. [56]

Sucursales

En los diseños de computadoras tradicionales, las instrucciones se cargan en la CPU de a una a medida que se leen de la memoria. Normalmente, cuando la CPU termina de procesar una instrucción, el contador de programa (PC) se incrementa en una palabra y se lee la siguiente instrucción. Este proceso se interrumpe mediante bifurcaciones , lo que hace que el PC salte a una de dos ubicaciones dependiendo de una prueba, como si una dirección de memoria dada contiene un valor distinto de cero. En el diseño ILLIAC, cada PE aplicaría esta prueba a diferentes valores y, por lo tanto, tendría diferentes resultados. 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 conoce. [57]

Para evitar los retrasos que causaría la recarga de las instrucciones del PE, el ILLIAC cargaba los PEM con las instrucciones de ambos lados de la rama. Las pruebas lógicas no cambiaban el PC, sino que establecían "bits de modo" que le indicaban al PE si debía o no ejecutar la siguiente instrucción aritmética. Para utilizar este sistema, el programa se escribiría de forma que uno de los dos flujos de instrucciones posibles siguiera a 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 seleccionaba la "primera" rama, ese PE continuaría con normalidad. Cuando llegara 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 las instrucciones posteriores. Esto continuaría hasta que llegara al final del código de 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 daba como resultado que se tomara la segunda rama, en su lugar establecería los bits de modo para ignorar las instrucciones posteriores hasta que llegara 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, volviéndolos a encender todos al final de esa rama. [57]

Dado que los PE pueden operar 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 en que el PE estuviera operando en modo de 32 bits, un "lado" del PE podría tener la prueba como verdadera mientras que el otro lado sería falso. [57]

Terminología

Véase también

Notas

  1. ^ Tenga en cuenta que el término "FLOP" no se usaba ampliamente en ese momento, MIPS y FLOPS eran sinónimos.
  2. ^ Chen dice julio. [26]
  3. ^ Más tarde conocida como integración de escala media .
  4. ^ Slotnick y otros han afirmado que la estimación original de 8 millones de dólares era una cifra ad hoc que era la misma que la bolsa en la pelea Clay-Liston . [2]
  5. ^ Se desarrolló 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, pág. 1.
  2. ^ abcdef Hord 1982, pág. 14.
  3. ^ Hord 1982, pág. 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, pág. 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, pág. 21.
  11. ^ Slotnick 1982, págs. 21-22.
  12. ^ MacKenzie 1998, pág. 105.
  13. ^ ab Bouknight y col. 1972, pág. 371.
  14. ^ desde Slotnick 1982, pág. 23.
  15. ^ Slotnick 1982, pág. 24.
  16. ^ MacKenzie 1998, pág. 118.
  17. ^ MacKenzie 1998, pág. 119.
  18. ^ Slotnick 1982, pág. 25.
  19. ^ abcdefgh Slotnick 1982, pág. 26.
  20. ^ Barnes y otros, 1968, pág. 746.
  21. ^ Levesque, John; Williamson, Joel (2014). Una guía para Fortran en supercomputadoras . Academic Press. pág. 14.
  22. ^ Parkinson, Dennis (17 de junio de 1976). «Computadoras por miles». New Scientist . pág. 626.
  23. ^ Hord 1982, pág. 9.
  24. ^ Leetaru, Kalev (2010). "Laboratorio de Computación Digital / DCL". UI Histories/Universidad de Illinois .
  25. ^ Hord 1982, pág. 15.
  26. ^Ab Chen 1967, pág. 3.
  27. ^ Barnes y otros, 1968, pág. 747.
  28. ^Ab Hord 1982, pág. 11.
  29. ^ abc Falk 1976, pág. 67.
  30. ^ Burroughs 1974, pág. 3.
  31. ^ abcdefg Slotnick 1982, pág. 27.
  32. ^ Falk 1976, pág. 65.
  33. ^ "Byte of History: Computing at the University of Illinois". Universidad de Illinois . Marzo de 1997. Archivado desde el original el 10 de junio de 2007.
  34. ^ "Atentado con bomba en Sterling Hall de 1970". Universidad de Wisconsin-Madison .
  35. ^ "Boletín de Información Científica" (PDF) . Oficina de Investigación Naval de Asia. 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, pág. 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, pág. 9.
  42. ^ Hord 1990, pág. 10.
  43. ^ Hord 1990, pág. 12.
  44. ^ Hord 1990, pág. 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. pág. 582. ISBN 9780130424112.
  47. ^ abc Burroughs 1974, pág. 5.
  48. ^ abc Burroughs 1974, pág. 4.
  49. ^ Burroughs 1974, págs. 11-12.
  50. ^Ab Chen 1967, pág. 9.
  51. ^ Técnico 1968, pág. 2.10.
  52. ^ Técnico 1968, pág. 2.7.
  53. ^ Técnico 1968, pág. 2.8.
  54. ^ Técnico 1968, pág. 2.11.
  55. ^ Técnico 1968, pág. 2.12.
  56. ^ desde Burroughs 1974, pág. 7.
  57. ^ abcd Burroughs 1974, pág. 6.

Bibliografía

Lectura adicional

Enlaces externos