stringtranslate.com

Computadora científica avanzada TI

La Computadora Científica Avanzada ( ASC ) es una supercomputadora diseñada y fabricada por Texas Instruments (TI) entre 1966 y 1973. [1] La unidad central de procesamiento (CPU) del ASC admitía el procesamiento vectorial , una técnica de mejora del rendimiento que fue clave para su alto -actuación. El ASC, junto con la supercomputadora STAR-100 de Control Data Corporation (que se introdujo el mismo año), fueron las primeras computadoras en presentar procesamiento vectorial. Sin embargo, ni el ASC ni el STAR-100 aprovecharon plenamente el potencial de esta técnica debido a una comprensión insuficiente de la técnica; fue la supercomputadora Cray Research Cray-1 , anunciada en 1975, la que implementaría y popularizaría completamente el procesamiento vectorial. La implementación más exitosa del procesamiento vectorial en el Cray-1 demarcaría al ASC (y al STAR-100) como procesadores vectoriales de primera generación, mientras que el Cray-1 pertenecería a la segunda.

Historia

TI comenzó como una división de Geophysical Service Incorporated (GSI), una empresa que realizaba estudios sísmicos para empresas de exploración petrolera . GSI era ahora una subsidiaria de TI y TI quería aplicar la última tecnología informática al procesamiento y análisis de conjuntos de datos sísmicos. El proyecto ASC comenzó como Computadora Sísmica Avanzada . A medida que se desarrolló el proyecto, TI decidió ampliar su alcance. "Seismic" fue reemplazado por "Scientific" en el nombre, lo que permitió que el proyecto conservara la designación ASC.

Originalmente, el software, incluido un sistema operativo y un compilador FORTRAN , se realizó bajo contrato con Computer Usage Company , bajo la dirección de George R. Trimble, Jr. [2] [3] , pero luego fue asumido por la propia TI. La Universidad Metodista del Sur en Dallas desarrolló un compilador ALGOL para el ASC.

Arquitectura

El ASC se basaba en una única memoria compartida de alta velocidad, a la que accedían la CPU y ocho controladores de canales de E/S , en una organización similar al innovador CDC 6600 de Seymour Cray . Se accedió a la memoria únicamente bajo el control de la unidad de control de memoria (MCU). La MCU era una red paralela bidireccional de 256 bits por canal que podía admitir hasta ocho procesadores independientes, con un noveno canal para acceder a la "memoria principal" (denominada "memoria extendida"). La MCU también actuó como controlador de caché , ofreciendo acceso de alta velocidad a una memoria basada en semiconductores para los ocho puertos del procesador y manejando todas las comunicaciones al espacio de direcciones de 24 bits en la memoria principal. La MCU fue diseñada para funcionar de forma asincrónica, lo que le permite trabajar a una variedad de velocidades y escalar en varios puntos de rendimiento. Por ejemplo, la memoria principal podría construirse a partir de una memoria central más lenta pero menos costosa , aunque esto no se utilizó en la práctica. En el caso más rápido, podría mantener tasas de transferencia de 80 millones de palabras de 32 bits por segundo por puerto, para una tasa de transferencia total de 640 millones de palabras por segundo. Esto estaba mucho más allá de las capacidades incluso de las memorias más rápidas de la época.

La CPU tenía un ciclo de reloj de 60 ns (frecuencia de reloj de 16,67 MHz) y su lógica se construyó a partir de circuitos integrados lógicos acoplados a emisores de 20 puertas desarrollados originalmente por TI para la supercomputadora ILLIAC IV . La CPU tenía una arquitectura y organización extremadamente avanzadas para su época, y admitía instrucciones aritméticas y matemáticas microcodificadas que operaban en escalares, vectores o matrices. Las instalaciones de procesamiento de vectores tenían una arquitectura de memoria a memoria; donde se leyeron los operandos vectoriales y se escribió el vector resultante en la memoria. La CPU podría tener uno, dos o cuatro carriles vectoriales, lo que le permitirá producir de uno a cuatro resultados vectoriales en cada ciclo, según la cantidad de carriles vectoriales instalados. Los carriles vectoriales también se utilizaron para instrucciones escalares, y cada carril podía mantener hasta 12 instrucciones escalares en vuelo simultáneamente. La CPU, con cuatro carriles, permitía hasta 36 instrucciones en total en toda la CPU.

El procesador tenía cuarenta y ocho registros de 32 bits, una cantidad enorme para la época. 16 de los registros se utilizaron para direccionamiento, 16 para operaciones escalares, 8 para compensaciones de índice y 8 para especificar los diversos parámetros para instrucciones vectoriales. Los datos se movían entre los registros y la memoria mediante instrucciones de carga/almacenamiento, que podían transferirse de 4 a 64 bits (dos registros) a la vez.

