El i960 (o 80960 ) de Intel fue un diseño de microprocesador basado en RISC que se hizo popular a principios de los años 1990 como un microcontrolador integrado . Se convirtió en una CPU de gran éxito en ventas en ese segmento, junto con el competidor AMD 29000. [ 3] A pesar de su éxito, Intel dejó de comercializar el i960 a fines de los años 1990, como resultado de un acuerdo con DEC por el cual Intel recibió los derechos para producir la CPU StrongARM . El procesador continúa utilizándose para algunas aplicaciones militares.
El diseño del i960 se inició como respuesta al fracaso del diseño iAPX 432 de Intel de principios de los años 1980. El iAPX 432 estaba pensado para soportar directamente lenguajes de alto nivel que admitieran memoria etiquetada , protegida y recolectada por elementos no utilizados (como Ada y Lisp) en hardware. Debido a la complejidad de su conjunto de instrucciones, su implementación en varios chips y fallas de diseño, el iAPX 432 era muy lento en comparación con otros procesadores de su época.
En 1984, Intel y Siemens iniciaron un proyecto conjunto, denominado finalmente BiiN , para crear un sistema informático de gama alta, tolerante a fallos y orientado a objetos, programado íntegramente en Ada. Muchos de los miembros originales del equipo i432 se unieron a este proyecto, aunque se incorporó un nuevo arquitecto principal, Glenford Myers , procedente de IBM . El mercado al que se dirigían los sistemas BiiN eran los usuarios de ordenadores de alta fiabilidad, como bancos, sistemas industriales y centrales nucleares.
La principal contribución de Intel al sistema BiiN fue un nuevo diseño de procesador, influenciado por los conceptos de memoria protegida del i432. El nuevo diseño debía incluir una serie de características para mejorar el rendimiento y evitar los problemas que habían llevado a la caída del i432. Los primeros procesadores 960 entraron en las etapas finales de diseño, conocidas como taping-out , en octubre de 1985 y se enviaron a fabricación ese mes; los primeros chips funcionales llegaron a fines de 1985 y principios de 1986.
El esfuerzo de BiiN finalmente fracasó, debido a las fuerzas del mercado, y el 960 quedó sin uso. Myers intentó salvar el diseño extrayendo varios subconjuntos de la arquitectura de capacidad completa creada para el sistema BiiN. Trató de convencer a la gerencia de Intel para que comercializara el i960 (entonces todavía conocido como "P7") como un procesador de propósito general, tanto en lugar del Intel 80286 y el i386 (que se lanzaron al mercado el mismo mes que el primer i960), como en el mercado emergente RISC para sistemas Unix , incluida una presentación a Steve Jobs para su uso en el sistema NeXT . Myers no tuvo éxito en convencer a la gerencia de Intel para que apoyara el i960 como un procesador de propósito general o Unix, pero el chip encontró un mercado listo en los primeros sistemas integrados de 32 bits de alto rendimiento.
El arquitecto principal del i960 [ aclaración necesaria ] fue el especialista en superescalaridad Fred Pollack , quien también fue el ingeniero principal del Intel iAPX 432 y el arquitecto principal del chip i686, el Pentium Pro . [4]
La familia i960 presenta cuatro arquitecturas distintas, diseñadas para la compatibilidad binaria ascendente: [5]
En la versión inicial, el 80960KA admitía la arquitectura Core, el 80960KB admitía la arquitectura Numerics, el 80960MC admitía la arquitectura Protected y el 80960XA admitía la arquitectura Extended.
Para evitar los problemas de rendimiento que plagaron al i432, la arquitectura central del conjunto de instrucciones del i960 era un diseño RISC. En la arquitectura extendida, el subsistema de memoria tenía 33 bits de ancho, para acomodar una palabra de 32 bits y un bit de "etiqueta" para implementar la protección de la memoria en el hardware. En muchos sentidos, el i960 siguió el diseño RISC original de Berkeley , en particular en su uso de ventanas de registro , un número específico de implementación de cachés para los registros por subrutina que permitían llamadas rápidas a subrutinas. El diseño competidor de la Universidad de Stanford , MIPS , no utilizó este sistema, sino que se basó en el compilador para generar el código de retorno y la llamada a la subrutina óptimos. Al igual que la mayoría de los diseños de 32 bits, el i960 tiene un espacio de memoria plano de 32 bits, sin segmentación de memoria , excepto en la arquitectura extendida, que podía admitir hasta 226 " objetos", cada uno de hasta 232 bytes de tamaño. [6] La arquitectura i960 también anticipó una implementación superescalar , con instrucciones enviadas simultáneamente a más de una unidad dentro del procesador.
El i960MC incluía todas las características del sistema BiiN original, pero estas simplemente no se mencionaban en las especificaciones, lo que llevó a algunos [¿ quién? ] a preguntarse por qué el i960MC era tan grande y tenía tantos pines (53 de 132 [7]) etiquetados como "sin conexión". Las iteraciones posteriores del i960, como la serie 80960Jx, tienen una cantidad más típica de pines "sin conexión" y utilizan más pines de alimentación y tierra y tienen pines de E/S adicionales en su lugar. [8] Sin embargo, estos pines "sin conexión" en realidad no están conectados internamente y no están relacionados con el conjunto de características de BiiN: el chip de silicio en el interior no tiene almohadillas de unión para ellos. [9]
El 80960MC contiene una unidad de gestión de memoria en chip y también admite sistemas tolerantes a fallos junto con la unidad de extensión de bus M82965 de Intel. Ambos chips cumplen con el estándar MIL-STD-883C . Ambos chips estuvieron disponibles en el primer trimestre de 1989 a un precio de 2400 y 1700 dólares estadounidenses respectivamente. Las muestras de temperatura extendida también estuvieron disponibles en agosto de 1988. [10]
Contiene 32 registros de 32 bits, un caché de instrucciones de 512 bytes, un caché de marco de pila , un bus de ráfaga multiplexado de 32 bits de alta velocidad y un controlador de interrupciones. [11] También tiene 256 vectores de interrupción y 32 niveles de prioridad de interrupción. [10]
El 80960XA es un miembro militar de la familia i960 que implementa la arquitectura Extended, un superconjunto del 80960MC militar. Admite programación orientada a objetos con un bit de etiqueta número 33 en hardware, una capacidad . Admite el estándar ISA de 32 bits del Grupo de trabajo conjunto de aviónica industrial (JIAWG). [5]
Una versión del núcleo RISC sin gestión de memoria o una FPU se convirtió en el i960KA, y el núcleo RISC con una FPU se convirtió en el i960KB. Sin embargo, las versiones eran idénticas internamente: solo el etiquetado era diferente. Esto significaba que las CPU eran mucho más grandes de lo necesario para los conjuntos de características "realmente compatibles" y, como resultado, más caras de fabricar de lo necesario.
Estos procesadores contienen más de 350.000 transistores. Estos procesadores pueden realizar alrededor de 7,5 VAX MIPS . La versión 80960KB es compatible con el estándar IEEE 754 y puede realizar hasta 4 MWIPS . Ambos procesadores están disponibles en 16 y 20 MHz utilizando tecnología CHMOS-III . Ambos procesadores están empaquetados en 132-PGA . La versión 80960KA está disponible por US$230 y la versión 80960KB está disponible por US$390 en cantidades de 100 respectivamente. [11]
El i960KA tuvo éxito como procesador de 32 bits de bajo costo para el mercado de impresoras láser, así como para las primeras terminales gráficas y otras aplicaciones integradas. Su éxito benefició a las generaciones futuras, que no contaban con el complejo subsistema de memoria.
ElEl i960CA se anunció en julio de 1989. Presentaba un núcleo RISC superescalar de nuevo diseño y añadía una caché en chip direccionable poco habitual, pero carecía de una FPU y una MMU, ya que estaba pensado para aplicaciones integradas de alto rendimiento. Se considera ampliamente que el i960CA [12] fue la primera implementación RISC superescalar en un solo chip . La serie C incluía sólo una ALU, pero podía enviar y ejecutar una instrucción aritmética, una referencia de memoria y una instrucción de bifurcación al mismo tiempo, y mantener dos instrucciones por ciclo en determinadas circunstancias. Las primeras versiones lanzadas funcionaban a 33 MHz, e Intel promocionó el chip como capaz de alcanzar 66 MIPS. La microarquitectura i960CA se diseñó en 1987-1988 y se anunció formalmente el 12 de septiembre de 1989.
Más tarde, en mayo de 1992, llegó el i960CF, que incluía un caché de instrucciones más grande (4 KB en lugar de 1 KB) y agregó 1 KB de caché de datos, pero todavía no tenía FPU ni MMU.
El 80960MX es una implementación superescalar de la arquitectura Extendida, que ejecuta hasta tres instrucciones por ejecución de reloj para un rendimiento sostenido de 25 VAX MIPS. [13] Implementó el estándar ISA de 32 bits del Joint Industrial Avionics Working Group (JIAWG). Originalmente se empaquetó en una matriz de rejilla de pines cerámicos de 348 conductores y luego se suministró como una matriz desnuda. El i960 MX admite la programación orientada a objetos. Un bit de etiqueta 33 distinguía entre una palabra de datos de 32 bits y un puntero de 32 bits a la memoria. Esto prohibía los punteros falsificados a áreas protegidas de la memoria.
El 80960Jx es un procesador para aplicaciones integradas. Cuenta con un bus de datos/direcciones multiplexado de 32 bits, caché de instrucciones y datos, 1K de RAM en chip, controlador de interrupciones y dos temporizadores independientes de 32 bits. Las características de capacidad de prueba del 80960Jx incluyen el modo ONCE (emulación en circuito) y escaneo de límites ( JTAG ).
Los procesadores 80960Hx ofrecían un rendimiento mejorado en comparación con las variantes Cx al ofrecer multiplicación de reloj, caché de instrucciones de 16K y caché de datos de 4K más grandes, y una GMU (unidad de memoria protegida). La variante HD tenía una multiplicación de reloj interna de 2x, mientras que la versión HT tiene una multiplicación de reloj de 3x, lo que permite un mayor rendimiento sin cambios en la velocidad del bus externo.
Anunciado en octubre de 1998, el procesador i960VH Embedded-PCI incluía un bus PCI de 32 bits a 33 MHz y un núcleo de procesador i960JT de 100 MHz. El núcleo también incluía 16 KB de caché de instrucciones, 4 KB de caché de datos y 1 KB de RAM integrada. Otras características del núcleo incluían dos temporizadores de 32 bits, un controlador de interrupciones programable, una interfaz I²C y un controlador DMA de dos canales.
Los procesadores 80960Rx se etiquetaron como procesadores de E/S e incluyeron una implementación del bus PCI (2.1 o 2.2 según la variante) así como un núcleo 80960Jx. Estos se podían utilizar en placas base para implementar un dispositivo PCI integrado así como en tarjetas de expansión PCI. Las variantes RM/RN/RS utilizaban un núcleo JT con una multiplicación de bus a núcleo de 3x para alcanzar velocidades de reloj internas de 100 MHz, mientras que la variante RD utilizaba un núcleo JF con una multiplicación de 2x para alcanzar 66 MHz. La variante RP tenía un núcleo JF que funcionaba a la velocidad del bus de 33 MHz.
Intel intentó reforzar el i960 en el mercado de controladores de dispositivos de E/S con el estándar I2O , pero tuvo poco éxito y el trabajo de diseño finalmente se dio por terminado. A mediados de la década de 1990, su relación precio/rendimiento había quedado por detrás de los chips de la competencia de diseño más reciente, e Intel nunca produjo una versión de consumo reducido que pudiera usarse en sistemas alimentados por batería.
En 1990, el equipo i960 fue redirigido para ser el "segundo equipo" que trabajara en paralelo en futuras implementaciones de i386 , específicamente el procesador P6, que luego se convirtió en el Pentium Pro . El proyecto i960 fue entregado a otro equipo de desarrollo más pequeño, lo que esencialmente aseguró el final de su vida de desarrollo.
Algunos procesadores de E/S i960, como el 80303, incluyen un motor XOR de hardware integrado para algoritmos RAID . [14] Se utilizan como controladores para tarjetas adaptadoras de host de matriz de discos SCSI con capacidad RAID de gama alta, así como para controladores RAID independientes SCSI y DSSI de gama alta de Digital Equipment/Compaq/HP y, eventualmente, de la serie Fibre Channel HSx. [15] [16]
Un chip i960RS también alimenta el controlador AAR-2400A de Adaptec , que utiliza cuatro unidades ATA paralelas comerciales para construir un sistema de almacenamiento tolerante a fallas protegido por RAID-5 asequible para servidores de PC y estaciones de trabajo pequeñas.
El i960 también se utilizó en algunos conmutadores Brocade Fibre Channel para ejecutar Fabric OS .
La arquitectura i960 también se utiliza en máquinas tragamonedas . Actualmente, se encuentran en la familia Stepper S2000 de IGT y en la familia de video i960. También se utilizó como CPU principal de la famosa serie de placas de arcade Model 2 de Sega .
Se dice que el MMR (radar multimodo) del avión de combate ligero HAL Tejas de la Fuerza Aérea de la India utiliza el i960. El HAL Tejas entró en servicio en 2015.
Se dice que la Organización de Investigación Espacial de la India (ISRO) utiliza el chip en sus computadoras de a bordo en sus vehículos de lanzamiento.
El procesador i960 también se utiliza en las placas de interfaz ARPA ( Automatic Radar Plotting Aid ) en los radares de Kelvin Hughes .
El chip se utilizó en algunos terminales HP X.
Algunos controladores RAID SATA utilizan el IOP 80303 (procesador de E/S inteligente) de Intel, que integra un puente PCI a PCI, un controlador de memoria y un núcleo de CPU 80960JT-100.
El chip se utilizó en el módem de banda ancha ADSL Alcatel-Lucent 1000. [17]
Los chips i960 originales (KA/KB/MC/XA) tienen una gran cantidad de pines que no están conectados (marcados como NC en la hoja de datos) [...] al consultar las hojas de datos se ve que los cuatro chips tienen la misma distribución de pines; no hay pines conectados solo en las versiones más avanzadas. En segundo lugar, al observar el chip empaquetado (abajo) se explica por qué hay tantos pines sin conectar: gran parte del chip no tiene terminales de unión, por lo que no hay nada a lo que conectar los pines.