stringtranslate.com

10.000€

NEC VR10000.

El R10000 , cuyo nombre en código es "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 jefe son Chris Rowen y Kenneth C. Yeager. La microarquitectura R10000 se conoce como ANDES, abreviatura de 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 otros lugares. 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 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 suspendió poco después debido a la preferencia del cliente por la versión de 175 MHz. El R10000 no estuvo disponible en grandes volúmenes hasta finales de 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, tenía un precio de 3.000 dólares estadounidenses. [1]

El 25 de septiembre de 1996, SGI anunció que los R10000 fabricados por NEC entre marzo y finales de julio de ese año estaban defectuosos, 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 en 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

Troquel 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 se aleja de los microprocesadores MTI anteriores, como el R4000, que es un diseño escalar en orden mucho más simple que se basa en gran medida en altas frecuencias de reloj para su rendimiento.

El R10000 recupera cuatro instrucciones en cada ciclo de su caché de instrucciones . Estas instrucciones se decodifican y luego se colocan en 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 cuenta con la ayuda de instrucciones predecodificadas del 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 la decodificación. proceso.

Cada una de las colas de instrucciones puede aceptar hasta cuatro instrucciones del decodificador, evitando cuellos de botella. Las colas de instrucciones emiten sus instrucciones a sus unidades de ejecución de forma dinámica dependiendo de la disponibilidad de operandos y recursos. Cada una de las colas, excepto la cola de carga/almacenamiento, puede emitir hasta dos instrucciones en cada ciclo a sus unidades de ejecución. La cola de carga/almacenamiento solo puede emitir una instrucción. De este modo, el R10000 puede emitir hasta cinco instrucciones en cada ciclo.

unidad entera

La unidad de enteros consta del archivo de registro de enteros y tres canalizaciones , dos de enteros y un almacén 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 registro. El archivo de registro tiene siete puertos de lectura y tres puertos de escritura. Ambas canalizaciones de números enteros tienen un sumador y una unidad lógica. Sin embargo, sólo el primer oleoducto tiene un cambiador de barril y hardware para confirmar la predicción de ramas condicionales. La segunda tubería se utiliza para acceder al multiplicador y al divisor. Las multiplicaciones están canalizadas y tienen una latencia de seis ciclos para enteros de 32 bits y diez para enteros de 64 bits. La división no está canalizada. El divisor utiliza un algoritmo sin restauración que produce un bit por ciclo. Las latencias para divisiones de 32 y 64 bits son 35 y 67 ciclos, respectivamente.

unidad de punto flotante

La unidad de punto flotante (FPU) consta de cuatro unidades funcionales, un sumador, un multiplicador, una unidad de división y una unidad de raíz cuadrada. El sumador y el multiplicador están canalizados, pero las unidades de división y 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 de división 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 enviar 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 el resto son registros de cambio de nombre. El sumador tiene sus propios puertos dedicados de lectura y escritura, mientras que el multiplicador los comparte con el divisor y la unidad de raíz cuadrada.

Las unidades de división y raíz cuadrada utilizan el algoritmo SRT . El MIPS IV ISA tiene una instrucción de multiplicación y suma. El R10000 implementa esta instrucción con una derivación: el resultado de la multiplicación puede omitir el archivo de registro y entregarse al canal 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 en chip comparativamente grandes, un caché de instrucciones de 32 KB y un caché de datos de 32 KB. La caché de instrucciones es asociativa 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 la memoria caché.

La caché de datos de 32 KB tiene doble puerto mediante entrelazado bidireccional. Consta de dos bancos de 16 KB , y cada banco es asociativo por conjuntos de dos vías. La caché tiene líneas de 64 bytes, utiliza el protocolo de reescritura y está virtualmente indexada y etiquetada físicamente para permitir que la caché se indexe 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. Se implementa con memoria de acceso aleatorio estática síncrona (SSRAM) básica. Se accede al 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 frecuencia que el R10000, cuya frecuencia máxima era de 200 MHz. A 200 MHz, el bus produjo un ancho de banda máximo de 3,2 GB/s. El caché es asociativo de dos vías, pero para evitar un recuento alto de pines, el R10000 predice a qué vía se accede.

Direccionamiento

MIPS IV es una arquitectura de 64 bits, pero para reducir costos, el R10000 no implementa toda la dirección física o virtual . 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 en frecuencias de hasta 100 MHz. Avalanche es un bus de datos y direcciones 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 máximo es de 640 MB/s, ya que requiere algunos ciclos para transmitir direcciones.

