Conçue par Sun en 1985, l'architecture SPARC est depuis 1989 supervisée par une organisation, SPARC International, qui assure à la fois sa promotion et les tests de conformité pour les fabricants de processeurs respectant cette architecture (parmi lesquels on retrouve Fujitsu, qui équipe actuellement les serveurs haut de gamme de Sun, mais aussi Texas Instruments ou Atmel).

Il y a eu trois révisions majeures de ces spécifications :

  • V7 : la première version publiée, en 1986
  • V8 : une version améliorée, parue en 1990
  • V9 : la version 64-bit, parue en 1993

Il faut ajouter à cela les extensions définies et publiées par Sun en 2006, sous le label UltraSPARC Architecture 2005, totalement compatibles SPARC mais incluant également les évolutions de l'architecture que l'on retrouve dans les processeurs UltraSparc T1/T2.

Les familles historiques

Au sein de la gamme SPARC, on retrouve différentes familles, identifiées par des codes que l'on peut obtenir au niveau de l'OS par la commande uname -m (ou arch -k). Voici la liste de ces architectures, avec des exemples de processeurs les implémentant, de systèmes les embarquant, et les fréquences auxquelles ils fonctionn(ai)ent :

  • sun4 (32-bit) : les processeurs Cypress CY7C601, embarqués dans les SPARCserver 330 à 490 (25 à 33 MHz)
  • sun4c (32-bit) : les processeurs LSI64081 ou Fujitsu MB86901A, embarqués dans les SPARCstation 1, 1+ et 2, IPX et IPC (20 à 40 MHz)
  • sun4m (32-bit) : les processeurs HyperSparc, TurboSparc, microSparc et microSparc II, embarqués dans les SPARCstation 4, 5, 10, 20, SPARCclassic, SPARCserver 630MP à 690MP (33 à 200MHz, les plus hautes fréquences n'étant disponibles que sur les SPARCstations).
  • sun4d (32-bit) : les processeurs SuperSparc I et II, embarqués dans les SPARCserver 1000/1000E, 2000/2000E (40 à 85 MHz)
  • sun4u (64-bit) : les processeurs UltraSparc-I, II, IIe, IIi, IIs, III, IIIi, III+, IV, IV+ (pour ne citer que ceux conçus par Sun) équipent quasiment l'intégralité de la gamme Sun des 10 dernières années : stations Ultra-5 et Ultra-60, serveurs Enterprise E250/E450, E3000 à E6500, E10000, Sun Fire v480/v880, v490/v890, 12K à 25K … (143 MHz à 2.1 GHz)
  • sun4v (64-bit) : les processeurs UltraSparc T1 et T2, embarqués dans les T1000/T2000, T5220/T5240, ... (1 à 1.4 GHz)

Processeurs actuels

On trouve actuellement trois gammes de processeurs de la famille Sparc dans les serveurs Sun.

  • Les processeurs du groupe UltraSparc IV et IV+ : conçus par Sun, ils font partie de la gamme Enterprise.
  • Les processeurs Sparc64 VI : conçus par Fujitsu, ils font partie de la gamme Enterprise.
  • Les processeurs Throughput Computing, c'est-à-dire actuellement les T1, T2 et T2+ : ils sont conçus par Sun, et ont droit à leur propre communication. Ils apparaissent également sous la dénomination CoolThreads (en référence à leur faible consommation électrique, donc faible température) et CMT (pour Chip Multi-Threading, un terme propre à Sun).

Tous ces processeurs sont 64-bit, et respectent le jeu de spécifications Sparc, ainsi que Voici les caractéristiques notables de ces processeurs.

UltraSparc-IV (2004)

Ce processeur est essentiellement la combinaison de deux UltraSparc-III sur une seule puce.

  • Dual-core cadencé de 1.05 GHz à 1.35 GHz
  • 1 thread par core
  • 16 Mo de cache L2 (8 Mo par core)

UltraSparc-IV+ (2005)

Une version améliorée de l'UltraSparc-IV.

  • Dual-core cadencé de 1.5 GHz à 2.1 GHz
  • 1 thread par core
  • 2 Mo de cache L2 intégrés à la puce, et 32 Mo de cache L3

Sparc64 VI (2007)

Fujitsu a lancé en 1995 une gamme de processeurs SPARC, sous la marque SPARC64. Jusqu'à récemment, ces processeurs n'étaient utilisés que dans les serveurs Fujitsu, mais la dernière mouture équipe les serveurs M-series de Sun, c'est-à-dire le milieu et le haut de gamme.

  • dual-core, cadencé de 2.10 à 2.4 GHz
  • 2 threads hardware par core
  • 6 Mo de cache L2

Sparc64 VII (2008)

La prochaine évolution des processeurs de Fujitsu sera un passage du dual- au quad-core, et les boards basées sur ces processeurs pourront équiper directement les serveurs M-series actuels (y compris en mixtant des boards SPARC64 VI et VII)

  • quadri-core, cadencé à 2.7 GHz
  • 2 threads hardware par core
  • 5Mo de cache L2 (contre 6 initialement prévus)

Une évolution à 3 GHz est prévue.

UltraSparc T1 (2005)

Le processeur T1 (nom de code : Niagara) n'est pas une simple évolution des générations précédentes de processeurs Sun, mais une création originale, visant à répondre aux nouvelles contraintes de l'informatique professionnelle. Ses principales caractéristiques sont sa forte parallélisation, et sa faible consommation : là où un UltraSparc-IV+ consomme 90 watts pour 2 cores (et donc 2 threads), un T1, certes cadencé légèrement en-dessous, ne consomme que 72 watts pour 8 cores (et 32 threads). Les cores en eux-mêmes sont dérivés de l'ancien processeur UltraSparc-IIIi.

  • 4, 6 ou 8 cores cadencés à 1 GHZ, ou 8 cores cadencés à 1.2 ou 1.4 GHz
  • 4 threads hardware par core
  • 3 Mo de cache L2, pas de cache L3

Un détail important vis-à-vis de la puissance globale du processeur : chaque core est une unité de calcul sur les entiers, mais l'ensemple du processeur ne dispose que d'une seule unité de calcul flottant (FPU). Il n'est donc pas particulièrement adapté aux calculs intensifs, d'autant qu'il n'est disponible que dans des systèmes monoprocesseurs.

Par ailleurs, ce processeur supporte un mode d'exécution appelé hyper-privilégié. Ce mode est utilisé pour faire tourner un hyperviseur, qui permet la partition d'un serveur en domaines logiques, appelés LDoms.

UltraSparc T2 (2007)

Le T2 (nom de code : Niagara 2) est l'évolution logique du T1. Supportant plus de threads par core, il dispose en outre d'un FPU par core, au lieu d'un seul pour l'ensemble du processeur. Comme son prédécesseur, il ne fonctionne qu'en environnement monoprocesseur.

  • 4, 6 ou 8 cores, cadencés à 1.2 GHz, ou 8 cores cadencés à 1.4 GHz
  • 8 threads hardware par core
  • 4 Mo de cache L2, pas de cache L3

UltraSparc T2+ (2008)

Le T2+ (nom de code : Victoria Falls) est la troisième génération de processeurs de la famille CoolThreads. Sa principale nouveauté est le support du SMP (Symmetric Multi-Processors), dans un premier temps dans un serveur bi-processeurs, puis par la suite dans un quadri-processeurs.

  • 4, 6 ou 8 cores, cadencés à 1.2 GHz, ou 8 cores cadencés à 1.4 GHz
  • 8 threads hardware par core
  • 4 Mo de cache L2, pas de cache L3

Rock (2009) : annulé

Ce processeur, destiné à la gamme Enterprise, est conçu par Sun. Il sera composé dans un premier temps de 4 cores, eux-mêmes contenant chacun 4 unités de calcul, et 4 unités de calcul flottant/graphique (ou FGU, pour Floating/Graphical Unit). Chaque groupe de 4 unités partagera 32 ko de cache de premier niveau pour les instructions, et autant pour les données. Le processeur proposera donc globalement 16 cores au total, chacun capable d'exécuter 2 threads hardware.

- 16 cores, cadencés à 2.3 GHz - 2 threads hardware par core - 2 Mo de cache L2

Ce monstre cumulera donc une énorme puissance de calcul à la capacité de multithreading des T1/T2, mais avec une consommation annoncée de l'ordre de 240 watts, il va faire chaud dans les datacenters!

MAJ : Sun a finalement annoncé l'arrêt du développement de ce processeur, sans donner vraiment d'explications, mais on peut supposer que la reprise en main par Oracle n'est pas étrangère à ce choix.

UltraSparc T3 (Niagara 3/Rainbow Falls)

La prochaine itération de la gamme CoolThreads, ce processeur devrait encore augmenter le nombre de threads s'exécutant en parallèle. On n'en sait guère plus pour le moment.

MAJ du 24 juin 2008 : d'après les premières informations, ce processeur devrait avoir 16 cores gérant chacun 16 threads, et pourrait être présent dans des serveurs à 8 sockets.

MAJ du 28 octobre 2010 : les premiers serveurs à base de T3 ont été livrés. Le processeur est cadencé à 1.65 GHz, contient 16 cores avec 8 threads hardware par core, soit 128 threads par core. Il est embarqué dans des serveurs à 1, 2 ou 4 processeurs.

Evolutions prévues

UltraSparc-VIIIfx

Fujitsu travaille au développement d'une nouvelle génération, qui devrait notamment être utilisée dans le projet japonais de supercalculateur, le projet Keisoku. Ces processeurs octo-coeurs sont annoncées pour une capacité de calcul de 128 gigaflops, et pourraient bien servir de base aux successeurs de la gamme APL de Sun (l'actuelle série M), puisque le Rock ne verra jamais le jour ...