
El R10000 , con nombre en clave T5 , es una implementación de microprocesador RISC de la arquitectura del conjunto de instrucciones (ISA) MIPS IV , desarrollada por MIPS Technologies, Inc. (MTI), entonces una división de Silicon Graphics, Inc. (SGI). Los diseñadores principales son Chris Rowen y Kenneth C. Yeager. La microarquitectura del R10000 se conoce como ANDES, abreviatura de Architecture with Non-sequential Dynamic Execution Scheduling (Arquitectura con planificación de ejecución dinámica no secuencial). El R10000 reemplaza en gran medida al R8000 en la gama alta y al R4400 en otros segmentos. MTI era una empresa de semiconductores sin fábrica propia ; el R10000 fue fabricado por NEC y Toshiba . Fabricantes anteriores de microprocesadores MIPS, como Integrated Device Technology (IDT) y otros tres, no fabricaron el R10000, ya que resultaba más costoso que fabricar el R4000 y el R4400.
Historia
Descrito en informes de prensa durante 1992 como el "componente RISC de próxima generación" de MIPS Computer Systems, el R10000 estaba originalmente programado para su entrega en 1994 y estaba destinado a formar la base de una familia de productos, cada uno de los cuales requería un esfuerzo de desarrollo sustancialmente menor para su comercialización que la tecnología central en sí, a la vez que mejoraba incrementalmente el rendimiento. [ 1 ] Durante 1993, MIPS Technologies buscó utilizar los recursos de sus licenciatarios para el diseño del R10000 y productos relacionados, con MIPS, Integrated Device Technology , LSI Logic , NEC , Performance Semiconductor, Siemens y Toshiba planeando en conjunto invertir, según se informó, 150 millones de dólares en esta próxima generación. [ 2 ] El R10000 fue finalmente presentado en octubre de 1994 por MIPS y sus socios de silicio NEC y Toshiba, enfatizando las posibles aplicaciones del producto en configuraciones de multiprocesamiento y masivamente paralelas, y afirmando un rendimiento proyectado de 300 SPECint92, 600 SPECfp92 a 200 MHz. [ 3 ]
El R10000 se presentó en julio de 1995 con frecuencias de reloj de 175 MHz y 195 MHz. En 1997 se introdujo una versión de 150 MHz en la línea de productos O2, pero se descontinuó poco después debido a la preferencia de los clientes por la versión de 175 MHz. El R10000 no estuvo disponible en grandes cantidades hasta finales de ese año debido a problemas de fabricación en las fundiciones de MIPS. La versión de 195 MHz escaseó durante todo 1996 y, como resultado, su precio era de 3000 dólares estadounidenses. [ 4 ]
El 25 de septiembre de 1996, SGI anunció que los generadores R10000 fabricados por NEC entre marzo y finales de julio de ese año presentaban fallos, consumiendo demasiada corriente y provocando el apagado de los sistemas durante su funcionamiento. Como consecuencia, SGI retiró del mercado 10 000 generadores R10000 que se habían instalado en los sistemas, lo que afectó a los beneficios de la empresa.
En 1997, una versión del R10000 fabricada con un proceso de 0,25 μm permitió que el microprocesador alcanzara los 250 MHz.
Usuarios
Entre los usuarios del R10000 se incluyen:
- SGI:
- NEC, en su supercomputadora Cenju-4
- Siemens Nixdorf , en sus servidores ejecutados bajo SINIX
- Tandem Computers , en sus servidores tolerantes a fallos Himalaya
Descripción
El R10000 es un diseño superescalar de cuatro vías que implementa el cambio de nombre de registros y ejecuta instrucciones fuera de orden . Su diseño se diferencia de los microprocesadores MTI anteriores, como el R4000, que es un diseño escalar mucho más simple y de ejecución en orden que depende en gran medida de altas frecuencias de reloj para su rendimiento.
El R10000 obtiene cuatro instrucciones por ciclo de su caché de instrucciones . Estas instrucciones se decodifican y luego se colocan en las colas de instrucciones de enteros, punto flotante o carga/almacenamiento, según el tipo de instrucción. La unidad de decodificación recibe asistencia de las instrucciones predecodificadas de la caché de instrucciones, que agregan cinco bits a cada instrucción para permitir que la unidad identifique rápidamente en qué unidad de ejecución se ejecuta la instrucción y reorganice el formato de la instrucción para optimizar el proceso de decodificación.
Cada una de las colas de instrucciones puede recibir hasta cuatro instrucciones del decodificador, evitando así cuellos de botella. Las colas de instrucciones las envían a sus unidades de ejecución de forma dinámica, según la disponibilidad de operandos y recursos. Cada una de las colas, excepto la de carga/almacenamiento, puede enviar hasta dos instrucciones por ciclo a sus unidades de ejecución. La cola de carga/almacenamiento solo puede enviar una instrucción. Por lo tanto, el R10000 puede enviar hasta cinco instrucciones por ciclo.
Unidad entera
The integer unit consists of the integer register file and three pipelines, two integer, one load store. The integer register file is 64 bits wide and contains 64 entries, of which 32 are architectural registers and 32 are rename registers which implement register renaming. The register file has seven read ports and three write ports. Both integer pipelines have an adder and a logic unit. However, only the first pipeline has a barrel shifter and hardware for confirming the prediction of conditional branches. The second pipeline is used to access the multiplier and divider. Multiplies are pipelined, and have a six-cycle latency for 32-bit integers and ten for 64-bit integers. Division is not pipelined. The divider uses a non-restoring algorithm that produces one bit per cycle. Latencies for 32-bit and 64-bit divides are 35 and 67 cycles, respectively.
Floating-point unit
The floating-point unit (FPU) consists of four functional units, an adder, a multiplier, divide unit and square root unit. The adder and multiplier are pipelined, but the divide and square root units are not. Adds and multiplies have a latency of three cycles and the adder and multiplier can accept a new instruction every cycle. The divide unit has a 12- or 19-cycle latency, depending on whether the divide is single precision or double precision, respectively.
The square root unit executes square root and reciprocal square root instructions. Square root instructions have an 18- or 33-cycle latency for single precision or double precision, respectively. A new square root instruction can be issued to the divide unit every 20 or 35 cycles for single precision and double precision respectively. Reciprocal square roots have longer latencies, 30 to 52 cycles for single precision (32-bit) and double precision (64-bit) respectively.
The floating-point register file contains sixty-four 64-bit registers, of which thirty-two are architectural and the remaining are rename registers. The adder has its own dedicated read and write ports, whereas the multiplier shares its with the divider and square root unit.
The divide and square root units use the SRT algorithm. The MIPS IV ISA has a multiply–add instruction. This instruction is implemented by the R10000 with a bypass — the result of the multiply can bypass the register file and be delivered to the add pipeline as an operand, thus it is not a fused multiply–add, and has a four-cycle latency.
Caches
El R10000 cuenta con dos cachés integradas de tamaño considerable: una caché de instrucciones de 32 KB y una caché de datos de 32 KB. La caché de instrucciones es asociativa bidireccional y tiene un tamaño de línea de 128 bytes. Las instrucciones se decodifican parcialmente añadiendo cuatro bits a cada una (que tienen una longitud de 32 bits) antes de almacenarlas en la caché.
La caché de datos de 32 KB tiene doble puerto mediante entrelazado bidireccional. Consta de dos bancos de 16 KB , cada uno con asociatividad bidireccional. La caché tiene líneas de 64 bytes, utiliza el protocolo de escritura diferida y está indexada virtualmente y etiquetada físicamente para permitir su indexación en el mismo ciclo de reloj y mantener la coherencia con la caché secundaria.
La caché unificada secundaria externa admitía capacidades entre 512 KB y 16 MB. Está implementada con memoria de acceso aleatorio estática síncrona (SSRAM) estándar. Se accede a la caché mediante su propio bus de 128 bits, protegido por 9 bits de código de corrección de errores (ECC). La caché y el bus funcionan a la misma frecuencia de reloj que el R10000, cuya frecuencia máxima era de 200 MHz. A 200 MHz, el bus proporcionaba un ancho de banda máximo de 3,2 GB/s. La caché es asociativa por conjuntos bidireccional, pero para evitar un elevado número de pines, el R10000 predice la dirección de acceso.
Direccionamiento
MIPS IV es una arquitectura de 64 bits, pero para reducir costos, el R10000 no implementa la dirección física o virtual completa . En cambio, tiene una dirección física de 40 bits y una dirección virtual de 44 bits, por lo que es capaz de direccionar 1 TB de memoria física y 16 TB de memoria virtual .
Autobús del sistema de avalanchas
El R10000 utiliza el bus Avalanche , un bus de 64 bits que opera a frecuencias de hasta 100 MHz. Avalanche es un bus de direcciones y datos multiplexado , por lo que a 100 MHz ofrece un ancho de banda teórico máximo de 800 MB/s, pero su ancho de banda pico es de 640 MB/s, ya que requiere algunos ciclos para transmitir direcciones.
El controlador de interfaz del sistema admite el procesamiento simétrico multiprocesador (SMP) sin interconexión de hasta cuatro microprocesadores. Los sistemas que utilizan el R10000 con lógica externa pueden escalar a cientos de procesadores. Un ejemplo de este tipo de sistema es el Origin 2000 .
Fabricación
El R10000 consta de aproximadamente 6,8 millones de transistores, de los cuales aproximadamente 4,4 millones están contenidos en las cachés primarias. [ 5 ] El chip mide 16,640 por 17,934 mm, para un área de chip de 298,422 mm 2 . Está fabricado en un proceso de 0,35 μm y empaquetado en una matriz de rejilla de contactos cerámicos (LGA) de 599 almohadillas . Antes de la introducción del R10000, el Microprocessor Report , que cubría el Microprocessor Forum de 1994, informó que estaba empaquetado en una matriz de rejilla de pines cerámicos (CPGA) de 527 pines; y que los proveedores también investigaron la posibilidad de utilizar un módulo multichip (MCM) de 339 pines que contenía el chip del microprocesador y 1 MB de caché. [ 6 ]
Derivados
El R10000 fue ampliado mediante múltiples derivados sucesivos. Todos los derivados posteriores al R12000 mantienen su frecuencia de reloj lo más baja posible para mantener la disipación de potencia en el rango de 15 a 20 W, de modo que puedan integrarse de forma compacta en los sistemas de computación de alto rendimiento (HPC) de SGI.
R12000
El R12000 es una variante del R10000, cuyo desarrollo fue iniciado por MIPS y completado por SGI. Fue fabricado por NEC y Toshiba. La versión fabricada por NEC se denomina VR12000. El microprocesador se presentó en noviembre de 1998 y está disponible a 270, 300 y 360 MHz. El R12000 se desarrolló como una solución provisional tras la cancelación del proyecto "Beast", cuyo objetivo era crear un sucesor para el R10000. Entre los usuarios del R12000 se encuentran NEC, Siemens-Nixdorf , SGI y Tandem Computers (y posteriormente Compaq, tras la adquisición de Tandem).
El R12000 mejora la microarquitectura del R10000 mediante: la inserción de una etapa de pipeline adicional para mejorar la frecuencia del reloj resolviendo una ruta crítica; el aumento del número de entradas en la tabla de historial de bifurcaciones, mejorando la predicción; y la modificación de las colas de instrucciones para que tengan en cuenta la antigüedad de una instrucción en cola, lo que permite que las instrucciones más antiguas se ejecuten antes que las más nuevas, si es posible.
El R12000 fue fabricado por NEC y Toshiba en un proceso CMOS de 0,25 μm con cuatro niveles de interconexión de aluminio . El uso de un nuevo proceso no significa que el R12000 fuera una simple reducción de tamaño del chip con una microarquitectura modificada; el diseño del chip está optimizado para aprovechar el proceso de 0,25 μm. [ 7 ] [ 8 ] El VR12000 fabricado por NEC contenía 7,15 millones de transistores y medía 15,7 por 14,6 mm (229,22 mm 2 ).
R12000A
El R12000A es una variante del R12000 desarrollado por SGI. Presentado en julio de 2000, funciona a 400 MHz y fue fabricado por NEC mediante un proceso de 0,18 μm con interconexiones de aluminio .
R14000
El R14000 es una evolución del R12000, anunciado en julio de 2001. El R14000 opera a 500 MHz, gracias al proceso CMOS de 0,13 μm con cinco niveles de interconexión de cobre con el que se fabrica. Presenta mejoras en la microarquitectura del R12000 al admitir memorias SSRAM de doble velocidad de datos (DDR) para la caché secundaria y un bus de sistema de 200 MHz. [ 9 ]
R14000A
El R14000A es una evolución del R14000 anunciado en febrero de 2002. Opera a 600 MHz, disipa aproximadamente 17 W y fue fabricado por NEC Corporation en un proceso CMOS de 0,13 μm con siete niveles de interconexión de cobre. [ 9 ]
R16000
El R16000, con nombre en clave "N0", es el último derivado del R10000. Fue desarrollado por SGI y fabricado por NEC en su proceso de 0,11 μm con ocho niveles de interconexión de cobre. El microprocesador se presentó el 9 de enero de 2003, debutando a 700 MHz para el Fuel y también utilizado en su Onyx4 Ultimate Vision . [ 10 ] En abril de 2003, se presentó una versión de 600 MHz para el Origin 350. Las mejoras incluyen cachés de instrucciones y datos de 64 KB.
R16000A
El R16000A se refiere a los microprocesadores R16000 con frecuencias de reloj superiores a 700 MHz. El primer R16000A fue una versión de 800 MHz, presentada el 4 de febrero de 2004. Posteriormente, se presentó una versión de 900 MHz, que durante un tiempo fue el R16000A más rápido conocido públicamente . SGI reveló más tarde que se habían enviado R16000 de 1,0 GHz a clientes selectos. Entre los usuarios del R16000 se encontraban HP y SGI. SGI utilizó el microprocesador en sus estaciones de trabajo Fuel y Tezro , así como en los servidores y supercomputadoras Origin 3000. HP utilizó el R16000A en sus servidores tolerantes a fallos NonStop Himalaya S-Series, heredados de Tandem a través de Compaq.
R18000
El R18000 era un desarrollo posterior, finalmente cancelado, de la microarquitectura R10000, que presentaba importantes mejoras de Silicon Graphics, Inc., descritas en el simposio Hot Chips de 2001. El R18000 fue diseñado específicamente para los servidores y supercomputadoras ccNUMA de SGI. Cada nodo contaría con dos R18000 conectados mediante un bus multiplexado a un controlador de sistema, que conectaría los microprocesadores con su memoria local y con el resto del sistema a través de una red hipercube.
El R18000 mejoró las colas de instrucciones de punto flotante y revisó la unidad de punto flotante para incluir dos unidades de multiplicación y suma, cuadruplicando el número máximo de FLOPS. La división y la raíz cuadrada se realizarían en unidades separadas no segmentadas en paralelo a las unidades de multiplicación y suma. La interfaz del sistema y la jerarquía de memoria también se rediseñaron significativamente. Contaría con una dirección virtual de 52 bits y una dirección física de 48 bits. El bus del sistema de datos y direcciones multiplexado bidireccional de los modelos anteriores se reemplazaría por dos enlaces DDR unidireccionales, una ruta de escritura y direcciones multiplexadas de 64 bits y una ruta de lectura de 128 bits. Las rutas podían compartirse con otro R18000 mediante multiplexación. El bus también podía configurarse en la configuración SysAD o Avalanche para garantizar la retrocompatibilidad con los sistemas R10000.
El R18000 contaría con una caché secundaria asociativa de cuatro vías de 1 MB integrada en el chip; complementada por una caché terciaria opcional construida con SSRAM de velocidad de datos simple (SDR) o doble (DDR), o SDRAM DDR con capacidades de 2 a 64 MB. La caché L3 tendría sus etiquetas de caché, equivalentes a 400 KB, ubicadas en el chip para reducir la latencia. El acceso a la caché L3 se realizaría mediante un bus de 144 bits, de los cuales 128 bits se destinarían a datos y 16 bits a ECC. La frecuencia de reloj de la caché L3 sería programable.
El R18000 se fabricaría con el proceso UX5 de NEC, un proceso CMOS de 0,13 μm con nueve niveles de interconexión de cobre . Utilizaría una fuente de alimentación de 1,2 V y disiparía menos calor que los microprocesadores de servidor actuales para poder integrarse de forma compacta en los sistemas.
Notas
- ↑ "MIPS muestra las especificaciones RISC R10000 de próxima generación..." Unigram/X . 23 de marzo de 1992. pág. 1. Consultado el 16 de agosto de 2025 .
- ↑ "MIPS moviliza a sus aliados para invertir 150 millones de dólares en un proyecto conjunto de la serie R T5" . Unigram/X . 17 de mayo de 1993. pág. 3. Consultado el 16 de agosto de 2025 .
- ↑ "MIPS afirma un récord de punto flotante con R10000" . Unigram/X . 24 de octubre de 1994. pág. 3. Consultado el 16 de agosto de 2025 .
- ↑ Gwennap, Linley (27 de enero de 1997). "Alpha Sails, PowerPC Flails". Microprocessor Report , pp. 1, 6–9, p. 8."
- ↑ Yeager, Kenneth C. (abril de 1996). "El microprocesador superescalar MIPS R10000" (PDF) . IEEE Micro . 16 (2): 28. Bibcode : 1996IMicr..16b..28Y . doi : 10.1109/40.491460 . Archivado del original (PDF) el 19 de julio de 2011.
- ↑ Gwennap, Linley (24 de octubre de 1994). "MIPS R10000 utiliza una arquitectura desacoplada" (PDF) . Microprocessor Report . 8 (14): 4.
- ↑ Gwennap, Linley (6 de octubre de 1997). "MIPS R12000 alcanzará los 300 MHz" (PDF) . Microprocessor Report . 11 (13).
- ↑ Halfhill, Tom R. (enero de 1998). "RISC contraataca con el Mips R12000" . Byte . Vol. 23, n.º 1, págs. 49-50 .
- 1 2 ComputerWire (2 de julio de 2002). "SGI desarrollará chips MIPS para Origin y Onyx" . The Register .
- ↑ Silicon Graphics, Inc. (9 de enero de 2003). SGI aumenta la relación precio/rendimiento de la familia de estaciones de trabajo visuales Silicon Graphics Fuel hasta en un 25 %. ( Comunicado de prensa ).
Referencias
- Fu, Tim et al. (31 de agosto de 2001). "R18000: El último microprocesador superescalar de SGI" . Hot Chips XIII .
- Halfhill, Tom R. (noviembre de 1994). "T5: Fuerza Bruta" . Revista Byte .
- Heinrich, Joe (29 de enero de 1997). "Manual del usuario del microprocesador MIPS R10000" .
- Kanellos, Michael; Kawamoto, Dawn (9 de abril de 1998). "Silicon Graphics desecha los planes MIPS" . Noticias de CNET .
- MIPS Technologies, Incorporated. (Octubre de 1994). "Análisis del microprocesador R10000".
- Morgan, Timothy Prickett (16 de abril de 2003). "SGI anuncia el servidor HPC de gama media Origin 350". IT Jungle .
- NEC Corporation (24 de noviembre de 1998). NEC comercializa el microprocesador de mayor rendimiento del mundo . ( Comunicado de prensa ).
- Shankland, Stephen (15 de abril de 2003). "SGI actualiza el servidor Unix de gama media" . ZDNet .
- Vasseghi, N. et al. (noviembre de 1996). "Microprocesador RISC superescalar de 200 MHz" . IEEE Journal of Solid-State Circuits 31 (11): pp. 1675 – 1686.
- Yeager, Kenneth C. (agosto de 1995). "Microprocesador superescalar R10000" . Hot Chips VII .
- Implementaciones de MIPS
- Microprocesadores MIPS
- microprocesadores superescalares
- microprocesadores de 64 bits
- Introducciones relacionadas con la informática en 1995