Architecture SPARC
# Architecture SPARC

SPARC, acronyme pour Scalable Processor Architecture, est une architecture de processeur de type RISC, originellement développée par Sun Microsystems. Sa conception est fortement influencée par l'architecture expérimentale Berkeley RISC, développée au début des années 1980. SPARC est un des premiers succès commerciaux de la famille d'architectures RISC, influençant ainsi des nombreux processeurs produit pendant les années 1980 et 1990.

La première implémentation de l'architecture 32-bit originale (SPARC V7) date de 1987, au sein du Sun-4 et divers serveurs produits par Sun Microsystems, afin de remplacer les Motorola 68000 utilisés sur les systèmes Sun-3.

La conception et l'évolution de l'architecture a été confiée en 1989 à un groupe indépendant, SPARC International, qui continue de développer l'architecture de nos jours.

L'architecture a connu trois révisions majeures depuis son introduction en 1986 :

* SPARC V7 : la version originale,
* SPARC V8 : apparue en 1990, apportant quelques fonctionnalités supplémentaires,
* SPARC V9 : apparue en 1993, marquant le passage de 32 à 64 bits.

Les spécifications de SPARC sont entièrement libres ; par ailleurs, contrairement à ARM ou MIPS, la licence nécessaire aux entreprises pour la fabriquer est gratuite, octroyée par SPARC International.

Un processeur entièrement libre utilise le jeu d'instructions SPARC V8 : le LEON. Il est soumis à la licence LGPL de la FSF.

Le SPARC V7 donne également lieu au développement du processeur ERC32, tolérant aux radiations et utilisé dans le domaine spatial. .

## Spécifications des microprocesseurs SPARC

