Articulo de referencia

10000 reales

Modelo VR10000 de NEC. El R10000 , cuyo nombre en código era "T5", es una implementación de microprocesador RISC de la arquitectura de conjunto de instrucciones (ISA) MIPS IV de...

Modelo VR10000 de NEC.

El R10000 , cuyo nombre en código era "T5", es una implementación de microprocesador RISC de la arquitectura de 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 R10000 se conoce como ANDES, una abreviatura de Architecture with Non-sequential Dynamic Execution Scheduling (Arquitectura con programación de ejecución dinámica no secuencial). El R10000 reemplaza en gran medida al R8000 en la gama alta y al R4400 en el resto del mundo. MTI era una empresa de semiconductores sin fábrica ; el R10000 fue fabricado por NEC y Toshiba . Los fabricantes anteriores de microprocesadores MIPS, como Integrated Device Technology (IDT) y otros tres, no fabricaron el R10000 porque era más caro hacerlo que el R4000 y el R4400.

Historia

El R10000 se introdujo en enero de 1996 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 dejó de fabricar 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 más tarde en el año debido a problemas de fabricación en las fundiciones de MIPS. La versión de 195 MHz escaseó durante 1996 y, como resultado, su precio era de 3000 dólares estadounidenses. [1]

El 25 de septiembre de 1996, SGI anunció que los R10000 fabricados por NEC entre marzo y fines de julio de ese año presentaban fallas, consumían demasiada corriente y provocaban que los sistemas se apagaran durante el funcionamiento. Como resultado, SGI retiró del mercado 10 000 R10000 que se habían enviado a los sistemas, lo que afectó las ganancias de la empresa.

En 1997, una versión del R10000 fabricada en un proceso de 0,25 μm permitió que el microprocesador alcanzara los 250 MHz.

Usuarios

Los usuarios del R10000 incluyen:

Descripción

Matriz de impresión NEC VR10000.

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 es diferente de los microprocesadores MTI anteriores, como el R4000, que es un diseño escalar en orden mucho más simple que depende en gran medida de altas frecuencias de reloj para el 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 números enteros, de punto flotante o de carga/almacenamiento, según el tipo de instrucción. La unidad de decodificación recibe la ayuda de las instrucciones predecodificadas de la caché de instrucciones, que añaden 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 aceptar hasta cuatro instrucciones del decodificador, evitando así cuellos de botella. Las colas de instrucciones envían sus instrucciones a sus unidades de ejecución de forma dinámica en función de la disponibilidad de operandos y recursos. Cada una de las colas, excepto la cola 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 tanto, el R10000 puede enviar hasta cinco instrucciones por ciclo.

Unidad entera

La unidad de enteros consta del archivo de registro de enteros y tres pipelines , dos de enteros y uno de almacenamiento de carga. El archivo de registro de enteros tiene 64 bits de ancho y contiene 64 entradas, de las cuales 32 son registros arquitectónicos y 32 son registros de cambio de nombre que implementan el cambio de nombre de registros. El archivo de registro tiene siete puertos de lectura y tres puertos de escritura. Ambos pipelines de enteros tienen un sumador y una unidad lógica. Sin embargo, solo el primer pipeline tiene un desplazador de barril y hardware para confirmar la predicción de las ramas condicionales. El segundo pipeline se utiliza para acceder al multiplicador y al divisor. Las multiplicaciones se canalizan y tienen una latencia de seis ciclos para enteros de 32 bits y diez para enteros de 64 bits. La división no se canaliza. El divisor utiliza un algoritmo sin restauración que produce un bit por ciclo. Las latencias para las divisiones de 32 bits y 64 bits son 35 y 67 ciclos, respectivamente.

Unidad de punto flotante

La unidad de coma flotante (FPU) consta de cuatro unidades funcionales: un sumador, un multiplicador, una unidad divisora ​​y una unidad de raíz cuadrada. El sumador y el multiplicador están segmentados, pero las unidades divisora ​​y de raíz cuadrada no. Las sumas y multiplicaciones tienen una latencia de tres ciclos y el sumador y el multiplicador pueden aceptar una nueva instrucción en cada ciclo. La unidad divisora ​​tiene una latencia de 12 o 19 ciclos, dependiendo de si la división es de precisión simple o de precisión doble, respectivamente.

La unidad de raíz cuadrada ejecuta instrucciones de raíz cuadrada y raíz cuadrada recíproca . Las instrucciones de raíz cuadrada tienen una latencia de 18 o 33 ciclos para precisión simple o precisión doble, respectivamente. Se puede emitir una nueva instrucción de raíz cuadrada a la unidad de división cada 20 o 35 ciclos para precisión simple y precisión doble, respectivamente. Las raíces cuadradas recíprocas tienen latencias más largas, de 30 a 52 ciclos para precisión simple (32 bits) y precisión doble (64 bits), respectivamente.