La mayoría de los procesadores vectoriales tendían a tener un ancho de banda de memoria limitado, es decir, podían procesar datos más rápido de lo que podían obtenerlos de la memoria. Esto también sigue siendo un problema importante en los diseños SIMD modernos, razón por la cual se ha realizado un esfuerzo considerable para aumentar el rendimiento de la memoria en los diseños de computadoras modernos (aunque en gran medida sin éxito). En el ASC, esto se mejoró un poco con una unidad de anticipación que predijo los próximos accesos a la memoria y los cargó en los registros escalares de manera invisible, utilizando una interfaz de memoria en la CPU llamada unidad de búfer de memoria (MBU).

El "Procesador periférico" era un sistema independiente dedicado por completo a ejecutar rápidamente el sistema operativo y los programas que se ejecutan en él, así como a alimentar datos a la CPU. El PP se construyó a partir de ocho "procesadores virtuales" (VP), que fueron diseñados para manejar instrucciones y aritmética básica de enteros únicamente. Cada VP tenía su propio contador de programas y registros, por lo que el sistema podía ejecutar ocho programas al mismo tiempo, limitado únicamente por el acceso a la memoria. Mantener ocho programas en ejecución permitió al sistema alternar la ejecución de programas en la CPU dependiendo de los datos disponibles en el bus de memoria en ese momento, minimizando el "tiempo muerto" en el que la CPU tenía que esperar datos de la memoria.

El PP también incluyó un conjunto de sesenta y cuatro registros de comunicaciones (CR) de 32 bits. Los CR almacenaron el estado requerido para la comunicación entre las distintas partes del ASC: la CPU, los VP y los controladores de canal .

El conjunto de instrucciones ASC incluye una instrucción de inversión de bits destinada a acelerar el cálculo de las transformadas rápidas de Fourier (FFT). Cuando el ASC estaba en producción, se habían desarrollado mejores algoritmos FFT que no requerían esta operación. TI ofreció una recompensa a la primera persona que encontrara un uso válido para esta instrucción, pero nunca fue cobrada.

Recepción en el mercado

Cuando las máquinas ASC estuvieron disponibles por primera vez a principios de la década de 1970, superaban a casi todas las demás máquinas, incluida la CDC STAR-100 , y bajo ciertas condiciones igualaban al único ILLIAC IV . Sin embargo, sólo se habían instalado siete cuando se anunció el Cray-1 en 1975. El Cray-1 dedicó casi todo su diseño al acceso sostenido de alta velocidad a la memoria, [ se necesita aclaración ] [ cita requerida ] incluyendo más de un millón de 64- palabras de bits de memoria de semiconductores y un tiempo de ciclo que era una quinta parte del del ASC (12,5 ns). Aunque el ASC era en cierto modo un diseño más ampliable, en el mercado de supercomputadoras se prefiere la velocidad, [ se necesita aclaración ] y el Cray-1 era mucho más rápido. Las ventas de ASC terminaron casi de la noche a la mañana y, aunque se había diseñado un ASC mejorado con un tiempo de ciclo de una quinta parte del original, Texas Instruments decidió salir del mercado.

Aplicaciones de procesamiento de vectores

El prototipo del ASC #1 era un sistema de una sola tubería y se instaló en Austin, Texas, fuera de la planta principal de TI por razones de información de propiedad exclusiva. Posteriormente se actualizó a dos tuberías y se le cambió el nombre a ASC # 1A. Luego fue utilizado por la división GSI de TI para el procesamiento de datos sísmicos. El ASC #2 fue arrendado a Shell Oil Company en los Países Bajos y también se utilizó para el procesamiento de datos sísmicos. El ASC #3 se instaló en el Arsenal de Redstone en Huntsville, Alabama, para el desarrollo de tecnología de interceptación de misiles antibalísticos. Con el Tratado SALT , el sistema fue posteriormente redesplegado al Cuerpo de Ingenieros del Ejército en Vicksburg, Mississippi, para el análisis de la tensión de la presa. El ASC #4 fue utilizado por la NOAA de la Universidad de Princeton para desarrollar modelos de pronóstico del tiempo. Los sistemas ASC 5 y 6 se instalaron en la planta principal de TI en Austin y GSI también los utilizó para el procesamiento de datos sísmicos. El ASC #7 fue al Laboratorio de Investigación Naval en Washington, DC [4] para realizar estudios de física del plasma.

Referencias

  1. ^ Electrónica. Compañía editorial McGraw-Hill. 1973. pág. 36.
  2. ^ George R. Trimble Jr. (24 de junio de 2005). "Historia del CUC". Museo de Historia de la Computación . Consultado el 30 de mayo de 2010 .
  3. ^ George R. Trimble Jr. (verano de 2001). "Una breve historia de la informática. Memorias de vivir al límite". Anales IEEE de la historia de la informática . 23 (3). Sociedad de Computación IEEE: 44–59. doi : 10.1109/85.948905. S2CID  5259268.
  4. ^ http://bitsavers.org/pdf/ti/asc/ASC_6.jpg [ archivo de imagen de URL simple ]

enlaces externos