SPARC

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
RISC instrucción conjunto arquitectura
A Sun UltraSPARC II microprocesador (1997)

SPARC (Arquitectura de procesador escalable) es una arquitectura de conjunto de instrucciones de computadora con conjunto de instrucciones reducido (RISC) desarrollada originalmente por Sun Microsystems. Su diseño estuvo 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 al mercado en 1987, SPARC fue uno de los primeros sistemas RISC comerciales más exitosos, y su éxito condujo a la introducción de diseños RISC similares de muchos proveedores durante las décadas de 1980 y 1990.

La primera implementación de la arquitectura original de 32 bits (SPARC V7) se utilizó en los sistemas de servidores y estaciones de trabajo informáticas 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, Los procesadores SPARC se utilizaron 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 se entregó al grupo comercial SPARC International 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 de SPARC (incluida SPARC, de la que es propietario) 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 ha obtenido la licencia de 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.

En septiembre de 2017, los procesadores SPARC comerciales de gama alta más recientes son el SPARC64 XII de Fujitsu (presentado en 2017 para su servidor SPARC M12) y el SPARC M8 de Oracle presentado en septiembre de 2017 para su servidor de alta servidores finales.

El viernes 1 de septiembre de 2017, después de una ronda de despidos que comenzó en Oracle Labs en noviembre de 2016, Oracle finalizó el diseño de SPARC después de completar el M8. Gran parte del grupo de desarrollo del núcleo del procesador en Austin, Texas, fue despedido, al igual que los equipos de Santa Clara, California y Burlington, Massachusetts.

Fujitsu también descontinuará su producción de SPARC (ya pasó a producir sus propias CPU basadas en ARM), luego de dos actualizaciones "mejoradas" versiones del servidor SPARC M12 más antiguo de Fujitsu en 2020–22 (anteriormente planeado para 2021) y nuevamente en 2026–27, fin de la venta en 2029, de servidores UNIX y un año después para su mainframe y fin de -apoyo en 2034 "para promover la modernización del cliente".

Características

La arquitectura SPARC estuvo fuertemente influenciada por los diseños RISC anteriores, incluidos el RISC I y II de la Universidad de California, Berkeley y el IBM 801. Estos diseños RISC originales eran minimalistas e incluían la menor cantidad posible de funciones o códigos de operación. y con el objetivo de 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 primer movimiento RISC es la ranura de demora de rama.

El procesador SPARC suele contener hasta 160 registros de uso general. Según el "Oracle SPARC Architecture 2015" especificación una "implementación puede contener de 72 a 640 de uso general de 64 bits" registros 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á conectado a cero, por lo que solo siete de ellos se pueden usar como registros) y los otros 24 son de la pila de registros. Estos 24 registros forman lo que se llama una ventana de registros, 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 usan para pasar parámetros de funciones y devolver valores, y los registros locales se usan para retener valores locales entre llamadas a funciones.