El controlador de interfaz del sistema admite multiprocesamiento simétrico (SMP) sin pegamento de hasta cuatro microprocesadores. Los sistemas que utilizan el R10000 con lógica externa pueden escalar a cientos de procesadores. Un ejemplo de tal 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 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 se empaqueta en una matriz de rejilla terrestre cerámica (LGA) de 599 almohadillas. Antes de que se presentara el R10000, el Microprocessor Report , que cubrió el Foro de Microprocesadores 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 contenga el microprocesador y 1 MB de caché. [3]

Derivados

El R10000 se amplió con 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 energía en el rango de 15 a 20 W para que puedan empaquetarse densamente en los sistemas de computación de alto rendimiento (HPC) de SGI.

R12000

Troquel 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 introdujo 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. Los usuarios de R12000 incluyen NEC, Siemens-Nixdorf , SGI y Tandem Computers (y más tarde Compaq, después de la adquisición de Tandem).

El R12000 mejora la microarquitectura del R10000 al: insertar una etapa de tubería adicional para mejorar la frecuencia del reloj resolviendo una ruta crítica; aumentar el número de entradas en la tabla del historial de sucursales, mejorar 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 un simple encogimiento de matrices con una microarquitectura modificada; 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. Introducido en julio de 2000, opera a 400 MHz y fue fabricado por NEC con un proceso de 0,18 µm con interconexiones de aluminio .

14000€

El R14000 es un desarrollo adicional del R12000 anunciado en julio de 2001. El R14000 funciona 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 el caché secundario y un bus del sistema de 200 MHz. [6]

R14000A

El R14000A es un desarrollo adicional 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

El R16000, cuyo nombre en código es "N0", es el último derivado del R10000. Está 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 introdujo el 9 de enero de 2003, debutó a 700 MHz para Fuel y también se utilizó en su Onyx4 Ultimate Vision. [7] En abril de 2003, se introdujo 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 microprocesadores R16000 con velocidades de reloj superiores a 700 MHz. El primer R16000A es una versión de 800 MHz, presentada el 4 de febrero de 2004. Posteriormente, se introdujo una versión de 900 MHz y esta versión fue, durante algún tiempo, el R16000A más rápido conocido públicamente; SGI reveló más tarde que se enviaron R16000 de 1,0 GHz a empresas seleccionadas. clientes. Los usuarios de R16000 incluyeron HP y SGI. SGI utilizó el microprocesador en sus estaciones de trabajo Fuel y Tezro ; y los servidores y supercomputadoras Origin 3000 . HP utilizó el R16000A en sus servidores tolerantes a fallas NonStop Himalaya S-Series heredados de Tandem a través de Compaq.

18000€

El R18000 es un desarrollo adicional cancelado de la microarquitectura R10000 que presentó importantes mejoras por parte de Silicon Graphics, Inc. descritas en el simposio Hot Chips en 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 del sistema, que conectaría los microprocesadores con su memoria local y el resto del sistema a través de una red de hipercubo.

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, cuadriplicando el recuento máximo de FLOPS. La división y la raíz cuadrada se realizarían en unidades separadas no canalizadas en paralelo a las unidades de multiplicación y suma. La interfaz del sistema y la jerarquía de la 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 del sistema de datos y direcciones multiplexadas bidireccionales de los modelos anteriores sería reemplazado por dos enlaces DDR unidireccionales, una dirección multiplexada de 64 bits y una ruta de escritura y una ruta de lectura de 128 bits. Las rutas podrían compartirse con otro R18000 mediante multiplexación. El bus también se puede configurar en la configuración SysAD o Avalanche para compatibilidad con sistemas R10000.

El R18000 tendría un caché secundario asociativo de cuatro vías de 1 MB que se incluiría en el chip; complementado con una caché terciaria opcional construida a partir de SSRAM de velocidad de datos única (SDR) o velocidad de datos 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. 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 del reloj de la caché L3 sería programable.

El R18000 iba a fabricarse en 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 habría disipado menos calor que los microprocesadores de servidores contemporáneos para poder estar densamente empaquetado en los sistemas.

Notas

  1. ^ Gwennap, Linley (27 de enero de 1997). "Alpha Sails, PowerPC Mayales". Informe del microprocesador , págs. 1, 6–9., pág. 8."
  2. ^ Yeager, Kenneth C. (abril de 1996). "El microprocesador superescalar MIPS R10000" (PDF) . Micro IEEE . 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 arquitectura desacoplada" (PDF) . Informe del microprocesador . 8 (14): 4.
  4. ^ Gwennap, Linley (6 de octubre de 1997). "MIPS R12000 alcanzará los 300 MHz" (PDF) . Informe del microprocesador . 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, Onyx". El registro .
  7. ^ Silicon Graphics, Inc. (9 de enero de 2003). SGI aumenta el precio/rendimiento de la familia de estaciones de trabajo visuales Silicon Graphics Fuel hasta en un 25%. ( Presione soltar ).

Referencias