SPARC ( Scalable Processor Architecture ) es una arquitectura de conjunto de instrucciones (ISA) de computación de conjunto de instrucciones reducido (RISC) desarrollada originalmente por Sun Microsystems . [1] [2] Su diseño fue fuertemente influenciado por el sistema experimental Berkeley RISC desarrollado a principios de la década de 1980. Desarrollado por primera vez en 1986 y lanzado en 1987, [3] [2] SPARC fue uno de los primeros sistemas RISC comerciales más exitosos, y su éxito llevó a la introducción de diseños RISC similares de varios proveedores durante los años 80 y 90.
Diseñador | Sun Microsystems (adquirido por Oracle Corporation ) [1] [2] |
---|---|
Bits | 64 bits (32 → 64) |
Introducido | 1986 (producción) 1987 (envíos) |
Versión | V9 (1993) / OSA2017 |
Diseño | RISC |
Tipo | Registrarse-Registrarse |
Codificación | Reparado |
Derivación | Código de condición |
Endianidad | Bi (grande → bi) |
Tamaño de página | 8 KB (4 KB → 8 KB) |
Extensiones | VIS 1.0, 2.0, 3.0, 4.0 |
Abierto | Sí, y libre de regalías |
Registros | |
Propósito general | 31 (G0 = 0; los registros no globales usan ventanas de registro ) |
Punto flotante | 32 (utilizable como 32 de precisión simple, 32 de precisión doble o 16 de precisión cuádruple) |
La primera implementación de la arquitectura original de 32 bits (SPARC V7) se utilizó en los sistemas de servidores y estaciones de trabajo Sun-4 de Sun , reemplazando sus sistemas Sun-3 anteriores basados en la serie de procesadores Motorola 68000 . SPARC V8 agregó una serie de mejoras que formaban parte de la serie de procesadores SuperSPARC lanzada en 1992. SPARC V9, lanzado en 1993, introdujo una arquitectura de 64 bits y se lanzó por primera vez en los procesadores UltraSPARC de Sun en 1995. Más tarde, se utilizaron procesadores SPARC en servidores de multiprocesamiento simétrico (SMP) y acceso a memoria no uniforme ( CC-NUMA ) producidos por Sun, Solbourne y Fujitsu , entre otros.
El diseño fue entregado al grupo de comercio internacional SPARC en 1989, y desde entonces su arquitectura ha sido desarrollada por sus miembros. SPARC International también es responsable de otorgar licencias y promover la arquitectura SPARC, administrar las marcas comerciales SPARC (incluida SPARC, que es de su propiedad) y proporcionar pruebas de conformidad . SPARC International tenía la intención de hacer crecer la arquitectura SPARC para crear un ecosistema más grande; SPARC tiene licencia para varios fabricantes, incluidos Atmel , Bipolar Integrated Technology , Cypress Semiconductor , Fujitsu , Matsushita y Texas Instruments . Debido a SPARC International, SPARC es completamente abierto, no propietario y libre de regalías.
A partir de septiembre de 2017, los últimos procesadores SPARC de gama alta comercial son Fujitsu 's SPARC64 XII (introducido en 2017 por su servidor SPARC M12) y Oracle ' s SPARC M8 introdujeron en septiembre de 2017 por sus servidores de gama alta.
El viernes 1 de septiembre de 2017, después de una ronda de despidos que comenzó en Oracle Labs en noviembre de 2016, Oracle canceló el diseño de SPARC después de la finalización del M8. Gran parte del grupo de desarrollo del núcleo de procesadores en Austin, Texas, fue despedido, al igual que los equipos en Santa Clara, California y Burlington, Massachusetts. [4] [5]
Se espera una versión "mejorada" del antiguo servidor SPARC M12 de Fuijitu en 2021. [6]
Características
La arquitectura SPARC estuvo fuertemente influenciada por los diseños RISC anteriores, incluidos los RISC I y II de la Universidad de California, Berkeley y el IBM 801 . Estos diseños originales de RISC eran minimalistas, incluían la menor cantidad posible de funciones o códigos de operación y tenían como objetivo ejecutar instrucciones a una velocidad de casi una instrucción por ciclo de reloj . Esto los hizo similares a la arquitectura MIPS en muchos aspectos, incluida la falta de instrucciones como multiplicar o dividir. Otra característica de SPARC influenciada por este movimiento inicial de RISC es la ranura de retardo de bifurcación .
El procesador SPARC generalmente contiene hasta 160 registros de propósito general . Según la especificación "Oracle SPARC Architecture 2015", una "implementación puede contener de 72 a 640 registros de 64 bits de uso general". [7] En cualquier momento, solo 32 de ellos son inmediatamente visibles para el software: 8 son un conjunto de registros globales (uno de los cuales, g0 , está cableado a cero, por lo que solo siete de ellos se pueden usar como registros) y el otros 24 son de la pila de registros. Estos 24 registros forman lo que se llama una ventana de registro , y en la llamada / retorno de la función, esta ventana se mueve hacia arriba y hacia abajo en la pila de registros. Cada ventana tiene 8 registros locales y comparte 8 registros con cada una de las ventanas adyacentes. Los registros compartidos se utilizan para pasar parámetros de función y devolver valores, y los registros locales se utilizan para retener valores locales a través de llamadas a funciones.
Lo "escalable" en SPARC proviene del hecho de que la especificación SPARC permite que las implementaciones escalen desde procesadores integrados hasta procesadores de servidor grandes, todos compartiendo el mismo conjunto de instrucciones básicas (sin privilegios). Uno de los parámetros arquitectónicos que se puede escalar es el número de ventanas de registro implementadas; la especificación permite implementar de tres a 32 ventanas, por lo que la implementación puede optar por implementar las 32 para proporcionar la máxima eficiencia de la pila de llamadas , o implementar solo tres para reducir el costo y la complejidad del diseño, o implementar un número entre ellas. Otras arquitecturas que incluyen características de archivo de registro similares incluyen Intel i960 , IA-64 y AMD 29000 .
La arquitectura ha pasado por varias revisiones. Ganó funcionalidad de multiplicación y división de hardware en la Versión 8. [8] [9] Se agregaron 64 bits (direccionamiento y datos) a la versión 9 de la especificación SPARC publicada en 1994. [10]
En SPARC Versión 8, el archivo de registro de punto flotante tiene 16 registros de doble precisión . Cada uno de ellos se puede utilizar como dos registros de precisión simple , lo que proporciona un total de 32 registros de precisión simple. Un par de registros de doble precisión con números pares e impares se puede utilizar como un registro de precisión cuádruple , lo que permite 8 registros de precisión cuádruple. SPARC Versión 9 agregó 16 registros más de doble precisión (a los que también se puede acceder como 8 registros de precisión cuádruple), pero no se puede acceder a estos registros adicionales como registros de precisión simple. Ninguna CPU SPARC implementa operaciones de precisión cuádruple en hardware a partir de 2004. [11]
Las instrucciones de sumar y restar etiquetadas realizan sumas y restas en valores, verificando que los dos bits inferiores de ambos operandos sean 0 y reportando desbordamiento si no lo son. Esto puede ser útil en la implementación del tiempo de ejecución para ML , Lisp y lenguajes similares que podrían usar un formato de entero etiquetado.
El endianness de la arquitectura SPARC V8 de 32 bits es puramente big endian. La arquitectura SPARC V9 de 64 bits utiliza instrucciones big-endian, pero puede acceder a los datos en orden de bytes big-endian o little-endian, elegido en el nivel de instrucción de la aplicación ( carga-almacenamiento ) o en el nivel de la página de memoria (a través de un Ajuste MMU). Este último se utiliza a menudo para acceder a datos de dispositivos inherentemente little-endian, como los de los buses PCI.
Historia
Ha habido tres revisiones importantes de la arquitectura. La primera versión publicada fue SPARC Versión 7 (V7) de 32 bits en 1986. SPARC Versión 8 (V8), una definición de arquitectura SPARC mejorada, fue lanzada en 1990. Las principales diferencias entre V7 y V8 fueron la adición de la multiplicación de enteros y dividir instrucciones y una actualización de la aritmética de punto flotante de "precisión extendida" de 80 bits a la aritmética de " precisión cuádruple " de 128 bits . SPARC V8 sirvió como base para el estándar IEEE 1754-1994, un estándar IEEE para una arquitectura de microprocesador de 32 bits.
SPARC Versión 9 , la arquitectura SPARC de 64 bits, fue lanzada por SPARC International en 1993. Fue desarrollada por el Comité de Arquitectura SPARC que consta de Amdahl Corporation , Fujitsu , ICL , LSI Logic , Matsushita , Philips , Ross Technology , Sun Microsystems y Texas Instruments . Las especificaciones más nuevas siempre cumplen con la especificación completa SPARC V9 Nivel 1.
En 2002, Fujitsu y Sun publicaron la SPARC Joint Programming Specification 1 (JPS1), que describe las funciones del procesador que se implementaron de manera idéntica en las CPU de ambas empresas ("Commonality"). Las primeras CPU compatibles con JPS1 fueron UltraSPARC III de Sun y SPARC64 V de Fujitsu. Las funcionalidades que no están cubiertas por JPS1 se documentan para cada procesador en "Complementos de implementación".
A finales de 2003, se lanzó JPS2 para admitir CPU multinúcleo. Las primeras CPU compatibles con JPS2 fueron UltraSPARC IV de Sun y SPARC64 VI de Fujitsu.
A principios de 2006, Sun lanzó una especificación de arquitectura ampliada, UltraSPARC Architecture 2005 . Esto incluye no solo las partes no privilegiadas y la mayoría de las privilegiadas de SPARC V9, sino también todas las extensiones arquitectónicas desarrolladas a través de las generaciones de procesadores de UltraSPARC III, IV IV +, así como las extensiones CMT que comienzan con la implementación UltraSPARC T1 :
- las extensiones del conjunto de instrucciones VIS 1 y VIS 2 y el registro GSR asociado
- múltiples niveles de registros globales, controlados por el registro GL
- Arquitectura MMU de 64 bits de Sun
- instrucciones privilegiadas ALLCLEAN, OTHERW, NORMALW e INVALW
- el acceso al registro VER ahora es hiperprivilegiado
- la instrucción SIR ahora es hiperprivilegiada
En 2007, Sun lanzó una especificación actualizada, UltraSPARC Architecture 2007 , que cumplió la implementación de UltraSPARC T2 .
En agosto de 2012, Oracle Corporation puso a disposición una nueva especificación, Oracle SPARC Architecture 2011 , que además de la actualización general de la referencia, agrega las extensiones del conjunto de instrucciones VIS 3 y el modo hiperprivilegiado a la especificación de 2007. [12]
En octubre de 2015, Oracle lanzó SPARC M7, el primer procesador basado en la nueva especificación Oracle SPARC Architecture 2015 . [7] [13] Esta revisión incluye extensiones de conjunto de instrucciones VIS 4 y cifrado asistido por hardware y memoria segura de silicio (SSM). [14]
La arquitectura SPARC ha proporcionado compatibilidad binaria de aplicaciones continua desde la primera implementación de SPARC V7 en 1987 hasta las implementaciones de la arquitectura Sun UltraSPARC.
Entre varias implementaciones de SPARC, SuperSPARC y UltraSPARC-I de Sun fueron muy populares y se utilizaron como sistemas de referencia para las pruebas de rendimiento SPEC CPU95 y CPU2000. El UltraSPARC-II de 296 MHz es el sistema de referencia para el banco de pruebas SPEC CPU2006.
Licenciatarios de arquitectura SPARC
Las siguientes organizaciones han obtenido la licencia de la arquitectura SPARC:
- Sistemas web Afara
- Tecnología integrada bipolar (BIT)
- Semiconductor de ciprés
- Centro Europeo de Investigación y Tecnología Espacial (ESTEC)
- Fujitsu (y su subsidiaria Fujitsu Microelectronics)
- Investigación de Gaisler
- Sistemas informáticos HAL
- Hyundai
- Lógica LSI
- Semiconductores Matra Harris (MHS)
- Matsushita Electrical Industrial Co.
- Meiko Scientific
- Tecnologías Metaflow
- Philips Electronics
- Prisma
- Tecnología Ross
- Computadora Solbourne
- Corporación de Ingeniería de Sistemas y Procesos (SPEC)
- TEMIC
- Weitek
Implementaciones
Nombre (nombre en clave) | Modelo | Frecuencia (megaciclo) | Arco. versión | Año | Total de hilos [nota 1] | Proceso (nm) | Transistores (millones) | Tamaño de matriz (mm 2 ) | Pines IO | Potencia (W) | Voltaje (v) | L1 Dcaché (KB) | L1 Icaché (KB) | Caché L2 (KB) | Caché L3 (KB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC MB86900 | Fujitsu [1] [3] [2] | 14.28–33 | V7 | 1986 | 1 × 1 = 1 | 1300 | 0,11 | - | 256 | - | - | 0-128 (unificado) | ninguno | ninguno | |
SPARC | Varios [nota 2] | 14.28–40 | V7 | 1989-1992 | 1 × 1 = 1 | 800-1300 | ~ 0,1–1,8 | - | 160-256 | - | - | 0-128 (unificado) | ninguno | ninguno | |
MN10501 (KAP) | Computadora Solbourne , Matsushita [15] | 33-36 | V8 | 1990-1991 | 1x1 = 1 | - | 1.0 [16] | - | - | - | - | 8 | 8 | 0-256 | ninguno |
microSPARC I (Tsunami) | TI TMS390S10 | 40–50 | V8 | 1992 | 1 × 1 = 1 | 800 | 0,8 | 225? | 288 | 2.5 | 5 | 2 | 4 | ninguno | ninguno |
SuperSPARC I (vikingo) | TI TMX390Z50 / Sun STP1020 | 33–60 | V8 | 1992 | 1 × 1 = 1 | 800 | 3.1 | - | 293 | 14.3 | 5 | dieciséis | 20 | 0-2048 | ninguno |
SPARClite | Fujitsu MB8683x | 66–108 | V8E | 1992 | 1 × 1 = 1 | - | - | - | 144, 176 | - | 2,5 / 3,3–5,0 V, 2,5–3,3 V | 1, 2, 8, 16 | 1, 2, 8, 16 | ninguno | ninguno |
hyperSPARC (Colorado 1) | Ross RT620A | 40–90 | V8 | 1993 | 1 × 1 = 1 | 500 | 1,5 | - | - | - | 5? | 0 | 8 | 128-256 | ninguno |
microSPARC II (rápido) | Fujitsu MB86904 / Sun STP1012 | 60-125 | V8 | 1994 | 1 × 1 = 1 | 500 | 2.3 | 233 | 321 | 5 | 3.3 | 8 | dieciséis | ninguno | ninguno |
hyperSPARC (Colorado 2) | Ross RT620B | 90-125 | V8 | 1994 | 1 × 1 = 1 | 400 | 1,5 | - | - | - | 3.3 | 0 | 8 | 128-256 | ninguno |
SuperSPARC II (Voyager) | Sun STP1021 | 75–90 | V8 | 1994 | 1 × 1 = 1 | 800 | 3.1 | 299 | - | dieciséis | - | dieciséis | 20 | 1024-2048 | ninguno |
hyperSPARC (Colorado 3) | Ross RT620C | 125-166 | V8 | 1995 | 1 × 1 = 1 | 350 | 1,5 | - | - | - | 3.3 | 0 | 8 | 512–1024 | ninguno |
TurboSPARC | Fujitsu MB86907 | 160–180 | V8 | 1996 | 1 × 1 = 1 | 350 | 3,0 | 132 | 416 | 7 | 3,5 | dieciséis | dieciséis | 512 | ninguno |
UltraSPARC (Spitfire) | Sun STP1030 | 143-167 | V9 | 1995 | 1 × 1 = 1 | 470 | 3.8 | 315 | 521 | 30 [nota 3] | 3.3 | dieciséis | dieciséis | 512–1024 | ninguno |
UltraSPARC (avispón) | Sun STP1030 | 200 | V9 | 1995 | 1 × 1 = 1 | 420 | 5.2 | 265 | 521 | - | 3.3 | dieciséis | dieciséis | 512–1024 | ninguno |
hyperSPARC (Colorado 4) | Ross RT620D | 180-200 | V8 | 1996 | 1 × 1 = 1 | 350 | 1,7 | - | - | - | 3.3 | dieciséis | dieciséis | 512 | ninguno |
SPARC64 | Fujitsu (HAL) | 101-118 | V9 | 1995 | 1 × 1 = 1 | 400 | - | Multichip | 286 | 50 | 3.8 | 128 | 128 | - | - |
SPARC64 II | Fujitsu (HAL) | 141-161 | V9 | 1996 | 1 × 1 = 1 | 350 | - | Multichip | 286 | 64 | 3.3 | 128 | 128 | - | - |
SPARC64 III | Fujitsu (HAL) MBCS70301 | 250-330 | V9 | 1998 | 1 × 1 = 1 | 240 | 17,6 | 240 | - | - | 2.5 | 64 | 64 | 8192 | - |
UltraSPARC IIs (Blackbird) | Sun STP1031 | 250–400 | V9 | 1997 | 1 × 1 = 1 | 350 | 5.4 | 149 | 521 | 25 [nota 4] | 2.5 | dieciséis | dieciséis | 1024 o 4096 | ninguno |
UltraSPARC IIs (Zafiro-Negro) | Sol STP1032 / STP1034 | 360–480 | V9 | 1999 | 1 × 1 = 1 | 250 | 5.4 | 126 | 521 | 21 [nota 5] | 1,9 | dieciséis | dieciséis | 1024–8192 | ninguno |
UltraSPARC IIi (Sable) | Sun SME1040 | 270–360 | V9 | 1997 | 1 × 1 = 1 | 350 | 5.4 | 156 | 587 | 21 | 1,9 | dieciséis | dieciséis | 256-2048 | ninguno |
UltraSPARC IIi (Zafiro-Rojo) | Sun SME1430 | 333–480 | V9 | 1998 | 1 × 1 = 1 | 250 | 5.4 | - | 587 | 21 [nota 6] | 1,9 | dieciséis | dieciséis | 2048 | ninguno |
UltraSPARC IIe (colibrí) | Sun SME1701 | 400–500 | V9 | 1999 | 1 × 1 = 1 | 180 Al | - | - | 370 | 13 [nota 7] | 1,5–1,7 | dieciséis | dieciséis | 256 | ninguno |
UltraSPARC IIi (IIe +) (fantasma) | Sun SME1532 | 550–650 | V9 | 2000 | 1 × 1 = 1 | 180 Cu | - | - | 370 | 17,6 | 1,7 | dieciséis | dieciséis | 512 | ninguno |
SPARC64 GP | Fujitsu SFCB81147 | 400–563 | V9 | 2000 | 1 × 1 = 1 | 180 | 30,2 | 217 | - | - | 1.8 | 128 | 128 | 8192 | - |
SPARC64 GP | - | 600–810 | V9 | - | 1 × 1 = 1 | 150 | 30,2 | - | - | - | 1,5 | 128 | 128 | 8192 | - |
SPARC64 IV | Fujitsu MBCS80523 | 450–810 | V9 | 2000 | 1 × 1 = 1 | 130 | - | - | - | - | - | 128 | 128 | 2048 | - |
UltraSPARC III (guepardo) | Sun SME1050 | 600 | JPS1 | 2001 | 1 × 1 = 1 | 180 Al | 29 | 330 | 1368 | 53 | 1,6 | 64 | 32 | 8192 | ninguno |
UltraSPARC III (guepardo) | Sun SME1052 | 750–900 | JPS1 | 2001 | 1 × 1 = 1 | 130 Al | 29 | - | 1368 | - | 1,6 | 64 | 32 | 8192 | ninguno |
UltraSPARC III Cu (Cheetah +) | Sun SME1056 | 900-1200 | JPS1 | 2001 | 1 × 1 = 1 | 130 Cu | 29 | 232 | 1368 | 50 [nota 8] | 1,6 | 64 | 32 | 8192 | ninguno |
UltraSPARC IIIi (Jalapeño) | Sun SME1603 | 1064-1593 | JPS1 | 2003 | 1 × 1 = 1 | 130 | 87,5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | ninguno |
SPARC64 V (Zeus) | Fujitsu | 1100-1350 | JPS1 | 2003 | 1 × 1 = 1 | 130 | 190 | 289 | 269 | 40 | 1.2 | 128 | 128 | 2048 | - |
SPARC64 V + (Olympus-B) | Fujitsu | 1650-2160 | JPS1 | 2004 | 1 × 1 = 1 | 90 | 400 | 297 | 279 | sesenta y cinco | 1 | 128 | 128 | 4096 | - |
UltraSPARC IV (Jaguar) | Sun SME1167 | 1050-1350 | JPS2 | 2004 | 1 × 2 = 2 | 130 | 66 | 356 | 1368 | 108 | 1,35 | 64 | 32 | 16384 | ninguno |
UltraSPARC IV + (Pantera) | Sun SME1167A | 1500-2100 | JPS2 | 2005 | 1 × 2 = 2 | 90 | 295 | 336 | 1368 | 90 | 1.1 | 64 | 64 | 2048 | 32768 |
UltraSPARC T1 (Niágara) | Sun SME1905 | 1000-1400 | UA2005 | 2005 | 4 × 8 = 32 | 90 | 300 | 340 | 1933 | 72 | 1.3 | 8 | dieciséis | 3072 | ninguno |
SPARC64 VI (Olympus-C) | Fujitsu | 2150–2400 | JPS2 | 2007 | 2 × 2 = 4 | 90 | 540 | 422 | - | 120-150 | 1.1 | 128 × 2 | 128 × 2 | 4096–6144 | ninguno |
UltraSPARC T2 (Niagara 2) | Sun SME1908A | 1000-1600 | UA2007 | 2007 | 8 × 8 = 64 | sesenta y cinco | 503 | 342 | 1831 | 95 | 1.1–1.5 | 8 | dieciséis | 4096 | ninguno |
UltraSPARC T2 Plus (Cataratas Victoria) | Sun SME1910A | 1200–1600 | UA2007 | 2008 | 8 × 8 = 64 | sesenta y cinco | 503 | 342 | 1831 | - | - | 8 | dieciséis | 4096 | ninguno |
SPARC64 VII (Júpiter) [17] | Fujitsu | 2400-2880 | JPS2 | 2008 | 2 × 4 = 8 | sesenta y cinco | 600 | 445 | - | 150 | - | 64 × 4 | 64 × 4 | 6144 | ninguno |
UltraSPARC "RK" ( Rock ) [18] | Sun SME1832 | 2300 | ???? | cancelado [19] | 2 × 16 = 32. | sesenta y cinco | ? | 396 | 2326 | ? | ? | 32 | 32 | 2048 | ? |
SPARC64 VIIIfx (Venus) [20] [21] | Fujitsu | 2000 | JPS2 / HPC-ACE | 2009 | 1 × 8 = 8 | 45 | 760 | 513 | 1271 | 58 | ? | 32 × 8 | 32 × 8 | 6144 | ninguno |
LEON2FT | Atmel AT697F | 100 | V8 | 2009 | 1 × 1 = 1 | 180 | - | - | 196 | 1 | 1.8 / 3.3 | dieciséis | 32 | - | - | ninguno |
SPARC T3 (Cataratas del arco iris) | Oracle / Sol | 1650 | UA2007 | 2010 | 8 × 16 = 128. | 40 [22] | ???? | 371 | ? | 139 | ? | 8 | dieciséis | 6144 | ninguno |
Galaxy FT-1500 | NUDT (China) | 1800 | UA2007? | 201? | 8 × 16 = 128. | 40 | ???? | ??? | ? | sesenta y cinco | ? | 16 × 16 | 16 × 16 | 512 × 16 | 4096 |
SPARC64 VII + (Júpiter-E o M3) [23] [24] | Fujitsu | 2667–3000 | JPS2 | 2010 | 2 × 4 = 8 | sesenta y cinco | - | - | - | 160 | - | 64 × 4 | 64 × 4 | 12288 | ninguno |
LEON3FT | Cobham Gaisler GR712RC | 100 | V8E | 2011 | 1 × 2 = 2 | 180 | - | - | - | 1.5 [nota 9] | 1.8 / 3.3 | 4x4Kb | 4x4Kb | ninguno | ninguno |
R1000 | MCST (Rusia) | 1000 | JPS2 | 2011 | 1 × 4 = 4 | 90 | 180 | 128 | - | 15 | 1, 1.8, 2.5 | 32 | dieciséis | 2048 | ninguno |
SPARC T4 (Cataratas de Yosemite) [25] | Oráculo | 2850–3000 | OSA2011 | 2011 | 8 × 8 = 64 | 40 | 855 | 403 | ? | 240 | ? | 16 × 8 | 16 × 8 | 128 × 8 | 4096 |
SPARC64 IXfx [26] [27] [28] | Fujitsu | 1850 | JPS2 / HPC-ACE | 2012 | 1x16 = 16 | 40 | 1870 | 484 | 1442 | 110 | ? | 32 × 16 | 32 × 16 | 12288 | ninguno |
SPARC64 X (Athena) [29] | Fujitsu | 2800 | OSA2011 / HPC-ACE | 2012 | 2 × 16 = 32. | 28 | 2950 | 587,5 | 1500 | 270 | ? | 64 × 16 | 64 × 16 | 24576 | ninguno |
SPARC T5 | Oráculo | 3600 | OSA2011 | 2013 | 8 × 16 = 128. | 28 | 1500 | 478 | ? | ? | ? | 16 × 16 | 16 × 16 | 128 × 16 | 8192 |
SPARC M5 [30] | Oráculo | 3600 | OSA2011 | 2013 | 8 × 6 = 48 | 28 | 3900 | 511 | ? | ? | ? | 16 × 6 | 16 × 6 | 128 × 6 | 49152 |
SPARC M6 [31] | Oráculo | 3600 | OSA2011 | 2013 | 8 × 12 = 96. | 28 | 4270 | 643 | ? | ? | ? | 16 × 12 | 16 × 12 | 128 × 12 | 49152 |
SPARC64 X + (Athena +) [32] | Fujitsu | 3200–3700 | OSA2011 / HPC-ACE | 2014 | 2 × 16 = 32. | 28 | 2990 | 600 | 1500 | 392 | ? | 64 × 16 | 64 × 16 | 24M | ninguno |
SPARC64 XIfx [33] | Fujitsu | 2200 | JPS2 / HPC-ACE2 | 2014 | 1 × (32 + 2) = 34 | 20 | 3750 | ? | 1001 | ? | ? | 64 × 34 | 64 × 34 | 12M × 2 | ninguno |
SPARC M7 [34] [35] | Oráculo | 4133 | OSA2015 | 2015 | 8 × 32 = 256. | 20 | > 10,000 | ? | ? | ? | ? | 16 × 32 | 16 × 32 | 256 × 24 | 65536 |
SPARC S7 [36] [37] | Oráculo | 4270 | OSA2015 | 2016 | 8 × 8 = 64 | 20 | ???? | ? | ? | ? | ? | 16 × 8 | 16 × 8 | 256 × 2 + 256 × 4 | 16384 |
SPARC64 XII [38] | Fujitsu | 4250 | OSA201? / HPC-ACE | 2017 | 8 × 12 = 96. | 20 | 5500 | 795 | 1860 | ? | ? | 64 × 12 | 64 × 12 | 512 × 12 | 32768 |
SPARC M8 [39] [40] | Oráculo | 5000 | OSA2017 | 2017 | 8 × 32 = 256. | 20 | ? | ? | ? | ? | ? | 32 × 32 | 16 × 32 | 128 × 32 + 256 × 8 | 65536 |
LEON4 | Cobham Gaisler GR740 | 250 [nota 10] | V8E | 2017 | 1 × 4 = 4 | 32 | - | - | - | - | 1.2 / 2.5 / 3.3 | 4x4 | 4x4 | 2048 | ninguno |
LEON5 | Cobham Gaisler | - | V8E | 2019 | ? | ? | - | - | - | - | - | ? | ? | 16–8192 | ninguno |
Nombre (nombre en clave) | Modelo | Frecuencia (megaciclo) | Arco. versión | Año | Total de hilos [nota 1] | Proceso (nm) | Transistores (millones) | Tamaño de matriz (mm 2 ) | Pines IO | Potencia (W) | Voltaje (v) | L1 Dcaché (KB) | L1 Icaché (KB) | Caché L2 (KB) | Caché L3 (KB) |
Notas :
- ^ a b Subprocesos por núcleo × número de núcleos
- ^ Fujitsu, LSI Logic , Weitek, Texas Instruments, Cypress y Temicprodujeron varias implementaciones de SPARC V7. Un procesador SPARC V7 generalmente constaba de varios chips discretos, que generalmente comprenden una unidad entera (IU), una unidad de punto flotante (FPU), una unidad de gestión de memoria (MMU) y una memoria caché. Por el contrario, Atmel (ahora Microchip Technology) TSC695 es una implementación SPARC V7 de un solo chip.
- ^ A 167 MHz
- ^ A 250 MHz
- ^ A 400 MHz
- ^ A 440 MHz
- ^ máx. A 500 MHz
- ^ A 1200 MHz
- ^ excluyendo buses de E / S
- ^ nominal; especificación de 100 a 424 MHz dependiendo de las capacidades de RAM adjunta
Soporte del sistema operativo
Las máquinas SPARC generalmente han utilizado SunOS , Solaris u OpenSolaris de Sun , incluidos illumos derivados y OpenIndiana , pero también se han utilizado otros sistemas operativos , como NeXTSTEP , RTEMS , FreeBSD , OpenBSD , NetBSD y Linux .
En 1993, Intergraph anunció una adaptación de Windows NT a la arquitectura SPARC, [41] pero luego fue cancelada.
En octubre de 2015, Oracle anunció una "plataforma de referencia Linux para SPARC". [42]
Implementaciones de código abierto
Existen varias implementaciones de código abierto de la arquitectura SPARC:
- LEON , una implementación SPARC V8 tolerante a la radiación de 32 bits , diseñada especialmente para uso espacial. El código fuente está escrito en VHDL y tiene licencia GPL .
- OpenSPARC T1 , lanzado en 2006, una implementación de 64 bits y 32 subprocesos que se ajusta a la Arquitectura UltraSPARC 2005 y a SPARC Versión 9 (Nivel 1). El código fuente está escrito en Verilog y tiene muchas licencias. La mayor parte del código fuente de OpenSPARC T1 tiene licencia GPL. Las fuentes basadas en proyectos de código abierto existentes seguirán teniendo sus licencias actuales. Los programas binarios tienen licencia de acuerdo con un contrato de licencia de software binario .
- S1 , un núcleo de CPU compatible con Wishbone de 64 bits basado en el diseño OpenSPARC T1. Es un único núcleo UltraSPARC v9 capaz de SMT de 4 vías. Al igual que el T1, el código fuente tiene licencia GPL.
- OpenSPARC T2 , lanzado en 2008, una implementación de 64 bits y 64 subprocesos que se ajusta a la Arquitectura UltraSPARC 2007 y a SPARC Versión 9 (Nivel 1). El código fuente está escrito en Verilog y tiene muchas licencias. La mayor parte del código fuente de OpenSPARC T2 tiene licencia GPL. La fuente basada en proyectos de código abierto existentes seguirá teniendo la licencia correspondiente a sus licencias actuales. Los programas binarios están sujetos a un Acuerdo de licencia de software binario.
Un totalmente de código abierto simulador para la arquitectura SPARC también existe:
- RAMP Gold , una implementación SPARC Versión 8 de 32 bits y 64 hilos, diseñada para la simulación de arquitectura basada en FPGA. RAMP Gold está escrito en ~ 36,000 líneas de SystemVerilog y tiene licencia bajo las licencias BSD .
Supercomputadoras
Para cargas HPC, Fujitsu construye procesadores fx SPARC64 especializados con un nuevo conjunto de extensiones de instrucciones, llamado HPC-ACE (Computación de alto rendimiento - Extensiones computacionales aritméticas).
La computadora K de Fujitsu ocupó el primer lugar en las listas TOP500 de junio de 2011 y noviembre de 2011. Combina 88,128 CPU SPARC64 VIIIfx , cada una con ocho núcleos, para un total de 705,024 núcleos, casi el doble que cualquier otro sistema en el TOP500 en ese momento. La computadora K era más poderosa que los siguientes cinco sistemas de la lista combinados y tenía la relación rendimiento / potencia más alta de cualquier sistema de supercomputadora. [43] También ocupó el puesto número 6 en la lista Green500 de junio de 2011, con una puntuación de 824,56 MFLOPS / W. [44] En el lanzamiento de noviembre de 2012 de TOP500 , la computadora K ocupó el tercer lugar, utilizando con mucho la mayor potencia de las tres primeras. [45] Ocupó el puesto 85 en el correspondiente lanzamiento de Green500 . [46] Los procesadores HPC más nuevos, IXfx y XIfx , se incluyeron en las supercomputadoras PRIMEHPC FX10 y FX100 recientes .
Tianhe-2 ( TOP500 No. 1 en noviembre de 2014 [47] ) tiene varios nodos con procesadores Galaxy FT-1500 OpenSPARC desarrollados en China. Sin embargo, esos procesadores no contribuyeron a la puntuación LINPACK . [48] [49]
Ver también
- ERC32 : basado en la especificación SPARC V7
- Ross Technology, Inc. - desarrollador de microprocesadores SPARC durante las décadas de 1980 y 1990
- Sparcle : un SPARC modificado con soporte de multiprocesamiento utilizado por el proyecto MIT Alewife
- LEON : un procesador SPARC V8 con clasificación espacial.
- R1000 : un microprocesador ruso de cuatro núcleos basado en la especificación SPARC V9
- Galaxy FT-1500 : un procesador chino basado en OpenSPARC de 16 núcleos
Referencias
- ^ a b c "Fujitsu para llevar ARM al reino de Super" . El Museo CPU Shack . 21 de junio de 2016 . Consultado el 30 de junio de 2019 .
- ^ a b c d "Línea de tiempo" . SPARC Internacional . Consultado el 30 de junio de 2019 .
- ^ a b "Fujitsu SPARC" . cpu-collection.de . Consultado el 30 de junio de 2019 .
- ^ Steven J. Vaughan-Nichols (5 de septiembre de 2017). "Sun set: Oracle cierra las últimas líneas de productos Sun" . ZDNet .
- ^ Shaun Nichols (31 de agosto de 2017). Oracle finalmente decide dejar de prolongar lo inevitable, comienza despidos de hardware ” . El registro .
- ^ "Hoja de ruta: Fujitsu Global" . www.fujitsu.com . Consultado el 28 de marzo de 2021 .
- ^ a b "Oracle SPARC Architecture 2015: Una arquitectura ... Múltiples implementaciones innovadoras" (PDF) . Borrador D1.0.0. 12 de enero de 2016 . Consultado el 13 de junio de 2016 .
IMPL. DEP. # 2-V8: Una implementación de la arquitectura SPARC de Oracle puede contener de 72 a 640 registros R de 64 bits de uso general. Esto corresponde a una agrupación de los registros en MAXPGL + 1 conjuntos de registros R globales más una pila circular de N_REG_WINDOWS conjuntos de 16 registros cada uno, conocidas como ventanas de registro. El número de ventanas de registro presentes (N_REG_WINDOWS) depende de la implementación, dentro del rango de 3 a 32 (inclusive).
- ^ "Opciones SPARC" , Using the GNU Compiler Collection (GCC) , GNU , consultado el 8 de enero de 2013
- ^ Optimizaciones SPARC con GCC , OSNews , 23 de febrero de 2004 , consultado el 8 de enero de 2013
- ^ Weaver, DL; Germond, T., eds. (1994), "The SPARC Architecture Manual, Version 9" , SPARC International, Inc. , Prentice Hall , ISBN 0-13-825001-4, archivado (PDF) del original el 18 de enero de 2012 , consultado el 6 de diciembre de 2011
- ^ "Comportamiento e implementación de SPARC" . Guía de cálculo numérico - Sun Studio 10 . Sun Microsystems, Inc. 2004 . Consultado el 24 de septiembre de 2011 .
Sin embargo, hay cuatro situaciones en las que el hardware no completa satisfactoriamente una instrucción de punto flotante: ... El hardware no implementa la instrucción (como ... instrucciones de precisión cuádruple en cualquier SPARC FPU).
- ^ "Oracle SPARC Architecture 2011" (PDF) , Oracle Corporation , 21 de mayo de 2014 , consultado el 25 de noviembre de 2015
- ^ John Soat. "Innovación SPARC M7" . Sitio web de Oracle . Oracle Corporation . Consultado el 13 de octubre de 2015 .
- ^ "Software en Silicon Cloud - Oracle" . www.oracle.com .
- ^ "Floodgap Retrobits presenta el Solbourne Solace: un santuario para el SPARC olvidado" . www.floodgap.com . Consultado el 14 de enero de 2020 .
- ^ Sager, D .; Hinton, G .; Upton, M .; Chappell, T .; Fletcher, TD; Samaan, S .; Murray, R. (2001). "Un microprocesador CMOS IA32 de 0,18 μm con una unidad de ejecución de enteros de 4 GHz". 2001 IEEE International Solid-State Circuits Conference. Recopilación de artículos técnicos. ISSCC (No de catálogo 01CH37177) . San Francisco, CA, EE. UU .: IEEE: 324–325. doi : 10.1109 / ISSCC.2001.912658 . ISBN 978-0-7803-6608-4.
- ^ Características y especificaciones clave de FX1 (PDF) , Fujitsu , 19 de febrero de 2008 , consultado el 6 de diciembre de 2011
- ^ Tremblay, Marc ; Chaudhry, Shailender (19 de febrero de 2008), "A Third-Generation 65nm 16-Core 32-Thread Plus 32-Scout-Thread CMT SPARC (R) Processor" (PDF) , OpenSPARC , Sun Microsystems , consultado el 6 de diciembre de 2011
- ^ Vance, Ashlee (15 de junio de 2009), "Se dice que el sol cancela el proyecto Big Chip" , The New York Times , consultado el 23 de mayo de 2010.
- ^ "Fujitsu shows off SPARC64 VII" , heise online , 28 de agosto de 2008 , consultado el 6 de diciembre de 2011
- ^ Barak, Sylvie (14 de mayo de 2009), "Fujitsu desvela la CPU más rápida del mundo" , The Inquirer , consultado el 6 de diciembre de 2011
- ^ "Procesador Sparc T3" (PDF) , Oracle Corporation , consultado el 6 de diciembre de 2011
- ^ Morgan, Timothy Prickett (3 de diciembre de 2010), "Ellison: Sparc T4 vence el próximo año" , The Register , consultado el 6 de diciembre de 2011
- ^ "Arquitectura de servidores SPARC Enterprise M-series" (PDF) , Fujitsu , abril de 2011
- ^ Morgan, Timothy Prickett (22 de agosto de 2011), "Oracle's Sparc T4 chip" , The Register , consultado el 6 de diciembre de 2011
- ^ Morgan, Timothy Prickett (21 de noviembre de 2011), "Fujitsu parades 16-core Sparc64 super stunner" , The Register , consultado el 8 de diciembre de 2011
- ^ "Fujitsu Launches PRIMEHPC FX10 Supercomputer" , Fujitsu , 7 de noviembre de 2011 , consultado el 3 de febrero de 2012
- ^ "Descargar Ixfx" (PDF) . fujitsu.com.
- ^ "Imágenes de SPARC64" (PDF) . fujitsu.com . Consultado el 29 de agosto de 2017 .
- ^ "Productos Oracle" (PDF) . oracle.com . Consultado el 29 de agosto de 2017 .
- ^ "Productos Oracle SPARC" (PDF) . oracle.com . Consultado el 29 de agosto de 2017 .
- ^ "Presentación de Fujitsu pdf" (PDF) . fujitsu.com . Consultado el 29 de agosto de 2017 .
- ^ "Imágenes globales de Fujitsu" (PDF) . fujitsu.com. Archivado desde el original (PDF) el 18 de mayo de 2015 . Consultado el 29 de agosto de 2017 .
- ^ "M7: SPARC de próxima generación. Hotchips 26" (PDF) . swisdev.oracle.com . Consultado el 12 de agosto de 2014 .
- ^ "Arquitectura de servidor SPARC T7 y SPARC M7 de Oracle" (PDF) . oracle.com . Consultado el 10 de octubre de 2015 .
- ^ "Hot Chips - 23 al 25 de agosto de 2015 - Conf. Día 1 - Procesador Sonoma de Oracle: procesador SPARC avanzado de bajo costo para cargas de trabajo empresariales de Basant Vinaik y Rahoul Puri" (PDF) . hotchips.org . Consultado el 23 de agosto de 2015 .
- ^ "Planos revelados: Oracle encaja a Sparc M7 e InfiniBand en chips 'Sonoma' más baratos" . theregister.co.uk . Consultado el 29 de agosto de 2017 .
- ^ "Documentos en Fujitsu" (PDF) . fujitsu.com . Consultado el 29 de agosto de 2017 .
- ^ "Los nuevos sistemas SPARC de Oracle ofrecen un rendimiento, capacidades de seguridad y eficiencia de 2 a 7 veces mejores que los sistemas basados en Intel" . oracle.com . Consultado el 18 de septiembre de 2017 .
- ^ "Procesador SPARC M8" (PDF) . oracle.com . Consultado el 18 de septiembre de 2017 .
- ^ McLaughlin, John (7 de julio de 1993), "Intergraph to Port Windows NT to SPARC" , The Florida SunFlash , 55 (11) , consultado el 6 de diciembre de 2011
- ^ Proyecto: Linux para SPARC - oss.oracle.com , 12 de octubre de 2015 , consultado el 4 de diciembre de 2015
- ^ "TOP500 List (1-100)" , TOP500 , junio de 2011 , consultado el 6 de diciembre de 2011
- ^ "The Green500 List" , Green500 , junio de 2011, archivado desde el original el 3 de julio de 2011
- ^ "Lista Top500 - Noviembre de 2012 | Sitios de supercomputadoras TOP500" , TOP500 , noviembre de 2012 , consultado el 8 de enero de 2013
- ^ "The Green500 List - noviembre de 2012 | The Green500" , Green500 , noviembre de 2012 , consultado el 8 de enero de 2013
- ^ "Tianhe-2 (MilkyWay-2)" , TOP500 , mayo de 2015 , consultado el 27 de mayo de 2015
- ^ Keane, Andy, "Tesla Supercomputing" ( mp4 ) , Nvidia , consultado el 6 de diciembre de 2011
- ^ Thibodeau, Patrick (4 de noviembre de 2010), EE . UU. Dice que China está construyendo una supercomputadora 'completamente autóctona' , Computerworld , consultado el 28 de agosto de 2017
enlaces externos
- SPARC International, Inc.
- Documentación del procesador Oracle SPARC en Wayback Machine (archivada el 13 de octubre de 2019)
- Documentos técnicos SPARC
- Especificación de la arquitectura OpenSPARC
- Materiales de referencia de Hypervisor / Sun4v
- Fujitsu SPARC64 V, VI, VII, VIIIfx, extensiones IXfx y especificación X / X +
- Sun - Documentación de procesadores UltraSPARC en Wayback Machine (archivada el 14 de enero de 2010)
- Sun - Documentación de hardware abierto de FOSS en Wayback Machine (archivada el 9 de diciembre de 2011)
- OpenSPARC en Wayback Machine (archivado el 27 de febrero de 2011)
- Oracle SPARC y Solaris Public Roadmap en Wayback Machine (archivado el 25 de mayo de 2018)
- Hoja de ruta de Fujitsu SPARC
- Imágenes y descripciones del procesador SPARC
- La guía aproximada de los módulos MBus (SuperSPARC, hyperSPARC)
- SPARC Versión 9, conferencia de David Ditzel en YouTube
- SPARC en Curlie