El archivo de registro de punto flotante contiene sesenta y cuatro registros de 64 bits, de los cuales treinta y dos son arquitectónicos y los restantes son registros de cambio de nombre. El sumador tiene sus propios puertos de lectura y escritura dedicados, mientras que el multiplicador comparte los suyos con el divisor y la unidad de raíz cuadrada.

Las unidades de división y raíz cuadrada utilizan el algoritmo SRT . El ISA MIPS IV tiene una instrucción de multiplicación-suma. Esta instrucción es implementada por el R10000 con una derivación: el resultado de la multiplicación puede omitir el archivo de registros y enviarse a la secuencia de suma como un operando, por lo que no es una multiplicación-suma fusionada y tiene una latencia de cuatro ciclos.

Cachés

El R10000 tiene dos cachés integrados relativamente grandes: un caché de instrucciones de 32 KB y un caché de datos de 32 KB. El caché de instrucciones es asociativo por conjuntos de dos vías y tiene un tamaño de línea de 128 bytes. Las instrucciones se decodifican parcialmente añadiendo cuatro bits a cada instrucción (que tienen una longitud de 32 bits) antes de colocarlas en el caché.

La caché de datos de 32 KB tiene dos puertos mediante intercalación bidireccional. Consta de dos bancos de 16 KB , y cada banco es asociativo de conjuntos 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 que la caché se indexe en el mismo ciclo de reloj y para mantener la coherencia con la caché secundaria.

La caché secundaria unificada externa admitía capacidades entre 512 KB y 16 MB. Se implementa con memoria de acceso aleatorio estática síncrona (SSRAM) estándar. Se accede a la caché a través de su propio bus de 128 bits, que está protegido por un código de corrección de errores (ECC) de 9 bits. La caché y el bus funcionan a la misma velocidad de reloj que el R10000, cuya frecuencia máxima era de 200 MHz. A 200 MHz, el bus ofrecía un ancho de banda máximo de 3,2 GB/s. La caché es asociativa por conjuntos de dos vías, pero para evitar un gran número de pines, el R10000 predice en qué dirección se accede.

Direccionamiento

MIPS IV es una arquitectura de 64 bits, pero para reducir costes el R10000 no implementa toda la dirección física o virtual , sino que 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 .

Bus del sistema Avalanche

El R10000 utiliza el bus Avalanche, un bus de 64 bits que opera en frecuencias de hasta 100 MHz. Avalanche es un bus de direcciones y datos multiplexado , por lo que a 100 MHz produce 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 multiprocesamiento simétrico sin pegamento (SMP) de hasta cuatro microprocesadores. Los sistemas que utilizan el R10000 con lógica externa pueden escalar a cientos de procesadores. Un ejemplo de un sistema de este tipo 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 memorias caché primarias. [2] La matriz mide 16,640 por 17,934 mm, para un área de matriz de 298,422 mm 2 . Se fabrica en un proceso de 0,35 μm y está empaquetado en una matriz de rejilla de cerámica de 599 pines (LGA). Antes de que se presentara el R10000, el Microprocessor Report , que cubría el Microprocessor Forum de 1994, informó que estaba empaquetado en una matriz de rejilla de cerámica de 527 pines (CPGA); y que los proveedores también investigaron la posibilidad de utilizar un módulo multichip (MCM) de 339 pines que contiene la matriz del microprocesador y 1 MB de caché. [3]

Derivados

El R10000 se amplió con varios derivados sucesivos. Todos los derivados posteriores al R12000 tienen su frecuencia de reloj lo más baja posible para mantener la disipación de energía en el rango de 15 a 20 W, de modo que puedan empaquetarse densamente en los sistemas de computación de alto rendimiento (HPC) de SGI.

12000 reales

Matriz de impresión NEC VR12000.

El R12000 es un derivado del R10000 iniciado por MIPS y completado por SGI. Fue fabricado por NEC y Toshiba. La versión fabricada por NEC se llama VR12000. El microprocesador se presentó en noviembre de 1998. Está disponible en 270, 300 y 360 MHz. El R12000 se desarrolló como una solución provisional tras la cancelación del proyecto "Beast", que pretendía ofrecer un sucesor del R10000. Entre los usuarios del R12000 se incluyen NEC, Siemens-Nixdorf , SGI y Tandem Computers (y más tarde Compaq, tras su adquisición de Tandem).

El R12000 mejora la microarquitectura R10000 al: insertar una etapa de canalización adicional para mejorar la frecuencia del reloj al resolver una ruta crítica; aumentar la cantidad de entradas en la tabla de historial de ramas, mejorando la predicción; modificar las colas de instrucciones para que tengan en cuenta la antigüedad de una instrucción en cola, permitiendo 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 contracción de matriz con una microarquitectura ajustada; el diseño de la matriz está optimizado para aprovechar el proceso de 0,25 μm. [4] [5] 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 un derivado 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 .

