Desde 1985, se han diseñado y utilizado ampliamente muchos procesadores que implementan alguna versión de la arquitectura MIPS .
El primer microprocesador MIPS, el R2000 , se anunció en 1985. Añadía instrucciones de multiplicación y división de múltiples ciclos en una unidad en chip algo independiente. Se añadieron nuevas instrucciones para recuperar los resultados de esta unidad y enviarlos al archivo de registros del procesador ; estas instrucciones de recuperación de resultados estaban interconectadas .
El R2000 podía arrancar tanto en formato big-endian como little-endian . Tenía treinta y un registros de propósito general de 32 bits, pero ningún registro de estado ( registro de código de condición (CCR), los diseñadores lo consideraron un cuello de botella potencial), una característica que comparte con el AMD 29000 , el DEC Alpha y RISC-V . A diferencia de otros registros, el contador de programa no es directamente accesible.
El R2000 también admitía hasta cuatro coprocesadores, uno de los cuales estaba integrado en la unidad central de procesamiento (CPU) principal y se encargaba de las excepciones, las trampas y la gestión de la memoria, mientras que los otros tres se dejaban para otros usos. Uno de ellos podía ser ocupado por la unidad de punto flotante (FPU) opcional del R2010 , que tenía treinta y dos registros de 32 bits que podían utilizarse como dieciséis registros de 64 bits para precisión doble.
El R3000 sucedió al R2000 en 1988, añadiendo 32 KB (pronto aumentados a 64 KB) de caché para instrucciones y datos, y soporte para multiprocesamiento de memoria compartida en forma de un protocolo de coherencia de caché . Si bien el soporte de multiprocesamiento del R3000 tenía fallas, se utilizó con éxito en varias computadoras multiprocesador exitosas. El R3000 también incluía una unidad de administración de memoria (MMU) incorporada , una característica común en las CPU de la época. El R3000, al igual que el R2000, podía emparejarse con una FPU R3010 . El R3000 fue el primer diseño MIPS exitoso en el mercado, y finalmente se fabricaron más de un millón. Una versión más rápida del R3000 que funcionaba hasta 40 MHz, el R3000A ofrecía un rendimiento de 32 millones de instrucciones por segundo (MIPS), o Unidad de Rendimiento VAX (VUP). El procesador R3051 compatible con MIPS R3000A que funcionaba a 33,8688 MHz era el que se utilizaba en la PlayStation de Sony , aunque no tenía FPU ni MMU. Entre los diseños de terceros se encuentran el R3400 de Performance Semiconductor y el R3500 de IDT , ambos R3000A con una FPU R3010 integrada. El R3900 de Toshiba fue prácticamente el primer sistema en chip (SoC) para las primeras PC portátiles que ejecutaban Windows CE . Una variante reforzada con radiación para uso en el espacio exterior, el Mongoose-V , es un R3000 con una FPU R3010 integrada.
La serie R4000 , lanzada en 1991, amplió el MIPS a un diseño de palabra de 64 bits , trasladó la FPU al chip principal para formar un microprocesador de un solo chip y tenía una alta frecuencia de reloj de 100 MHz en su introducción. Sin embargo, para lograr la frecuencia de reloj, las cachés se redujeron a 8 KB cada una y se necesitaban tres ciclos para acceder a ellas. Las altas frecuencias de reloj se lograron mediante el método de segmentación profunda (llamado entonces supersegmentación ). El R4400 mejorado le siguió en 1993. Tenía cachés primarios más grandes de 16 KB, operación de 64 bits en gran parte libre de errores y soporte para una caché L2 más grande.
MIPS, ahora una división de Silicon Graphics (SGI) llamada MTI, diseñó el R4200 de bajo costo , la base para el aún más económico R4300i . Un derivado de este microprocesador, el NEC VR4300, se utilizó en la consola de juegos Nintendo 64. [1]
Quantum Effect Devices (QED), una empresa independiente fundada por antiguos empleados de MIPS, diseñó el R4600 Orion , el R4700 Orion , el R4650 y el R5000 . Mientras que el R4000 había aumentado la frecuencia de reloj y sacrificado la capacidad de caché, los diseños de QED enfatizaron las grandes cachés a las que se podía acceder en solo dos ciclos y el uso eficiente del área de silicio. El R4600 y el R4700 se utilizaron en versiones de bajo costo de la estación de trabajo SGI Indy , así como en los primeros enrutadores Cisco basados en MIPS, como los enrutadores de las series 36x0 y 7x00. El R4650 se utilizó en los decodificadores WebTV originales (ahora Microsoft TV). La FPU R5000 tenía una programación de punto flotante de precisión simple más flexible que la R4000 y, como resultado, las SGI Indys basadas en R5000 tenían un rendimiento gráfico mucho mejor que las Indys R4400 de frecuencia similar con el mismo hardware gráfico. SGI le dio a la antigua placa gráfica un nuevo nombre cuando se combinó con R5000 , para enfatizar la mejora. QED diseñó más tarde la familia de dispositivos RM7000 y RM9000 para mercados de sistemas integrados como redes de computadoras e impresoras láser. QED fue adquirida por el fabricante de semiconductores PMC-Sierra en agosto de 2000, esta última empresa continuó invirtiendo en la arquitectura MIPS. El RM7000 incluía una caché L2 integrada de 256 KB y un controlador para caché L3 opcional. Los RM9xx0 eran una familia de dispositivos SOC que incluían periféricos de puente norte como controlador de memoria , controlador PCI , controlador Gigabit Ethernet y E/S rápidas como un puerto HyperTransport .
El R8000 (1994) fue el primer diseño MIPS superescalar , capaz de ejecutar dos instrucciones de números enteros o de punto flotante y dos instrucciones de memoria por ciclo. El diseño se distribuyó en seis chips: una unidad de números enteros (con cachés de instrucciones de 16 KB y de datos de 16 KB), una unidad de punto flotante, tres RAM de etiquetas de caché secundaria totalmente personalizadas (dos para accesos a caché secundaria, una para espionaje de bus) y un ASIC controlador de caché. El diseño tenía dos unidades de multiplicación-suma de precisión doble totalmente segmentadas, que podían transmitir datos desde la caché secundaria de 4 MB fuera del chip. El R8000 impulsó los servidores POWER Challenge de SGI a mediados de la década de 1990 y más tarde estuvo disponible en la estación de trabajo POWER Indigo2. Aunque su rendimiento de FPU se ajustó bastante bien a los usuarios científicos, su limitado rendimiento de números enteros y su alto costo redujeron el atractivo para la mayoría de los usuarios. El R8000 se vendió solo durante un año y sigue siendo bastante raro.
En 1995, se lanzó el R10000 . Este procesador era un diseño de un solo chip, funcionaba a una frecuencia de reloj más alta que el R8000 y tenía cachés de datos e instrucciones primarias más grandes de 32 KB. También era superescalar, pero su principal innovación fue la ejecución fuera de orden . Incluso con una sola canalización de memoria y una FPU más simple, el rendimiento de números enteros enormemente mejorado, el precio más bajo y la mayor densidad hicieron que el R10000 fuera preferible para la mayoría de los clientes.
Algunos diseños posteriores se han basado en el núcleo R10000. El R12000 utilizó un proceso de 0,25 micrómetros para encoger el chip y lograr velocidades de reloj más altas . El R14000 revisado permitió velocidades de reloj más altas con soporte adicional para memoria de acceso aleatorio dinámico sincrónico de doble velocidad de datos ( DDR SDRAM ) y memoria de acceso aleatorio estático (SRAM) en la caché fuera del chip . Las iteraciones posteriores se denominan R16000 y R16000A , y presentan velocidades de reloj más altas y fabricación de matrices más pequeñas en comparación con las anteriores.
Otros miembros de la familia MIPS incluyen el R6000 , una implementación de lógica acoplada a emisor (ECL) producida por Bipolar Integrated Technology . El R6000 introdujo la arquitectura MIPS II. Su búfer de traducción de búsqueda lateral (TLB) y la arquitectura de caché son diferentes de todos los demás miembros de la familia MIPS. El R6000 no brindó los beneficios de rendimiento prometidos y, aunque se utilizó en algunas máquinas de datos de control , desapareció rápidamente del mercado general.
En 1981, John L. Hennessy inició el proyecto Microprocessor without Interlocked Pipeline Stages ( MIPS ) en la Universidad de Stanford para investigar la tecnología de computadoras con conjunto de instrucciones reducido (RISC). Los resultados de su investigación lo convencieron del potencial comercial futuro de la tecnología y, en 1984, se tomó un año sabático para fundar MIPS Computer Systems . La compañía diseñó una nueva arquitectura que también se llamó MIPS y presentó la primera implementación de MIPS, la R2000 , en 1985. La R2000 se mejoró y el diseño se presentó como R3000 en 1988. Estas CPU de 32 bits formaron la base de su compañía durante la década de 1980, utilizadas principalmente en la serie de estaciones de trabajo de Silicon Graphics (SGI) y más tarde en las estaciones de trabajo y servidores DECstation de Digital Equipment Corporation . Los diseños comerciales de SGI se desviaron de Stanford MIPS al implementar la mayoría de los enclavamientos en hardware, proporcionando instrucciones completas de multiplicación y división (entre otras). Los diseños fueron guiados, en parte, por el arquitecto de software Earl Killian, quien diseñó la extensión del conjunto de instrucciones de 64 bits de MIPS III y dirigió el trabajo en la microarquitectura R4000. [2] [3]
En 1991, MIPS lanzó el primer microprocesador de 64 bits , el R4000 . Sin embargo, MIPS tuvo dificultades financieras para sacarlo al mercado. El diseño era tan importante para SGI, en ese momento uno de los pocos clientes importantes de MIPS, que SGI compró la empresa en 1992 para garantizar que el diseño no se perdiera. La nueva subsidiaria de SGI se llamó MIPS Technologies .
A principios de los años 90, MIPS comenzó a conceder licencias de sus diseños a proveedores externos. Esto resultó bastante exitoso debido a la simplicidad del núcleo, que le permitió tener muchos usos que antes habrían utilizado diseños de computadoras de conjunto de instrucciones complejas (CISC) mucho menos capaces, con un número de puertas y un precio similares; los dos están estrechamente relacionados: el precio de una CPU generalmente está relacionado con el número de puertas y el número de pines externos. Sun Microsystems intentó disfrutar de un éxito similar al conceder licencias para su núcleo SPARC , pero no tuvo tanto éxito. A fines de los años 90, MIPS era una potencia en el campo de los procesadores integrados . Según MIPS Technologies Inc., hubo un crecimiento exponencial, con 48 millones de envíos de CPU basadas en MIPS y el 49% de la participación total del mercado de CPU RISC en 1997. [4] MIPS tuvo tanto éxito que SGI escindió MIPS Technologies en 1998. En la década de 2000, la mitad de los ingresos de MIPS provenían de la concesión de licencias para sus diseños, mientras que gran parte del resto provenía de trabajos de diseño por contrato en núcleos para terceros.
En 1999, MIPS Technologies reemplazó las versiones anteriores de la arquitectura MIPS con dos arquitecturas, la MIPS32 de 32 bits (basada en MIPS II con algunas características agregadas de MIPS III, MIPS IV y MIPS V) y la MIPS64 de 64 bits (basada en MIPS V) para licencias. Nippon Electric Corporation ( NEC ), Toshiba y SiByte (posteriormente adquirida por Broadcom ) obtuvieron licencias para el MIPS64 tan pronto como se anunció. Philips , LSI Logic e Integrated Device Technology (IDT) se han unido a ellos desde entonces. Hoy, los núcleos MIPS son uno de los núcleos "de peso pesado" [ aclaración necesaria ] más utilizados en el mercado para dispositivos similares a computadoras: PC de mano , decodificadores, etc.
Dado que la arquitectura MIPS es licenciable, ha atraído a varias empresas emergentes de procesadores a lo largo de los años. Una de las primeras empresas emergentes en diseñar procesadores MIPS fue Quantum Effect Devices (ver la siguiente sección). El equipo de diseño de MIPS que diseñó el R4300i fundó la empresa SandCraft , que diseñó el R5432 para NEC y más tarde produjo el SR71000 , uno de los primeros procesadores de ejecución fuera de orden para el mercado integrado. El equipo original de DEC StrongARM finalmente se dividió en dos empresas emergentes basadas en MIPS: SiByte, que produjo el SB-1250 , uno de los primeros sistemas en un chip (SOC) basados en MIPS de alto rendimiento ; mientras que Alchemy Semiconductor (más tarde adquirida por AMD ) produjo el SoC Au-1000 para usos de bajo consumo. Lexra utilizó una arquitectura similar a MIPS y agregó extensiones DSP para el mercado de chips de audio y soporte multihilo para el mercado de redes. Debido a que Lexra no obtuvo la licencia de la arquitectura, se iniciaron dos demandas judiciales entre las dos empresas. La primera se resolvió rápidamente cuando Lexra prometió no publicitar sus procesadores como compatibles con MIPS. La segunda (sobre la patente MIPS 4814976 para el manejo de acceso a memoria no alineada) se prolongó, afectó el negocio de ambas empresas y culminó con MIPS Technologies dándole a Lexra una licencia gratuita y un gran pago en efectivo.
Han surgido dos empresas que se especializan en la construcción de dispositivos con procesadores multinúcleo que utilizan la arquitectura MIPS. Raza Microelectronics, Inc. compró la línea de productos a la empresa SandCraft, que estaba en crisis, y más tarde produjo dispositivos que contenían ocho núcleos para los mercados de telecomunicaciones y redes. Cavium , que en un principio era un proveedor de procesadores de seguridad, también produjo dispositivos con ocho núcleos de CPU, y más tarde hasta 32 núcleos, para los mismos mercados. Ambas empresas diseñaron sus núcleos internamente, y solo concedieron licencias para la arquitectura en lugar de comprar núcleos a MIPS.
Entre los fabricantes que han creado sistemas de estaciones de trabajo informáticas que utilizan procesadores MIPS se encuentran SGI , MIPS Computer Systems, Inc. , Whitechapel Workstations , Olivetti , Siemens-Nixdorf , Acer , Digital Equipment Corporation , NEC y DeskStation .
Los sistemas operativos adaptados a la arquitectura incluyen IRIX de SGI , Windows NT de Microsoft (hasta v4.0), Windows CE , Linux , FreeBSD , NetBSD , OpenBSD , UNIX System V , SINIX , QNX y el propio RISC/os de MIPS Computer Systems .
A principios de los años 1990, se especuló que MIPS y otros procesadores RISC potentes superarían a la arquitectura Intel IA-32 . Esto fue alentado por el soporte de las dos primeras versiones de Windows NT de Microsoft para Alpha , MIPS y PowerPC , y en menor medida la arquitectura Clipper y SPARC . Sin embargo, como Intel lanzó rápidamente versiones más rápidas de sus CPU de clase Pentium , Microsoft Windows NT v4.0 abandonó el soporte para todo lo que no fuera IA-32 y Alpha. Con la decisión de SGI de realizar la transición a las arquitecturas Itanium e IA-32 en 2007 (después de una bancarrota del Capítulo 11 de 2006 [5] ) y la adquisición en 2009 por parte de Rackable Systems, Inc. , el soporte para el mercado de consumo MIPS/IRIX finalizó en diciembre de 2013 como se programó originalmente. Sin embargo, todavía existe un equipo de soporte para circunstancias especiales y sistemas renovados que todavía están disponibles de forma limitada. [6]
Durante la década de 1990, la arquitectura MIPS fue ampliamente adoptada por el mercado integrado, incluso para su uso en redes de computadoras , telecomunicaciones , juegos de video arcade , consolas de videojuegos , impresoras de computadora , decodificadores digitales , televisores digitales , módems DSL y de cable , y asistentes digitales personales .
El bajo consumo de energía y las características térmicas de las implementaciones MIPS integradas, la amplia disponibilidad de herramientas de desarrollo integradas y el conocimiento sobre la arquitectura significan que el uso de microprocesadores MIPS en funciones integradas probablemente seguirá siendo común.
En los últimos años [¿ cuándo? ] la mayor parte de la tecnología utilizada en las distintas generaciones de MIPS se ha ofrecido como núcleos de propiedad intelectual de semiconductores (núcleos IP), como bloques de construcción para diseños de procesadores integrados . Se ofrecen núcleos básicos tanto de 32 bits como de 64 bits , conocidos como 4K y 5K . Estos núcleos se pueden combinar con unidades complementarias como unidades de punto flotante (FPU), sistemas de instrucción única y datos múltiples ( SIMD ), varios dispositivos de entrada/salida (E/S), etc.
Los núcleos MIPS han tenido éxito comercial y ahora tienen muchos usos industriales y de consumo. Los núcleos MIPS se pueden encontrar en los enrutadores de placa de enrutador más nuevos de Cisco , Linksys y Mikrotik, módems de cable y módems de línea de abonado digital asimétrica (ADSL), tarjetas inteligentes , motores de impresoras láser , decodificadores , robots y computadoras de mano. En los teléfonos celulares y PDA, MIPS no ha podido desplazar en gran medida a la arquitectura ARM , que compite con la empresa .
Los procesadores de arquitectura MIPS incluyen: IDT RC32438; ATI/AMD Xilleon ; Alchemy Au1000, 1100, 1200; Broadcom Sentry5; RMI XLR7xx, Cavium Octeon CN30xx, CN31xx, CN36xx, CN38xx y CN5xxx; Infineon Technologies EasyPort, Amazon, Danube, ADM5120, WildPass, INCA-IP, INCA-IP2; Microchip Technology PIC32; NEC EMMA y EMMA2, NEC VR4181A, VR4121, VR4122, VR4181A, VR4300, VR5432, VR5500; Oak Technologies Generation; PMC-Sierra RM11200; QuickLogic QuickMIPS ESP; Toshiba Donau , Toshiba TMPR492x, TX4925, TX9956, TX7901; KOMDIV-32 , KOMDIV-64 , ELVEES Multicore de Rusia.
Un uso interesante y menos común de la arquitectura MIPS es en supercomputadoras con un gran número de procesadores. Silicon Graphics (SGI) reorientó su negocio desde las estaciones de trabajo gráficas de escritorio al mercado de la computación de alto rendimiento a principios de la década de 1990. El éxito de la primera incursión de la empresa en los sistemas de servidor, la serie Challenge basada en el R4400 y el R8000 , y más tarde el R10000 , motivó a SGI a formar un sistema mucho más potente. La introducción del R10000 integrado permitió a SGI producir un sistema, el Origin 2000 , eventualmente escalable a 1024 CPU utilizando su interconexión NUMAlink cc-NUMA. El Origin 2000 engendró la serie Origin 3000 que alcanzó el mismo número máximo de 1024 CPU pero utilizando los chips R14000 y R16000 hasta 700 MHz. Sus supercomputadoras basadas en MIPS fueron retiradas del mercado en 2005 cuando SGI tomó la decisión estratégica de pasar a la arquitectura Itanium IA-64 de Intel .
Una startup de computación de alto rendimiento llamada SiCortex presentó una supercomputadora basada en MIPS masivamente paralela en 2007. Las máquinas se basan en la arquitectura MIPS64 y una interconexión de alto rendimiento que utiliza una topología de gráfico Kautz . El sistema es muy eficiente energéticamente y computacionalmente poderoso. [ cita requerida ] El aspecto más innovador del sistema fue su nodo de procesamiento multinúcleo que integra seis núcleos MIPS64, un controlador de memoria de conmutación de barra cruzada , motor de acceso directo a memoria (DMA) de interconexión, controladores Gigabit Ethernet y PCI Express , todo en un solo chip que consume solo 10 vatios de energía, pero tiene un rendimiento de punto flotante máximo de 6 giga FLOPS . La configuración más poderosa, el SC5832, es una supercomputadora de gabinete único que consta de 972 chips de nodo de este tipo para un total de 5832 núcleos de procesador MIPS64 y 8,2 teraFLOPS de rendimiento máximo.
Loongson es una familia de microprocesadores compatibles con MIPS diseñados por el Instituto de Tecnología Informática (ICT) de la Academia China de Ciencias . Los primeros modelos, diseñados independientemente por los chinos, no admitían cuatro instrucciones que habían sido patentadas por MIPS Technologies. [7] En junio de 2009, ICT licenció las arquitecturas MIPS32 y MIPS64 de MIPS Technologies. [8] A partir de 2006, muchas empresas lanzaron computadoras basadas en Loongson, incluidas nettops y netbooks diseñadas para uso de bajo consumo. [9] [10]
En los últimos años, el chip dedicado al espacio Loongson (1E04/1E0300/1E1000,1F04/1F0300,1J) se ha utilizado en entre 3 y 5 satélites de navegación Beidou.
El superordenador Dawning 6000 , que tiene un rendimiento proyectado de más de 1 PFLOPS , utilizará el procesador Loongson . El Dawning 6000 está siendo desarrollado actualmente de forma conjunta por la ICT y Dawning Information Industry Company. Li Guojie, presidente de Dawning Information Industry Company y director y académico de la ICT, dijo que se espera que la investigación y el desarrollo del Dawning 6000 se completen en dos años. Para entonces, se espera que los ordenadores de alto rendimiento fabricados en China alcancen dos objetivos principales: primero, la adopción de procesadores fabricados en el país; segundo, la estructura del sistema basado en clústeres existente de los ordenadores de alto rendimiento se cambiará una vez que el rendimiento alcance 1 PFLOPS.
Anunciada en 2012, [11] la familia MIPS Aptiv incluye tres productos de CPU de 32 bits basados en la arquitectura MIPS32 Release 3.
microAptiv [12] es un núcleo de procesador integrado compacto y en tiempo real con un pipeline de cinco etapas y el conjunto de instrucciones de compresión de código microMIPS. microAptiv se puede configurar como un microprocesador (microAptiv UP) con cachés de instrucciones y datos y una unidad de gestión de memoria o como un microcontrolador (microAptiv UC) con una unidad de protección de memoria (MPU). La CPU integra funcionalidad DSP y SIMD para abordar los requisitos de procesamiento de señales para segmentos integrados de nivel de entrada, incluidos el control industrial, los medidores inteligentes, las comunicaciones automotrices y cableadas/inalámbricas.
interAptiv [13] es un núcleo multiprocesador que aprovecha una secuencia de nueve etapas con subprocesos múltiples. El núcleo se puede utilizar para tareas altamente paralelas que requieren optimización de costos y consumo de energía, como puertas de enlace inteligentes, procesamiento de banda base en equipos de usuario LTE y celdas pequeñas, controladores de unidades de estado sólido (SSD) y equipos automotrices.
proAptiv [14] es un núcleo de procesador superescalar fuera de orden que está disponible en versiones de producto de uno o varios núcleos. proAptiv está diseñado para el procesamiento de aplicaciones en productos electrónicos de consumo conectados y para el procesamiento del plano de control en redes.
Anunciada en junio de 2013, [15] la familia MIPS Warrior incluye múltiples productos de CPU de 32 bits y 64 bits basados en las arquitecturas MIPS Release 5 y 6.
Núcleos MIPS de 32 bits para usos integrados y de microcontroladores:
CPU MIPS de 64 bits para usos integrados de alto rendimiento y bajo consumo:
Procesadores de aplicaciones MIPS de 32 y 64 bits:
El personaje del conejo MIPS de Super Mario 64 recibió su nombre del microprocesador MIPS.
Los primeros trabajos de Earl Killian fueron... Como Director de Arquitectura de MIPS, diseñó la extensión del conjunto de instrucciones de 64 bits de MIPS III y dirigió el trabajo sobre la microarquitectura R4000. Fue cofundador de QED, que creó los procesadores MIPS R4600 y R5000. Más recientemente, fue arquitecto jefe en Tensilica, donde trabajó en procesadores configurables/extensibles.