SPARC (Scalable Processor ARChitecture) er en RISC-mikoprosessor-arkitektur som opprinnelig ble lansert av Sun Microsystems i 1986. De første SPARC-prosessorene ble brukt i Sun-4-arbeidsstasjoner og -tjenere og erstattet Sun-3-datamaskiner som benyttet mikroprosessorer fra Motorola 68000-familien. Etterhvert er SPARC-prosessorer blitt benyttet i tjenere og superdatamaskiner med symmetrisk flerprosessering, produsert av blant andre Sun Microsystems, Solbourne og Fujitsu.
SPARC har derfor også blitt assosiert med datamaskiner med en høy ytelse. Den 14. mai 2009 lanserte Fujitsu 64-bit-prosessoren SPARC64 VIIIfx, som ved lanseringen var verdens raskeste mikroprosessor med en ytelse på 128 GFLOPs.[1][2][3]
SPARC er et registrert varemerke til organisasjonen SPARC International, som ble opprettet i 1989. Samtidig overførte Sun Microsystems deres intellektuelle eiendom til arkitekturen til organisasjonen.
SPARC er en åpen og ikke-proprietær arkitektur. SPARC International arbeider for å fremme SPARC-arkitekturen blant flere produsenter og tilbyr tilretteleggingstester. I årenes løp er SPARC-prosessorer blitt produsert av en rekke aktører, deriblant Texas Instruments, LSI Logic, Weitek, Ross Technology, Cypress Semiconductor, Atmel Corporation, Afara Websystems, Bipolar Integrated Technology, C-Cube, Elbrus, Metaflow Technologies, Prisma, Scientific Atlanta, Solbourne Computer, Hyundai, Hal Computer Systems og Fujitsu.
Inspirert av GNU-prosjektets konsept om fri programvare opprettet Sun Microsystems i 2006 prosjektet OpenSPARC, som har til hensikt å gjøre SPARC til fri maskinvare. I mars 2006 ble konstruksjonen av Sun Microsystems' mikroprosessor UltraSPARC T1 frigjort på OpenSPARC.net.
SPARC er også navnet på en standard eller spesifikasjon som definerer oppbyggingen av en SPARC mikroprosessor. Det har vært tre større revisjoner av denne spesifikasjonen.
I 1986 ble SPARC versjon 7 publisert. Denne spesifikasjonen definerte felles trekk hos de første 32-biters SPARC-prosessorene.
I 1990 ble SPARC versjon 8 publisert av SPARC Architecture Committee,[4] bestående av Amdahl Corporation, Fujitsu, ICL, LSI Logic, Matsushita, Philips, Ross Technology, Sun Microsystems og Texas Instruments. Spesifikasjonen ble definert av Institute of Electrical and Electronics Engineers som en standard (IEEE 1754-1994) for 32-bit-mikroprosessorer, og banet veien for microSPARC, microSPARC II, SuperSPARC, SuperSPARC II, hyperSPARC og TurboSPARC.
I 1993 ble versjon 9 publisert av SPARC International. Siste utgave kom i september 2000.[5] Spesifikasjonen definerer en 64-bit SPARC-arkitektur, og dannet grunnlaget for mikroprosessorene UltraSPARC, UltraSPARC II, UltraSPARC III, UltraSPARC IV, UltraSPARC T1, UltraSPARC T2, SPARC64, SPARC64 II, SPARC64 III, SPARC64 IV, SPARC64 V, SPARC64 VI, SPARC64 VII og SPARC64 VIIIfx.
Tidlig i 2006 publiserte Sun Microsystems spesifikasjonen UltraSPARC Architecture 2005, som utvidet versjon 9 med alle de nye utvidelsene i deres egne mikroprosessorer siden lanseringen av UltraSPARC T1, deriblant CMT og SIMD-instruksjonene Visual Instruction Set. Spesifikasjonen ble siste gang oppdatert den 19. juni 2008.[6]
Denne tabellen inneholder spesifikasjoner for utvalgte SPARC-prosessorer: frekvens (megahertz), arkitekturversjon, utgivelsesår, antall tråder (tråder per kjerne multiplisert med antallet kjerner), produksjonspross (mikrometer), antall transistorer (millioner), kjernestørrelse (kvadratmillimeter), antall I/O pinner, effektkonsum (watt), spenning (volt), og internregister-størrelse, instruksjoner, L2 og L3 (kibibytes).
Navn (Kodenavn) |
Modell | Frekvens [MHz] |
Arkitektur Versjon |
År | Tråder Per kjerne × kjerner = Totale tråder |
Produksjonsprosess [µm] |
Transistorer [millioner] |
Kjernestørrelse [mm²] |
IO-pinner | Effekt [W] |
Spenning [V] |
L1 Dregister [k] |
L1 Iregister [k] |
L2 register [k] |
L3 register [k] |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC | (forskjellige)[7] | 14.28–40 | V7 | 1987-1992 | 1×1=1 | 0.8–1.3 | ~0.1–1.8 | -- | 160–256 | -- | -- | 0–128 (forente) | ingen | ingen | |
microSPARC I (Tsunami) | TI TMS390S10 | 40–50 | V8 | 1992 | 1×1=1 | 0.8 | 0.8 | 225? | 288 | 2.5 | 5 | 2 | 4 | ingen | ingen |
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 | ingen |
SPARClite | Fujitsu MB8683x | 66–108 | V8E | 1992 | 1×1=1 | -- | -- | -- | 144–176 | -- | 2.5/3.3V | 1–16 | 1–16 | ingen | ingen |
hyperSPARC (Colorado 1) | Ross RT620A | 40–90 | V8 | 1993 | 1×1=1 | 0.5 | 1.5 | -- | -- | -- | 5? | 0 | 8 | 128-256 | ingen |
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 | ingen | ingen |
hyperSPARC (Colorado 2) | Ross RT620B | 90–125 | V8 | 1994 | 1×1=1 | 0.4 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 128-256 | ingen |
SuperSPARC II (Voyager) | Sun STP1021 | 75–90 | V8 | 1994 | 1×1=1 | 0.8 | 3.1 | 299 | -- | 16 | -- | 16 | 20 | 1024-2048 | ingen |
hyperSPARC (Colorado 3) | Ross RT620C | 125–166 | V8 | 1995 | 1×1=1 | 0.35 | 1.5 | -- | -- | -- | 3.3 | 0 | 8 | 512-1024 | ingen |
TurboSPARC | Fujitsu MB86907 | 160–180 | V8 | 1995 | 1×1=1 | 0.35 | 3.0 | 132 | 416 | 7 | 3.5 | 16 | 16 | 512 | ingen |
UltraSPARC I (Spitfire) | Sun STP1030 | 143–167 | V9 | 1995 | 1×1=1 | 0.47 | 5.2 | 315 | 521 | 30 @167 MHz | 3.3 | 16 | 16 | 512-1024 | ingen |
UltraSPARC I (Hornet) | Sun STP1030 | 200 | V9 | 1998 | 1×1=1 | 0.42 | 5.2 | 265 | 521 | -- | 3.3 | 16 | 16 | 512-1024 | ingen |
hyperSPARC (Colorado 4) | Ross RT620D | 180–200 | V8 | 1996 | 1×1=1 | 0.35 | 1.7 | -- | -- | -- | 3.3 | 16 | 16 | 512 | ingen |
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 @250 MHz | 2.5 | 16 | 16 | 1024 or 4096 | ingen |
UltraSPARC IIs (Sapphire-Black) | Sun STP1032 / STP1034 | 360–480 | V9 | 1999 | 1×1=1 | 0.25 | 5.4 | 126 | 521 | 21 @400 MHz | 1.9 | 16 | 16 | 1024–8192 | ingen |
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 | ingen |
UltraSPARC IIi (Sapphire-Red) | Sun SME1430 | 333–480 | V9 | 1998 | 1×1=1 | 0.25 | 5.4 | -- | 587 | 21 @440 MHz | 1.9 | 16 | 16 | 2048 | ingen |
UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400–600 | V9 | 2000 | 1×1=1 | 0.18 Al | -- | -- | 370 | 13 max @500 MHz | 1.5-1.7 | 16 | 16 | 256 | ingen |
UltraSPARC IIi (IIe+) | -- | 550–650 | V9 | 2002 | 1×1=1 | 0.18 Cu | -- | -- | 370 | 17.6 | 1.7 | 16 | 16 | 512 | ingen |
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 | ingen |
UltraSPARC III (Cheetah) | Sun SME1052 | 750–900 | V9 | 2001 | 1×1=1 | 0.13 Al | 29 | -- | 1368 | -- | 1.6 | 64 | 32 | 8192 | ingen |
UltraSPARC III Cu (Cheetah+) | Sun SME1056 | 1002–1200 | V9 | 2001 | 1×1=1 | 0.13 Cu | 29 | 232 | 1368 | 80 @900 MHz | 1.6 | 64 | 32 | 8192 | ingen |
UltraSPARC IIIi (Jalapeno) | Sun SME1603 | 1064–1593 | V9 | 2003 | 1×1=1 | 0.13 | 87.5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | ingen |
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 | ingen |
UltraSPARC IV+ (Panther) | -- | 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 | ingen |
SPARC64 VI (Olympus-C) | Fujitsu | 2150–2400 | V9/JPS1 | 2007 | 2×2=4 | 0.09 | 540 | 422 | -- | 120 | -- | 128 | 128 | 6144 | ingen |
UltraSPARC T2 (Niagara II) | ? | 1400–2000 | V9 / UA ???? | 2007 | 8×8=64 | 0.065 | 503 | 342 | 1831 | 84 | 1.1–1.5 | ? | ? | 4096 | ? |
UltraSPARC RK (Rock) | Sun SME1832 | ? | V9 / UA ???? | 2007-8? | 2×16=32[8] | 0.065 | ? | ? | 2326 | ? | ? | ? | ? | ? | ? |
Navn (Kodenavn) |
Modell | Frekvens [MHz] |
Arkitektur Versjon |
År | Tråder Per kjerne × kjerner = Totale tråder |
Produksjonsprosess [µm] |
Transistorer [millioner] |
Kjernestørrelse [mm²] |
IO-pinner | Effekt [W] |
Spenning [V] |
L1 Dregister [k] |
L1 Iregister [k] |
L2 register [k] |
L3 register [k] |