| Nom (codename) | Modèle | Frequence (MHz) | Arch. (version) | Année | Total threads | Taille gravure (µm) | Nb de transistors (millions) | Surface du die (mm²) | Nb de broches I/O | Puissance (W) | Tension électrique (V) | L1 Dcache (k) | L1 Icache (k) | L2 Cache (k) | L3 Cache (k) |
| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| SPARC | (various) | 14.28–40 | V7 | 1987-1992 | 1×1=1 | 0.8–1.3 | ~0.1–1.8 | -- | 160–256 | -- | -- | 0–128 (unified) | 0–128 (unified) | aucun | aucun |
| microSPARC I (Tsunami) | TI TMS390S10 | 40–50 | V8 | 1992 | 1×1=1 | 0.8 | 0.8 | 225? | 288 | 2.5 | 5 | 2 | 4 | aucun | aucun |
| SuperSPARC I (Viking) | TI TMX390Z50 / Sun STP1020 | 33–60 | V8 | 1992 | 1×1=1 | 0.8 | 3.1 | -- | 293 | 14.3 | 5 | 16 | 20 | 0-2048 | aucun |
| SPARClite | Fujitsu MB8683x | 66–108 | V8E | 1992 | 1×1=1 | -- | -- | -- | 144–176 | -- | 2.5/3.3V | 1–16 | 1–16 | aucun | aucun |
| hyperSPARC (Colorado 1) | Ross RT620A | 40–90 | V8 | 1993 | 1×1=1 | 0.5 | 1.5 | -- | -- | -- | 5? | 0 | 8 | 128-256 | aucun |
| microSPARC II (Swift) | Fujitsu MB86904 / Sun STP1012 | 60–125 | V8 | 1994 | 1×1=1 | 0.5 | 2.3 | 233 | 321 | 5 | 3.3 | 8 | 16 | aucun | aucun |
| hyperSPARC (Colorado 2) | Ross RT620B | 90–125 | V8 | 1994 | 1×1=1 | 0.4 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 128-256 | aucun |
| SuperSPARC II (Voyager) | Sun STP1021 | 75–90 | V8 | 1994 | 1×1=1 | 0.8 | 3.1 | 299 | -- | 16 | -- | 16 | 20 | 1024-2048 | aucun |
| hyperSPARC (Colorado 3) | Ross RT620C | 125–166 | V8 | 1995 | 1×1=1 | 0.35 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 512-1024 | aucun |
| TurboSPARC | Fujitsu MB86907 | 160–180 | V8 | 1995 | 1×1=1 | 0.35 | 3.0 | 132 | 416 | 7 | 3.5 | 16 | 16 | 512 | aucun |
| UltraSPARC (Spitfire) | Sun STP1030 | 143–167 | V9 | 1995 | 1×1=1 | 0.47 | 5.2 | 315 | 521 | 30 | 3.3 | 16 | 16 | 512-1024 | aucun |
| UltraSPARC (Hornet) | Sun STP1030 | 200 | V9 | 1998 | 1×1=1 | 0.42 | 5.2 | 265 | 521 | -- | 3.3 | 16 | 16 | 512-1024 | aucun |
| hyperSPARC (Colorado 4) | Ross RT620D | 180–200 | V8 | 1996 | 1×1=1 | 0.35 | 1.7 | -- | -- | -- | 3.3 | 16 | 16 | 512 | aucun |
| SPARC64 | Fujitsu (HAL) | 101–118 | V9 | 1995 | 1×1=1 | 0.4 | -- | 297+163+142 | 286 | 50 | 3.8 | 128 | 128 | -- | -- |
| SPARC64 II | Fujitsu (HAL) | 141–161 | V9 | 1996 | 1×1=1 | 0.35 | -- | 202+103+84 | 286 | 64 | 3.3 | 128 | 128 | -- | -- |
| SPARC64 III | Fujitsu (HAL) MBCS70301 | 250–330 | V9 | 1998 | 1×1=1 | 0.24 | 17.6 | 240 | -- | -- | 2.5 | 64 | 64 | 8192 | -- |
| UltraSPARC IIs (Blackbird) | Sun STP1031 | 250–400 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 149 | 521 | 25 | 2.5 | 16 | 16 | 1024 or 4096 | aucun |
| UltraSPARC IIs (Sapphire-Black) | Sun STP1032 / STP1034 | 360–480 | V9 | 1999 | 1×1=1 | 0.25 | 5.4 | 126 | 521 | 21 | 1.9 | 16 | 16 | 1024–8192 | aucun |
| UltraSPARC IIi (Sabre) | Sun SME1040 | 270–360 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 156 | 587 | 21 | 1.9 | 16 | 16 | 256–2048 | aucun |
| UltraSPARC IIi (Sapphire-Red) | Sun SME1430 | 333–480 | V9 | 1998 | 1×1=1 | 0.25 | 5.4 | -- | 587 | 21 | 1.9 | 16 | 16 | 2048 | aucun |
| UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400–500 | V9 | 2000 | 1×1=1 | 0.18 Al | -- | -- | 370 | 13 | 1.5-1.7 | 16 | 16 | 256 | aucun |
| UltraSPARC IIi (IIe+) (Phantom) | -- | 550–650 | V9 | 2002 | 1×1=1 | 0.18 Cu | -- | -- | 370 | 17.6 | 1.7 | 16 | 16 | 512 | aucun |
| SPARC64 GP | Fujitsu SFCB81147 | 400–810 | V9 | 2000 | 1×1=1 | 0.18 | 30.2 | 217 | -- | -- | 1.8 | 128 | 128 | 8192 | -- |
| SPARC64 IV | Fujitsu MBCS80523 | 450–810 | V9 | 2000 | 1×1=1 | 0.13 | -- | -- | -- | -- | -- | 128 | 128 | 2048 | -- |
| UltraSPARC III (Cheetah) | Sun SME1050 | 600 | V9 | 2001 | 1×1=1 | 0.18 Al | 29 | 330 | 1368 | 53 | 1.6 | 64 | 32 | 8192 | aucun |
| UltraSPARC III (Cheetah) | Sun SME1052 | 750–900 | V9 | 2001 | 1×1=1 | 0.13 Al | 29 | -- | 1368 | -- | 1.6 | 64 | 32 | 8192 | aucun |
| UltraSPARC III Cu (Cheetah+) | Sun SME1056 | 1002–1200 | V9 | 2001 | 1×1=1 | 0.13 Cu | 29 | 232 | 1368 | 80 | 1.6 | 64 | 32 | 8192 | aucun |
| UltraSPARC IIIi (Jalapeno) | Sun SME1603 | 1064–1593 | V9 | 2003 | 1×1=1 | 0.13 | 87.5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | aucun |
| SPARC64 V (Zeus) | Fujitsu | 1100–1350 | V9/JPS1 | 2003 | 1×1=1 | 0.13 | 190 | 289 | 269 | 40 | 1.2 | 128 | 128 | 2048 | -- |
| SPARC64 V+ (Olympus-B) | Fujitsu | 1650–2160 | V9/JPS1 | 2004 | 1×1=1 | 0.09 | 400 | 297 | 279 | 65 | 1 | 128 | 128 | 4096 | -- |
| UltraSPARC IV (Jaguar) | Sun SME1167 | 1050–1350 | V9 | 2004 | 1×2=2 | 0.13 | 66 | 356 | 1368 | 108 | 1.35 | 64 | 32 | 16384 | aucun |
| UltraSPARC IV+ (Panther) | Sun SME1167A | 1500–2100 | V9 | 2005 | 1×2=2 | 0.09 | 295 | 336 | 1368 | 90 | 1.1 | 64 | 64 | 2048 | 32768 |
| UltraSPARC T1 (Niagara) | Sun SME1905 | 1000–1400 | V9 / UA 2005 | 2005 | 4×8=32 | 0.09 | 300 | 340 | 1933 | 72 | 1.3 | 8 | 16 | 3072 | aucun |
| SPARC64 VI (Olympus-C) | Fujitsu | 2150–2400 | V9/JPS2 | 2007 | 2×2=4 | 0.09 | 540 | 422 | -- | 120 | -- | 128 | 128 | 5120 | aucun |
| UltraSPARC T2 (Niagara 2) | Sun SME1908A | 1000–1400 | V9 / UA 2007 | 2007 | 8×8=64 | 0.065 | 503 | 342 | 1831 | 95 | 1.1–1.5 | 8 | 16 | 4096 | aucun |
| UltraSPARC T2 Plus (Victoria Falls) | Sun SME1910A | 1200–1400 | V9 / UA 2007 | 2008 | 8×8=64 | 0.065 | 503 | 342 | 1831 | - | - | 8 | 16 | 4096 | aucun |
| SPARC64 VII (Jupiter) | Fujitsu | 2400–2520 | V9/JPS2(?) | 2008 | 2×4=8 | 0.065 | 600 | 445 | -- | 135 | -- | 64 | 64 | 6144 | aucun |
| UltraSPARC RK (Rock) | Sun SME1832 | 2300 | V9 / UA__?__ | 2009 | 2×16=32 | 0.065 | ? | 396 | 2326 | ? | ? | 32 | 32 + 8 predecoded bits | 2048 | ? |
| SPARC64 VIIIfx (Venus) | Fujitsu | 2000 | V9 HPC-ACE | 2010 | 8 cores | 0.045 | 760 | 513 | 1271 | 58 | 1 (ASV) | 64 | 64 | 5120 | ? |
| Nom (codename) | Modèle | Frequence (MHz) | Arch. (version) | Année | Total threads | Taille gravure (µm) | Nb de transistors (millions) | Surface du die (mm²) | Nb de broches I/O | Puissance (W) | Tension électrique (V) | L1 Dcache (k) | L1 Icache (k) | L2 Cache (k) | L3 Cache (k) |