14000 reales

El R14000 es un desarrollo posterior 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 está fabricado. Presenta mejoras en la microarquitectura del R12000 al admitir SSRAM de doble velocidad de datos (DDR) para la caché secundaria y un bus de sistema de 200 MHz. [6]

R14000A

El R14000A es un desarrollo posterior 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. [6]

16000 reales

El R16000, cuyo nombre en código es "N0", es el último derivado del R10000. Lo desarrolló SGI y lo fabricó 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 se utilizó en su Onyx4 Ultimate Vision. [7] En abril de 2003, se presentó una versión de 600 MHz para el Origin 350. Las mejoras son cachés de datos e instrucciones de 64 KB.

R16000A

El R16000A se refiere a los microprocesadores R16000 con frecuencias de reloj superiores a 700 MHz. El primer R16000A es una versión de 800 MHz, presentada el 4 de febrero de 2004. Más tarde, se presentó una versión de 900 MHz, y esta versión fue, durante algún tiempo, la R16000A más rápida conocida públicamente; SGI reveló más tarde que se habían enviado R16000 de 1,0 GHz a clientes seleccionados. Los usuarios del R16000 incluían a HP y SGI. SGI utilizó el microprocesador en sus estaciones de trabajo Fuel y Tezro ; y 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.

18000 reales

El R18000 es un desarrollo posterior cancelado de la microarquitectura R10000 que incluía 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 tendría dos R18000 conectados a través de un bus multiplexado a un controlador de sistema, que interconectaría los microprocesadores con su memoria local y el resto del sistema a través de una red de hipercubos.

El R18000 mejoró las colas de instrucciones de punto flotante y revisó la unidad de punto flotante para incluir dos unidades de multiplicación-suma, cuadruplicando el recuento pico 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-suma. La interfaz del sistema y la jerarquía de memoria también se modificaron significativamente. Tendría una dirección virtual de 52 bits y una dirección física de 48 bits. El bus de sistema de datos y dirección multiplexada bidireccional de los modelos anteriores se reemplazaría por dos enlaces DDR unidireccionales, una ruta de escritura y dirección multiplexada de 64 bits y una ruta de lectura de 128 bits. Las rutas se podrían compartir con otro R18000 a través de multiplexación. El bus también se podría configurar en la configuración SysAD o Avalanche para compatibilidad con versiones anteriores de los sistemas R10000.

El R18000 tendría una caché secundaria asociativa de cuatro vías de 1 MB que se incluiría en el chip; complementada por una caché terciaria opcional construida a partir de SSRAM de velocidad de datos simple (SDR) o de velocidad de datos doble (DDR) o DDR SDRAM 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. Se accedería a la caché L3 a través de un bus de 144 bits, de los cuales 128 bits son para datos y 16 bits para ECC. La velocidad 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 . Habría utilizado una fuente de alimentación de 1,2 V y disipado menos calor que los microprocesadores de servidor contemporáneos para poder integrarse en los sistemas de forma compacta.

Notas

  1. ^ Gwennap, Linley (27 de enero de 1997). "Alpha Sails, PowerPC Flails". Microprocessor Report , págs. 1, 6–9, pág. 8."
  2. ^ Yeager, Kenneth C. (abril de 1996). "El microprocesador superescalar MIPS R10000" (PDF) . IEEE Micro . 16 (2): 28. doi :10.1109/40.491460. Archivado desde el original (PDF) el 19 de julio de 2011.
  3. ^ Gwennap, Linley (24 de octubre de 1994). "MIPS R10000 utiliza una arquitectura desacoplada" (PDF) . Microprocessor Report . 8 (14): 4.
  4. ^ Gwennap, Linley (6 de octubre de 1997). "MIPS R12000 alcanzará los 300 MHz" (PDF) . Microprocessor Report . 11 (13).
  5. ^ Halfhill, Tom R. (enero de 1998). "RISC contraataca con el Mips R12000". Byte . Vol. 23, núm. 1. págs.  49– 50.
  6. ^ ab ComputerWire (2 de julio de 2002). "SGI desarrollará chips MIPS para Origin y Onyx". The Register .
  7. ^ 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 %. ( Nota 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". Byte Magazine .
  • 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 descarta los planes de MIPS". CNET News .
  • MIPS Technologies, Incorporated. (Octubre de 1994). "Revisión del producto del microprocesador R10000" [ enlace muerto permanente ‍] .
  • 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 . ( Nota 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): págs. 1675–1686.
  • Yeager, Kenneth C. (agosto de 1995). "Microprocesador superescalar R10000". Hot Chips VII .
Obtenido de "https://es.wikipedia.org/w/index.php?title=R10000&oldid=1237719937"