El "Escalable" en SPARC proviene del hecho de que la especificación SPARC permite que las implementaciones se escalen desde procesadores integrados hasta grandes procesadores de servidor, todos compartiendo el mismo conjunto de instrucciones central (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 funciones de archivo de registro similares incluyen Intel i960, IA-64 y AMD 29000.

La arquitectura ha pasado por varias revisiones. Obtuvo la funcionalidad de multiplicación y división de hardware en la versión 8. Se agregaron 64 bits (direccionamiento y datos) a la especificación SPARC de la versión 9 publicada en 1994.

En la versión 8 de SPARC, 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, proporcionando un total de 32 registros de precisión simple. Un par de números pares e impares de registros de precisión doble se puede utilizar como un registro de precisión cuádruple, lo que permite 8 registros de precisión cuádruple. La versión 9 de SPARC agregó 16 registros de precisión doble más (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.

Las instrucciones de suma y resta etiquetadas realizan sumas y restas en valores verificando que los dos bits inferiores de ambos operandos sean 0 e informando sobre el 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 pueden usar un formato de entero etiquetado.

El carácter endian 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, elegidos en el nivel de instrucciones de la aplicación (carga-almacenamiento) o en el nivel de la página de memoria (a través de un configuración de 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, se lanzó en 1990. Las principales diferencias entre V7 y V8 fueron la adición de instrucciones de multiplicación y división de enteros, y una actualización de 80 bits de "extended-precision" aritmética de punto flotante a "precisión cuádruple" de 128 bits; aritmética. 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 compuesto por 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 SPARC V9 Nivel 1 completa.

En 2002, Fujitsu y Sun publicaron la Especificación de programación conjunta 1 (JPS1) de SPARC, que describe las funciones del procesador que se implementaron de manera idéntica en las CPU de ambas empresas ("Commonalidad"). Las primeras CPU que se ajustaron a JPS1 fueron la UltraSPARC III de Sun y la SPARC64 V de Fujitsu. Las funcionalidades que no están cubiertas por JPS1 se documentan para cada procesador en "Suplementos de implementación".

A fines de 2003, se lanzó JPS2 para admitir CPU multinúcleo. Las primeras CPU que se ajustaron a 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 porciones 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 de UltraSPARC T1:

  • las prórrogas 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 Sun
  • instrucciones privilegiadas ALLCLEAN, OTHERW, NORMALW, e INVALW
  • el acceso al registro VER es ahora hiperprivilado
  • la instrucción SIR es ahora hiperprivileged

En 2007, Sun lanzó una especificación actualizada, UltraSPARC Architecture 2007, que cumplía con 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 de VIS 3 y el modo hiperprivilegiado a la especificación de 2007.

En octubre de 2015, Oracle lanzó SPARC M7, el primer procesador basado en la nueva especificación Oracle SPARC Architecture 2015. Esta revisión incluye extensiones del conjunto de instrucciones de VIS 4, cifrado asistido por hardware y memoria protegida por silicio (SSM).

La arquitectura SPARC ha brindado 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 usaron como sistemas de referencia para las pruebas comparativas SPEC CPU95 y CPU2000. El UltraSPARC-II de 296 MHz es el sistema de referencia para el benchmark SPEC CPU2006.

Arquitectura

SPARC es una arquitectura de carga/almacenamiento (también conocida como arquitectura registro-registro); a excepción de las instrucciones de carga/almacenamiento utilizadas para acceder a la memoria, todas las instrucciones operan en los registros, de acuerdo con los principios de diseño de RISC.

Registros

La arquitectura SPARC tiene un esquema de ventana de registro superpuesto. En cualquier instante, son visibles 32 registros de propósito general. Una variable de puntero de ventana actual (CWP) en el hardware apunta al conjunto actual. El tamaño total del archivo de registro no forma parte de la arquitectura, lo que permite agregar más registros a medida que la tecnología mejora, hasta un máximo de 32 ventanas en SPARC V7 y V8 ya que CWP es de 5 bits y forma parte del registro PSR.

En SPARC V7 y V8, CWP normalmente se reducirá con la instrucción SAVE (utilizada por la instrucción SAVE durante la llamada al procedimiento para abrir un nuevo marco de pila y cambiar la ventana de registro), o se incrementará con la instrucción RESTORE (volver a la llamada antes de volver del procedimiento). Los eventos de captura (interrupciones, excepciones o instrucciones TRAP) y las instrucciones RETT (que regresan de las trampas) también cambian el CWP. Para SPARC V9, el registro CWP se reduce durante una instrucción RESTORE y se incrementa durante una instrucción SAVE. Esto es lo opuesto al comportamiento de PSR.CWP en SPARC V8. Este cambio no tiene efecto en las instrucciones no privilegiadas.

Ventana Dirección
Grupo de registroMnemonicDirección de registroAvailabilty
mundialG0-G7R[0]-R[7]Siempre los mismos, G0 siendo cero siempre.
Fuera.O0-O7R[8]-R[15]Para ser entregado y devuelto de la subrutina llamada, como su "en".
localL0-L7R[16]-R[23]Verdaderamente local a la subrutina actual.
dentroI0-I7R[24]-R[31]Entregado de la persona que llama, y regresado al que llama, como su "out".

Los registros SPARC se muestran en la figura anterior.

Formatos de instrucciones

Todas las instrucciones SPARC ocupan una palabra completa de 32 bits y comienzan en un límite de palabra. Se utilizan cuatro formatos, que se distinguen por los dos primeros bits. Todas las instrucciones aritméticas y lógicas tienen 2 operandos de origen y 1 operando de destino.

El formato de instrucción SETHI copia su operando inmediato de 22 bits en los 22 bits de orden superior de cualquier registro especificado y establece cada uno de los 10 bits de orden inferior en 0.

Formato registro ALU, ambas fuentes son registros; formato ALU inmediato, una fuente es un registro y una es una constante en el rango -4096 a +4095. El bit 13 selecciona entre ellos. En ambos casos, el destino es siempre un registro.

Las instrucciones de formato de rama controlan transferencias o ramas condicionales. El campo icc o fcc especifica el tipo de rama. El campo de desplazamiento de 22 bits proporciona la dirección relativa del objetivo en palabras para que las ramas condicionales puedan avanzar o retroceder hasta 8 megabytes. El bit ANNUL (A) se usa para deshacerse de algunas ranuras de retardo. Si es 0 en una bifurcación condicional, la ranura de retraso se ejecuta como de costumbre. Si es 1, la ranura de retardo solo se ejecuta si se toma la bifurcación. Si no se toma, se salta la instrucción que sigue a la bifurcación condicional.

La instrucción CALL utiliza un desplazamiento de palabra relativo al contador del programa de 30 bits. Este valor es suficiente para llegar a cualquier instrucción dentro de los 4 gigabytes de la persona que llama o todo el espacio de direcciones. La instrucción CALL deposita la dirección de retorno en el registro R15 también conocido como registro de salida O7.

Al igual que las instrucciones aritméticas, la arquitectura SPARC utiliza dos formatos diferentes para las instrucciones de carga y almacenamiento. El primer formato se usa para instrucciones que usan uno o dos registros como dirección efectiva. El segundo formato se usa para instrucciones que usan una constante entera como dirección efectiva.

Formatos de instrucción SPARC
Tipo Bit
313029282726252423222120191817161514131211109876543210
formato SETHI00RD100Inmediata constante 22 bits
Formato de la Subdivisión00Aicc010Desplazamiento constante 22 bits
F. Formato de la Subdivisión00Afcc110Desplazamiento constante 22 bits
CALL disp01Desplazamiento relacionado con la PC
Registro Aritmético10RDopcodeRS 100RS 2
Aritmetic inmediata10RDopcodeRS 11Inmediata constante 13 bits
FPU10FD110100/110101SM 1opfSM 2
LD/ST register11RDopcodeRS 100RS 2
LD/ST immediate11RDopcodeRS 11Inmediata constante 13 bits

La mayoría de las instrucciones aritméticas vienen en pares con una versión configurando los bits del código de condición NZVC y la otra no. Esto es para que el compilador tenga una forma de mover las instrucciones cuando intenta llenar espacios de retardo.

SPARC V7 no tiene instrucciones de multiplicación o división, pero tiene MULSCC, que hace un paso de una multiplicación probando un bit y agregando condicionalmente el multiplicando al producto. Esto se debió a que MULSCC puede completar más de un ciclo de reloj de acuerdo con la filosofía RISC.

Licenciatarios de arquitectura SPARC

Las siguientes organizaciones han licenciado la arquitectura SPARC:

  • Afara Websystems
  • Bipolar Integrated Technology (BIT)
  • Cypress Semiconductor
  • European Space Research and Technology Center (ESTEC)
  • Fujitsu (y su filial de Fujitsu Microelectrónica)
  • Gaisler Research
  • Sistemas informáticos HAL
  • Hyundai
  • LSI Logic
  • Matra Harris Semiconductors (MHS)
  • Matsushita Electrical Industrial Co.
  • Meiko Scientific
  • Metaflow Technologies
  • Philips Electronics
  • Prisma
  • Ross Technology
  • Solbourne Computer
  • Corporación de Ingeniería de Procesos de Sistemas (SPEC)
  • TEMIC
  • Weitek

Implementaciones

Nombre (nombre de código) Modelo Frecuencia (MHz) Arch. version Año Total de hilos Proceso nm) Transistores (millones) Tamaño de la muerte (mm2) IO pins Power (W) Voltaje (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) L3 cache (KB)
SPARC MB86900 Fujitsu 14.28 a 33V719861×1=113000.112560–128 (unificado)ningunoninguno
SPARC Varios 14.28 a 40V71989 a 19921×1=1800-1300~0.1–1.8160-2560–128 (unificado)ningunoninguno
MN10501 (KAP) Solbourne Computer,

Matsushita

33-36 V8 1990-1991 1x1=1 1.0 8 8 0–256 ninguno
microSPARC I (Tsunami) TI TMS390S10 40–50V819921×1=18000,8¿225?2882.5524ningunoninguno
SuperSPARC I (Vikingo) TI TMX390Z50 / Sun STP1020 33-60V819921×1=18003.129314.3516200–2048ninguno
SPARClite Fujitsu MB8683x 66–108V8E19921×1=1144, 1762.5/3.3–5.0 V, 2.5–3.3 V1, 2, 8, 161, 2, 8, 16ningunoninguno
hyperSPARC (Colorado 1) Ross RT620A 40 a 90V819931×1=15001,5¿5?08128–256ninguno
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125V819941×1=15002.323332153.3816ningunoninguno
hyperSPARC (Colorado 2) Ross RT620B 90–125V819941×1=14001,53.308128–256ninguno
SuperSPARC II (Voyager) Sun STP1021 75 a 90V819941×1=18003.12991616201024–2048ninguno
hyperSPARC (Colorado 3) Ross RT620C 125–166V819951×1=13501,53.308512–1024ninguno
TurboSPARC Fujitsu MB86907 160–180V819961×1=13503.013241673.51616512ninguno
UltraSPARC (Spitfire) Sun STP1030 143–167V919951×1=14703.8315521303.31616512–1024ninguno
UltraSPARC (Hornet) Sun STP1030 200V919951×1=14205.22655213.31616512–1024ninguno
hyperSPARC (Colorado 4) Ross RT620D 180–200V819961×1=13501.73.31616512ninguno
SPARC64 Fujitsu (HAL) 101–118V919951×1=1400Multichip286503.8128128
SPARC64 II Fujitsu (HAL) 141–161V919961×1=1350Multichip286643.3128128
SPARC64 III Fujitsu (HAL) MBCS70301 250-330V919981×1=124017.62402.564648192
UltraSPARC IIs (Blackbird) Sun STP1031 250–400V919971×1=13505.4149521252.516161024 o 4096ninguno
UltraSPARC IIs (Sapphire-Black) Sun STP1032 / STP1034 360–480V919991×1=12505.4126521211.916161024–8192ninguno
UltraSPARC IIi (Sabre) Sun SME1040 270-360V919971×1=13505.4156587211.91616256–2048ninguno
UltraSPARC IIi (Sapphire-Red) Sun SME1430 333–480V919981×1=12505.4587211.916162048ninguno
UltraSPARC IIe (Hummingbird) Sun SME1701 400 a 500V919991×1=1180 Al370131,5 a 1,71616256ninguno
UltraSPARC IIi (IIe+) (Phantom) Sun SME1532 550 a 650V920001×1=1180 Cu37017.61.71616512ninguno
SPARC64 GP Fujitsu SFCB81147 400–563V920001×1=118030.22171.81281288192
SPARC64 GP -- 600 a 810V91×1=115030.21,51281288192
SPARC64 IV Fujitsu MBCS80523 450–810V920001×1=11301281282048
UltraSPARC III (Cheetah) Sun SME1050 600JPS120011×1=1180 Al293301368531.664328192ninguno
UltraSPARC III (Cheetah) Sun SME1052 750–900JPS120011×1=1130 Al2913681.664328192ninguno
UltraSPARC III Cu (Cheetah+) Sun SME1056 900–1200JPS120011×1=1130 Cu292321368501.664328192ninguno
UltraSPARC IIIi (Jalapeño) Sun SME1603 1064–1593JPS120031×1=113087,5206959521.364321024ninguno
SPARC64 V (Zeus) Fujitsu 1100–1350JPS120031×1=1130190289269401.21281282048
SPARC64 V+ (Olympus-B) Fujitsu 1650–2160JPS120041×1=1904002972796511281284096
UltraSPARC IV (Jaguar) Sun SME1167 1050–1350JPS220041×2=21306635613681081.35643216384ninguno
UltraSPARC IV+ (Panther) Sun SME1167A 1500–2100JPS220051×2=2902953361368901.16464204832768
UltraSPARC T1 (Niagara) Sun SME1905 1000–1400UA200520054×8=32903003401933721.38163072ninguno
SPARC64 VI (Olympus-C) Fujitsu 2150–2400JPS220072×2=490540422120–1501.1128×2128×24096–6144ninguno
UltraSPARC T2 (Niagara 2) Sun SME1908A 1000–1600UA200720078×8=64655033421831951.1–1.58164096ninguno
UltraSPARC T2 Plus (Victoria Falls) Sun SME1910A 1200–1600UA200720088×8=646550334218318164096ninguno
SPARC64 VII (Jupiter) Fujitsu 2400–2880JPS220082×4=86560044515064×464×46144ninguno
UltraSPARC "RK" (Rock) Sun SME1832 2300??cancelada2×16=3265?3962326??32322048?
SPARC64 VIIIfx (Venus) Fujitsu 2000JPS2 / HPC-ACE20091×8=845760513127158?32×832×86144ninguno
LEON2FT Atmel AT697F 100V820091×1=118019611.8/3.31632
SPARC T3 (Rainbow Falls) Oracle/Sun 1650UA200720108×16=12840??371?139?8166144ninguno
Galaxy FT-1500 NUDT (China) 1800¿UA2007?¿201?8×16=12840?????65?16×1616×16512×164096
SPARC64 VII+ (Jupiter-E o M3) Fujitsu 2667-3000JPS220102×4=86516064×464×412288ninguno
LEON3FT Cobham Gaisler GR712RC 100V8E20111×2=21801,51.8/3.34x4Kb4x4Kbningunoninguno
R1000 MCST (Rusia) 1000JPS220111×4=490180128151, 1.8, 2,532162048ninguno
SPARC T4 (Caídas de Yosemite) Oracle 2850-3000OSA201120118×8=6440855403?240?16×816×8128×84096
SPARC64 IXfx Fujitsu 1850JPS2 / HPC-ACE20121x16=164018704841442110?32×1632×1612288ninguno
SPARC64 X (Atenea) Fujitsu 2800OSA2011 / HPC-ACE20122×16=32282950587,51500270?64×1664×1624576ninguno
SPARC T5 Oracle 3600OSA201120138×16=128281500478???16×1616×16128×168192
SPARC M5 Oracle 3600OSA201120138×6=48283900511???16×616×6128×649152
SPARC M6 Oracle 3600OSA201120138×12=96284270643???16×1216×12128×1249152
SPARC64 X+ (Athena+) Fujitsu 3200–3700OSA2011 / HPC-ACE20142×16=322829906001500392?64×1664×1624Mninguno
SPARC64 XIfx Fujitsu 2200JPS2 / HPC-ACE220141×(32+2)=34203750?1001??64×3464×3412M×2ninguno
SPARC M7 Oracle 4133OSA201520158×32=25620√10,000????16×3216×32256×2465536
SPARC S7 Oracle 4270OSA201520168×8=6420??????16×816×8256×2+256×416384
SPARC64 XII Fujitsu 4250¿OSA201? / HPC-ACE20178×12=962055007951860??64×1264×12512×1232768
SPARC M8 Oracle 5000OSA201720178×32=25620?????32×3216×32128×32+256×865536
LEON4 Cobham Gaisler GR740 250V8E20171×4=4321.2/2.5/3.34x44x42048ninguno
R2000 MCST (Rusia) 2000?20181×8=828500??????ninguno
LEON5 Cobham Gaisler V8E2019????16 a 8192ninguno
Nombre (nombre de código) Modelo Frecuencia (MHz) Arch. version Año Total de hilos Proceso nm) Transistores (millones) Tamaño de la muerte (mm2) IO pins Power (W) Voltaje (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) L3 cache (KB)

Notas:

  1. ^ a b Temas por núcleo × número de núcleos
  2. ^ Varios SPARC Las implementaciones V7 fueron producidas por Fujitsu, LSI Logic, Weitek, Texas Instruments, Cypress y Temic. Un procesador SPARC V7 consistía generalmente en varios chips discretos, generalmente compuestos por una unidad de entero (IU), una unidad de punto flotante (FPU), una unidad de gestión de memoria (MMU) y memoria de caché. Por el contrario, el Atmel (ahora Microchip Technology) TSC695 es una implementación de un solo chip SPARC V7.
  3. ^ @167 MHz
  4. ^ @250 MHz
  5. ^ @400 MHz
  6. ^ @440 MHz
  7. ^ max. @500 MHz
  8. ^ @1200 MHz
  9. ^ excluyendo los autobuses I/O
  10. ^ nominal; especificación de 100 a 424 MHz dependiendo de las capacidades de RAM adjuntas

Soporte del sistema operativo

Las máquinas SPARC generalmente han usado SunOS, Solaris u OpenSolaris de Sun, incluidos los derivados illumos y OpenIndiana, pero también se han usado otros sistemas operativos, como NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD y Linux.

En 1993, Intergraph anunció una migración de Windows NT a la arquitectura SPARC, pero luego se canceló.

En octubre de 2015, Oracle anunció una "plataforma de referencia Linux para SPARC".

Implementaciones de código abierto

Existen varias implementaciones de código abierto de la arquitectura SPARC:

  • LEON, una implementación tolerante a radiación de 32 bits, SPARC V8, diseñada especialmente para uso espacial. El código fuente está escrito en VHDL y licenciado bajo la GPL.
  • OpenSPARC T1, lanzado en 2006, una implementación de 64 bits y 32 hilos conforme a la Arquitectura UltraSPARC 2005 y a la versión 9 del SPARC (Nivel 1). El código fuente está escrito en Verilog, y licenciado bajo muchas licencias. La mayoría OpenSPARC El código fuente T1 está bajo la licencia GPL. La fuente basada en proyectos existentes de código abierto seguirá siendo licenciada bajo sus licencias actuales. Los programas binarios están autorizados bajo un acuerdo de licencia de software binario.
  • S1, un núcleo 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. Como el T1, el código fuente está licenciado bajo la GPL.
  • OpenSPARC T2, lanzado en 2008, una implementación de 64 bits y 64 hilos conforme a la Arquitectura UltraSPARC 2007 y a la versión 9 del SPARC (Nivel 1). El código fuente está escrito en Verilog, y licenciado bajo muchas licencias. La mayoría OpenSPARC El código fuente T2 está bajo la licencia GPL. La fuente basada en los proyectos existentes de código abierto seguirá siendo licenciada bajo sus licencias actuales. Los programas binarios están bajo licencia bajo un acuerdo de licencia de software binario.

También existe un simulador de código abierto para la arquitectura SPARC:

  • RAMP Oro, un SPARC de 32 bits, de 64 hilos Aplicación de la versión 8, diseñada para la simulación de arquitectura basada en FPGA. RAMP El oro está escrito en ~36.000 líneas de SystemVerilog, y licenciado bajo las licencias BSD.

Superordenadores

Para las cargas HPC, Fujitsu crea procesadores SPARC64 fx 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 en la lista combinados y tenía la relación rendimiento-potencia más alta de cualquier sistema de supercomputadora. 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. En el lanzamiento de noviembre de 2012 de TOP500, la computadora K ocupó el puesto número 3, utilizando, con mucho, la mayor potencia de los tres primeros. Ocupó el puesto 85 en el lanzamiento correspondiente de Green500. Los procesadores HPC más nuevos, IXfx y XIfx, se incluyeron en las supercomputadoras PRIMEHPC FX10 y FX100 recientes.

Tianhe-2 (TOP500 No.1 a partir de noviembre de 2014) tiene varios nodos con procesadores Galaxy FT-1500 basados en OpenSPARC desarrollados en China. Sin embargo, esos procesadores no contribuyeron a la puntuación de LINPACK.

Contenido relacionado

Suma de verificación

Un checksum es un bloque de datos de pequeño tamaño derivado de otro bloque de datos digitales con el fin de detectar errores que puedan haberse introducido...

Procesador superescalar

Un procesador superescalar es una CPU que implementa una forma de paralelismo llamado paralelismo a nivel de instrucción dentro de un solo procesador. A...

Semitono

Medios tonos es la técnica reprográfica que simula imágenes de tonos continuos mediante el uso de puntos, que varían en tamaño o espaciado, generando...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save