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 soportaba el procesamiento vectorial , una técnica de mejora del rendimiento que fue clave para su alta -rendimiento. El ASC, junto con la supercomputadora Control Data Corporation STAR-100 (que se introdujo en el mismo año), fueron las primeras computadoras en presentar procesamiento vectorial. Sin embargo, el potencial de esta técnica no fue aprovechado por completo ni por el ASC ni por el STAR-100 debido a una comprensión insuficiente de la técnica; era elLa supercomputadora Cray Research Cray-1 , anunciada en 1975, realizaría y popularizaría por completo el procesamiento de vectores. La implementación más exitosa del procesamiento vectorial en el Cray-1 demarcaría el ASC (y STAR-100) como procesadores vectoriales de primera generación, con el Cray-1 perteneciente al segundo.

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 la Computadora Sísmica Avanzada . A medida que se desarrollaba 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 , fue realizado bajo contrato por Computer Usage Company , bajo la dirección de George R. Trimble, Jr. [2] [3] pero luego asumido por TI. La Universidad Metodista del Sur en Dallas desarrolló un compilador ALGOL para el ASC.

El ASC se basaba en una única memoria compartida de alta velocidad, a la que se accedía mediante la CPU y ocho controladores de canal de E / S , en una organización similar a la innovadora 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 un controlador de caché , ofreciendo acceso de alta velocidad a un semiconductor.-basada en la memoria para los ocho puertos del procesador y maneja 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 una serie de 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 usó en la práctica. Como máximo, 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 los recuerdos más rápidos 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 una organización extremadamente avanzadas para su época, admitiendo microcodificaciones instrucciones aritméticas y matemáticas que operan 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 puede tener uno, dos o cuatro carriles vectoriales, lo que permite que la CPU produzca 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, permitió hasta 36 instrucciones en total en toda la CPU.