SPARC - SPARC

SPARC
Sparc-logo.svg
Návrhář Sun Microsystems (získaná společností Oracle Corporation )
Bity 64bitové (32 → 64)
Představený 1986 (výroba)
1987 (zásilky)
Verze V9 (1993) / OSA2017
Design RISC
Typ Registrovat-Registrovat
Kódování Pevný
Větvení Podmínkový kód
Endianness Bi (velký → Bi)
Velikost stránky 8 KB (4 KB → 8 KB)
Rozšíření VIS 1.0, 2.0, 3.0, 4.0
Otevřeno Ano a bez licenčních poplatků
Registry
Obecný účel 31 (G0 = 0; neglobální registry používají okna registrů )
Plovoucí bod 32 (použitelné jako 32 přesných, 32 dvojitých nebo 16 čtyř přesných)
Sun UltraSPARC II mikroprocesor (1997)

SPARC ( Scalable Processor Architecture ) je snížena instrukční sada computing (RISC) instrukční sady architektury původně vyvinutý společností Sun Microsystems . Jeho design byl silně ovlivněn experimentálním systémem Berkeley RISC vyvinutým na začátku 80. let. SPARC, který byl poprvé vyvinut v roce 1986 a vydán v roce 1987, byl jedním z nejúspěšnějších raných komerčních systémů RISC a jeho úspěch vedl k zavedení podobných návrhů RISC od řady prodejců v 80. a 90. letech.

První implementace původní 32bitové architektury (SPARC V7) byla použita na pracovních stanicích a serverových systémech Sun Sun-4 a nahradila jejich dřívější systémy Sun-3 založené na procesorech řady Motorola 68000 . SPARC V8 přidal řadu vylepšení, která byla součástí řady procesorů SuperSPARC vydaných v roce 1992. SPARC V9, vydaný v roce 1993, představil 64bitovou architekturu a byl poprvé vydán v procesorech Sun UltraSPARC v roce 1995. Později byly použity procesory SPARC v serverech symetrického více procesů (SMP) a serverů s neuniformním přístupem k paměti ( CC-NUMA ) vyráběných mimo jiné společnostmi Sun, Solbourne a Fujitsu .

Návrh byl předán mezinárodní obchodní skupině SPARC v roce 1989 a od té doby jeho architekti vyvíjeli jeho členové. SPARC International je také odpovědný za licencování a propagaci architektury SPARC, správu ochranných známek SPARC (včetně SPARC, které vlastní) a provádění testování shody . Cílem SPARC International bylo rozšířit architekturu SPARC a vytvořit tak větší ekosystém; SPARC má licenci několika výrobců, včetně společností Atmel , Bipolar Integrated Technology , Cypress Semiconductor , Fujitsu , Matsushita a Texas Instruments . Díky SPARC International je SPARC plně otevřený, nechráněný a bez licenčních poplatků.

Jak září 2017, nejnovější procesory komerční high-end SPARC jsou Fujitsu je SPARC64 XII (představený v roce 2017 pro své SPARC M12 server) a Oracle 's SPARC M8 představen v září 2017 pro své high-end serverů.

V pátek 1. září 2017, po kole propouštění, které začalo v laboratořích Oracle v listopadu 2016, společnost Oracle ukončila návrh SPARC po dokončení M8. Velká část vývojové skupiny pro procesorové jádro v texaském Austinu byla propuštěna, stejně jako týmy v Santa Claře v Kalifornii a Burlingtonu v Massachusetts.

V roce 2021 se očekává „vylepšená“ verze staršího serveru SPARC M12 od Fuijitu.

Funkce

Architektura SPARC byla silně ovlivněna dřívějšími návrhy RISC, včetně RISC I a II z University of California, Berkeley a IBM 801 . Tyto původní návrhy RISC byly minimalistické, obsahovaly co nejméně funkcí nebo operačních kódů a byly zaměřeny na provádění instrukcí rychlostí téměř jedné instrukce za taktovací cyklus . Díky tomu byly v mnoha ohledech podobné architektuře MIPS , včetně nedostatku instrukcí, jako je násobení nebo dělení. Další vlastností SPARC ovlivněného tímto časným pohybem RISC je slot pro zpoždění větve .

Procesor SPARC obvykle obsahuje až 160 registrů pro všeobecné použití . Podle specifikace „Oracle SPARC Architecture 2015“ může „implementace obsahovat 72 až 640 64bitových“ univerzálních registrů. V každém okamžiku je pouze 32 z nich okamžitě viditelných pro software - 8 je sada globálních registrů (jeden z nich, g0 , je pevně připojen k nule, takže pouze sedm z nich je použitelných jako registry) a dalších 24 je ze stohu registrů. Těchto 24 registrů tvoří takzvané registrační okno a při vyvolání / návratu funkce se toto okno posouvá nahoru a dolů po zásobníku registrů. Každé okno má 8 místních registrů a sdílí 8 registrů s každým ze sousedních oken. Sdílené registry se používají pro předávání parametrů funkce a vracející hodnoty a místní registry se používají pro uchování místních hodnot napříč voláními funkcí.

„Škálovatelné“ v SPARC vychází ze skutečnosti, že specifikace SPARC umožňuje implementacím škálovat od vestavěných procesorů až po velké serverové procesory, přičemž všechny sdílejí stejnou základní (neprivilegovanou) instrukční sadu. Jedním z architektonických parametrů, které lze škálovat, je počet implementovaných oken registrů; specifikace umožňuje implementaci od tří do 32 oken, takže se implementace může rozhodnout implementovat všech 32, aby poskytla maximální efektivitu zásobníku hovorů , nebo implementovat pouze tři, aby se snížily náklady a složitost návrhu, nebo implementovat určitý počet mezi nimi. Mezi další architektury, které obsahují podobné funkce souborů registrů, patří Intel i960 , IA-64 a AMD 29000 .

Architektura prošla několika revizemi. Ve verzi 8 získala funkce pro násobení a dělení hardwaru. Do specifikace SPARC verze 9 publikované v roce 1994 byly přidány 64bitové (adresování a data).

V SPARC verze 8 má soubor registru s plovoucí desetinnou čárkou 16 registrů s dvojitou přesností . Každý z nich lze použít jako dva registry s přesnou přesností , což poskytuje celkem 32 registrů s jednou přesností. Lichý-sudý číselný pár registrů s dvojitou přesností lze použít jako registr se čtyřmi přesnostmi , což umožňuje 8 registrů se čtyřmi přesnostmi. SPARC verze 9 přidala 16 dalších registrů s dvojitou přesností (ke kterým lze přistupovat také jako 8 registrů se čtyřmi přesnostmi), ale k těmto dalším registrům nelze přistupovat jako k registrům s přesnou přesností. Od roku 2004 žádný procesor SPARC neimplementuje operace quad-precision v hardwaru.

Tagged sčítat a odčítat pokyny plnit přidává a odečte na hodnoty kontrolních že spodní dva bity jsou oba operandy 0 a hlášení přetečení, pokud nejsou. To může být užitečné při implementaci doby běhu pro ML , Lisp a podobné jazyky, které mohou používat formát označeného celého čísla.

Endianness z 32bitové SPARC V8 architekturou je čistě big-endian. 64bitová architektura SPARC V9 používá instrukce big-endian, ale může přistupovat k datům v pořadí bajtů big-endian nebo little-endian, které se volí buď na úrovni aplikační instrukce ( načtení – uložení ), nebo na úrovni paměťové stránky (prostřednictvím Nastavení MMU). Druhá možnost se často používá pro přístup k datům ze zařízení inherentně malých endianů, jako jsou zařízení na sběrnicích PCI.

Dějiny

Byly provedeny tři hlavní revize architektury. První publikovanou verzí byla 32bitová verze SPARC verze 7 (V7) v roce 1986. Verze SPARC verze 8 (V8), vylepšená definice architektury SPARC, byla vydána v roce 1990. Mezi hlavní rozdíly mezi verzemi V7 a V8 patřilo přidání celočíselného násobení a rozdělit pokyny a upgradovat z 80bitové aritmetiky s plovoucí desetinnou čárkou s „rozšířenou přesností“ na 128bitovou aritmetiku „ quad-precision “ SPARC V8 sloužil jako základ pro IEEE Standard 1754-1994, IEEE standard pro 32bitovou mikroprocesorovou architekturu.

SPARC verze 9 , 64bitová architektura SPARC, byla vydána společností SPARC International v roce 1993. Byl vyvinut Výborem pro architekturu SPARC složeným z Amdahl Corporation , Fujitsu , ICL , LSI Logic , Matsushita , Philips , Ross Technology , Sun Microsystems a Texas Instruments . Novější specifikace vždy zůstávají v souladu s úplnou specifikací SPARC V9 úrovně 1.

V roce 2002 společnost Fujitsu a Sun uvedla specifikaci SPARC Joint Programming Specification 1 (JPS1), která popisuje funkce procesorů, které byly identicky implementovány v CPU obou společností („Commonality“). První CPU vyhovující JPS1 byly UltraSPARC III od Sunu a SPARC64 V od Fujitsu. Funkce, které JPS1 nepokrývá, jsou pro každý procesor dokumentovány v části „Implementační doplňky“.

Na konci roku 2003 byl vydán JPS2 na podporu vícejádrových procesorů. První CPU vyhovující JPS2 byly UltraSPARC IV od Sunu a SPARC64 VI od Fujitsu.

Na začátku roku 2006 vydala společnost Sun rozšířenou specifikaci architektury UltraSPARC Architecture 2005 . To zahrnuje nejen neprivilegované a většinu privilegovaných částí SPARC V9, ale také všechna architektonická rozšíření vyvinutá prostřednictvím generací procesorů UltraSPARC III, IV IV + i rozšíření CMT počínaje implementací UltraSPARC T1 :

  • že VIS 1 a VIS 2 instrukční sadu rozšíření a související GSR registr
  • více úrovní globálních registrů, řízených registrem GL
  • 64bitová architektura MMU od Sunu
  • privilegované pokyny ALLCLEAN, OTHERW, NORMALW a INVALW
  • přístup do registru VER je nyní hyperprivilegovaný
  • instrukce SIR je nyní hyperprivilegovaná

V roce 2007 vydala společnost Sun aktualizovanou specifikaci UltraSPARC Architecture 2007 , které implementace UltraSPARC T2 vyhovovala.

V srpnu 2012 společnost Oracle Corporation zpřístupnila novou specifikaci Oracle SPARC Architecture 2011 , která kromě celkové aktualizace reference přidává ke specifikaci z roku 2007 rozšíření instrukční sady VIS 3 a režim hyperprivileged .

V říjnu 2015 společnost Oracle vydala SPARC M7, první procesor založený na nové specifikaci Oracle SPARC Architecture 2015 . Tato revize zahrnuje rozšíření instrukční sady VIS 4 a hardwarové šifrování a silikonovou zabezpečenou paměť (SSM).

Architektura SPARC poskytuje nepřetržitou binární kompatibilitu aplikací od první implementace SPARC V7 v roce 1987 až po implementace Sun UltraSPARC Architecture.

Mezi různými implementacemi SPARC byly velmi oblíbené Sun's SuperSPARC a UltraSPARC-I, které byly použity jako referenční systémy pro benchmarky SPEC CPU95 a CPU2000. UltraSPARC-II 296 MHz je referenční systém pro benchmark SPEC CPU2006.

Architektura

SPARC je architektura načítání / ukládání (také známá jako architektura registr-registr ); kromě instrukcí pro načítání / ukládání použitých k přístupu do paměti , všechny instrukce fungují v registrech.

Registry

Architektura SPARC má překrývající se schéma okna registru. V každém okamžiku je viditelných 32 univerzálních registrů. Proměnná Current Window Pointer ( CWP ) v hardwaru ukazuje na nastavené proudy. Celková velikost souboru registru není součástí architektury, což umožňuje přidávat další registry, jak se technologie vylepšuje, a to až do maxima 32 oken v SPARC v7 a v8, protože CWP je 5 bitů a je součástí registru PSR .

V SPARC v7 a v8 bude CWP obvykle snížen instrukcí SAVE (použitou instrukcí SAVE během volání procedury k otevření nového rámce zásobníku a přepnutím okna registru), nebo zvýšen instrukcí RESTORE (přepnutí zpět na volání před návratu z postupu). Události Trap (přerušení, výjimky nebo instrukce TRAP) a instrukce RETT (návrat z pastí) také mění CWP . U SPARC-V9 se registr CWP během instrukce RESTORE sníží a během instrukce SAVE se zvýší. Toto je opakem chování PSR.CWP v SPARC-V8. Tato změna nemá žádný vliv na neprivilegované pokyny.

Adresování oken
Zaregistrovat skupinu Mnemotechnická pomůcka Registrovat adresu
globální G0-G7 R [0] -R [7]
ven O0-O7 R [8] -R [15]
místní L0-L7 R [16] -R [23]
v I0-I7 R [24] -R [31]

Registry SPARC jsou zobrazeny na obrázku výše.

Formáty pokynů

Všechny instrukce SPARC zabírají plné 32bitové slovo a začínají na hranici slova. Používají se čtyři formáty, které se liší prvními dvěma bity. Všechny aritmetické a logické instrukce mají 2 zdrojové operandy a 1 cílový operand.

Formát instrukce SETHI zkopíruje svůj 22bitový okamžitý operand do 22 bitů vyššího řádu libovolného zadaného registru a nastaví každý z 10 bitů nízkého řádu na 0.

Naformátujte registr ALU, oba zdroje jsou registry; formát ALU okamžitý, jeden zdroj je registr a jeden je konstanta v rozsahu -4096 až +4095. Bit 13 vybírá mezi nimi. V obou případech je cílem vždy registr.

Pokyny pro formát větve řídí převody nebo podmíněné větve. Pole icc nebo fcc určuje druh větve. Pole 22 bitového posunutí udává relativní adresu cíle slovy, takže podmíněné větve mohou jít dopředu nebo dozadu až o 8 megabajtů. Zrušit (A) bit se používá, jak se zbavit některých zpoždění slotů. Pokud je v podmíněné větvi 0, provede se zpožďovací slot jako obvykle. Pokud je 1, zpožďovací slot se provede, pouze pokud je braná větev. Pokud to není přijato, instrukce následující po podmíněné větvi je přeskočena.

CALL výuka využívá 30-bitové PC relativní slovo offset. Tato hodnota stačí k dosažení jakékoli instrukce do 4 gigabajtů volajícího nebo celého adresního prostoru. Instrukce CALL uloží zpáteční adresu do registru R15, známého také jako výstupní registr O7 .

Stejně jako aritmetické pokyny používá architektura SPARC dva různé formáty pro pokyny pro načítání a ukládání. První formát se používá pro instrukce, které používají jeden nebo dva registry jako efektivní adresu. Druhý formát se používá pro instrukce, které používají jako efektivní adresu celočíselnou konstantu.

Formáty instrukcí SPARC
Typ Bit
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Formát SETHI 00 RD 100 Okamžitá konstanta 22 bitů
I Formát pobočky 00 A ICC 010 Konstanta posunutí 22 bitů
F Formát pobočky 00 A fcc 110 Konstanta posunutí 22 bitů
CALL disp 01 Relativní posunutí PC
Aritmetický registr 10 RD operační kód RS 1 0 0 RS 2
Aritmetika okamžitá 10 RD operační kód RS 1 1 Okamžitá konstanta 13 bitů
FPU 10 FD 110100/110101 FS 1 opf FS 2
Registr LD / ST 11 RD operační kód RS 1 0 0 RS 2
LD / ST okamžité 11 RD operační kód RS 1 1 Okamžitá konstanta 13 bitů

Většina aritmetických instrukcí přichází ve dvojicích, přičemž jedna verze nastavuje bity stavového kódu NZVC a druhá nikoli. Je to tak, že kompilátor má způsob, jak přesouvat pokyny, když se snaží vyplnit sloty zpoždění.

SPARC v7 nemá instrukce pro násobení nebo dělení, bit má MULSCC, který provádí jeden krok násobení, který testuje jeden bit a podmíněně přidává multiplikátor k produktu. Důvodem bylo, že MULSCC může dokončit více než jeden hodinový cyklus v souladu s filozofií RISC.

Držitelé licence na architekturu SPARC

Následující organizace mají licenci na architekturu SPARC:

Implementace

Jméno (kódové označení) Modelka Frekvence (MHz) Oblouk. verze Rok Celkem vláken Proces (nm) Tranzistory (miliony) Velikost matrice (mm 2 ) IO kolíky Výkon (W) Napětí (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) Mezipaměť L3 (KB)
SPARC MB86900 Fujitsu 14,28–33 V7 1986 1 × 1 = 1 1300 0,11 - 256 - - 0–128 (sjednoceno) žádný žádný
SPARC Rozličný 14,28–40 V7 1989–1992 1 × 1 = 1 800–1300 ~ 0,1–1,8 - 160–256 - - 0–128 (sjednoceno) žádný žádný
MN10501 (KAP) Solbourne Computer ,

Matsushita

33-36 V8 1990-1991 1x1 = 1 - 1.0 - - - - 8 8 0–256 žádný
microSPARC I (tsunami) TI TMS390S10 40–50 V8 1992 1 × 1 = 1 800 0,8 225? 288 2.5 5 2 4 žádný žádný
SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33–60 V8 1992 1 × 1 = 1 800 3.1 - 293 14.3 5 16 20 0–2048 žádný
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 žádný žádný
hyperSPARC (Colorado 1) Ross RT620A 40–90 V8 1993 1 × 1 = 1 500 1.5 - - - 5? 0 8 128–256 žádný
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1 × 1 = 1 500 2.3 233 321 5 3.3 8 16 žádný žádný
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1 × 1 = 1 400 1.5 - - - 3.3 0 8 128–256 žádný
SuperSPARC II (Voyager) Sun STP1021 75–90 V8 1994 1 × 1 = 1 800 3.1 299 - 16 - 16 20 1024–2048 žádný
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 1995 1 × 1 = 1 350 1.5 - - - 3.3 0 8 512–1024 žádný
TurboSPARC Fujitsu MB86907 160–180 V8 1996 1 × 1 = 1 350 3.0 132 416 7 3.5 16 16 512 žádný
UltraSPARC (Spitfire) Sun STP1030 143–167 V9 1995 1 × 1 = 1 470 3.8 315 521 30 3.3 16 16 512–1024 žádný
UltraSPARC (sršeň) Sun STP1030 200 V9 1995 1 × 1 = 1 420 5.2 265 521 - 3.3 16 16 512–1024 žádný
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 1996 1 × 1 = 1 350 1.7 - - - 3.3 16 16 512 žádný
SPARC64 Fujitsu (HAL) 101–118 V9 1995 1 × 1 = 1 400 - Multičip 286 50 3.8 128 128 - -
SPARC64 II Fujitsu (HAL) 141–161 V9 1996 1 × 1 = 1 350 - Multičip 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 II (Blackbird) Sun STP1031 250–400 V9 1997 1 × 1 = 1 350 5.4 149 521 25 2.5 16 16 1024 nebo 4096 žádný
UltraSPARC II (safírová černá) Sun STP1032 / STP1034 360–480 V9 1999 1 × 1 = 1 250 5.4 126 521 21 1.9 16 16 1024–8192 žádný
UltraSPARC IIi (šavle) Sun SME1040 270–360 V9 1997 1 × 1 = 1 350 5.4 156 587 21 1.9 16 16 256–2048 žádný
UltraSPARC IIi (safírová červená) Sun SME1430 333–480 V9 1998 1 × 1 = 1 250 5.4 - 587 21 1.9 16 16 2048 žádný
UltraSPARC IIe (kolibřík) Sun SME1701 400–500 V9 1999 1 × 1 = 1 180 Al - - 370 13 1.5–1.7 16 16 256 žádný
UltraSPARC IIi (IIe +) (Phantom) Sun SME1532 550–650 V9 2000 1 × 1 = 1 180 Cu - - 370 17.6 1.7 16 16 512 žádný
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 (gepard) Sun SME1050 600 JPS1 2001 1 × 1 = 1 180 Al 29 330 1368 53 1.6 64 32 8192 žádný
UltraSPARC III (gepard) Sun SME1052 750–900 JPS1 2001 1 × 1 = 1 130 Al 29 - 1368 - 1.6 64 32 8192 žádný
UltraSPARC III Cu (gepard +) Sun SME1056 900–1200 JPS1 2001 1 × 1 = 1 130 Cu 29 232 1368 50 1.6 64 32 8192 žádný
UltraSPARC IIIi (Jalapeño) Sun SME1603 1064–1593 JPS1 2003 1 × 1 = 1 130 87,5 206 959 52 1.3 64 32 1024 žádný
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 65 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 žádný
UltraSPARC IV + (Panther) Sun SME1167A 1500–2100 JPS2 2005 1 × 2 = 2 90 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Niagara) Sun SME1905 1000–1400 UA2005 2005 4 × 8 = 32 90 300 340 1933 72 1.3 8 16 3072 žádný
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 žádný
UltraSPARC T2 (Niagara 2) Sun SME1908A 1000–1600 UA2007 2007 8 × 8 = 64 65 503 342 1831 95 1,1–1,5 8 16 4096 žádný
UltraSPARC T2 Plus (Viktoriiny vodopády) Sun SME1910A 1200–1600 UA2007 2008 8 × 8 = 64 65 503 342 1831 - - 8 16 4096 žádný
SPARC64 VII (Jupiter) Fujitsu 2400–2880 JPS2 2008 2 × 4 = 8 65 600 445 - 150 - 64 × 4 64 × 4 6144 žádný
UltraSPARC "RK" ( skála ) Sun SME1832 2300 ???? zrušeno 2 × 16 = 32 65 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Venuše) Fujitsu 2000 JPS2 / HPC-ACE 2009 1 × 8 = 8 45 760 513 1271 58 ? 32 × 8 32 × 8 6144 žádný
LEON2FT Atmel AT697F 100 V8 2009 1 × 1 = 1 180 - - 196 1 1,8 / 3,3 16 32 - - | žádný
SPARC T3 (Rainbow Falls) Oracle / Sun 1650 UA2007 2010 8 × 16 = 128 40 ???? 371 ? 139 ? 8 16 6144 žádný
Galaxy FT-1500 NUDT (Čína) 1800 UA2007? 201? 8 × 16 = 128 40 ???? ??? ? 65 ? 16 × 16 16 × 16 512 × 16 4096
SPARC64 VII + (Jupiter-E nebo M3) Fujitsu 2667–3000 JPS2 2010 2 × 4 = 8 65 - - - 160 - 64 × 4 64 × 4 12288 žádný
LEON3FT Cobham Gaisler GR712RC 100 V8E 2011 1 × 2 = 2 180 - - - 1.5 1,8 / 3,3 4x4 kB 4x4 kB žádný žádný
R1000 MCST (Rusko) 1000 JPS2 2011 1 × 4 = 4 90 180 128 - 15 1, 1,8, 2,5 32 16 2048 žádný
SPARC T4 (Yosemitské vodopády) Věštec 2850–3000 OSA2011 2011 8 × 8 = 64 40 855 403 ? 240 ? 16 × 8 16 × 8 128 × 8 4096
SPARC64 IXfx Fujitsu 1850 JPS2 / HPC-ACE 2012 1x16 = 16 40 1870 484 1442 110 ? 32 × 16 32 × 16 12288 žádný
SPARC64 X (Athena) Fujitsu 2800 OSA2011 / HPC-ACE 2012 2 × 16 = 32 28 2950 587,5 1500 270 ? 64 × 16 64 × 16 24576 žádný
SPARC T5 Věštec 3600 OSA2011 2013 8 × 16 = 128 28 1500 478 ? ? ? 16 × 16 16 × 16 128 × 16 8192
SPARC M5 Věštec 3600 OSA2011 2013 8 × 6 = 48 28 3900 511 ? ? ? 16 × 6 16 × 6 128 × 6 49152
SPARC M6 Věštec 3600 OSA2011 2013 8 × 12 = 96 28 4270 643 ? ? ? 16 × 12 16 × 12 128 × 12 49152
SPARC64 X + (Athena +) Fujitsu 3200–3700 OSA2011 / HPC-ACE 2014 2 × 16 = 32 28 2990 600 1500 392 ? 64 × 16 64 × 16 24 mil žádný
SPARC64 XIfx Fujitsu 2200 JPS2 / HPC-ACE2 2014 1 × (32 + 2) = 34 20 3750 ? 1001 ? ? 64 × 34 64 × 34 12M × 2 žádný
SPARC M7 Věštec 4133 OSA2015 2015 8 × 32 = 256 20 > 10 000 ? ? ? ? 16 × 32 16 × 32 256 × 24 65536
SPARC S7 Věštec 4270 OSA2015 2016 8 × 8 = 64 20 ???? ? ? ? ? 16 × 8 16 × 8 256 × 2 + 256 × 4 16384
SPARC64 XII Fujitsu 4250 OSA201? / HPC-ACE 2017 8 × 12 = 96 20 5500 795 1860 ? ? 64 × 12 64 × 12 512 × 12 32768
SPARC M8 Věštec 5000 OSA2017 2017 8 × 32 = 256 20 ? ? ? ? ? 32 × 32 16 × 32 128 × 32 + 256 × 8 65536
LEON4 Cobham Gaisler GR740 250 V8E 2017 1 × 4 = 4 32 - - - - 1,2 / 2,5 / 3,3 4x4 4x4 2048 žádný
LEON5 Cobham Gaisler - V8E 2019 ? ? - - - - - ? ? 16–8192 žádný
Jméno (kódové označení) Modelka Frekvence (MHz) Oblouk. verze Rok Celkem vláken Proces (nm) Tranzistory (miliony) Velikost matrice (mm 2 ) IO kolíky Výkon (W) Napětí (V) L1 Dcache (KB) L1 Icache (KB) L2 cache (KB) Mezipaměť L3 (KB)

Poznámky :

Podpora operačního systému

Stroje SPARC obecně používaly Sun's SunOS , Solaris nebo OpenSolaris včetně derivátů illumos a OpenIndiana , ale byly použity i jiné operační systémy , jako NeXTSTEP , RTEMS , FreeBSD , OpenBSD , NetBSD a Linux .

V roce 1993 Intergraph oznámil port Windows NT do architektury SPARC, ale ten byl později zrušen.

V říjnu 2015 společnost Oracle oznámila „referenční platformu Linux pro SPARC“.

Open source implementace

Existuje několik plně otevřených implementací architektury SPARC:

  • LEON , 32bitová implementace SPARC V8 odolná vůči záření , navržená speciálně pro vesmírné použití. Zdrojový kód je napsán ve VHDL a je licencován pod GPL .
  • OpenSPARC T1 , vydaný v roce 2006, 64bitová implementace s 32 vlákny v souladu s architekturou UltraSPARC Architecture 2005 a SPARC verze 9 (úroveň 1). Zdrojový kód je napsán ve Verilogu a je licencován pod mnoha licencemi. Většina zdrojových kódů OpenSPARC T1 podléhá licenci GPL. Zdroj založený na existujících projektech open source bude i nadále licencován na základě jejich současných licencí. Binární programy jsou licencovány na základě binární softwarové licenční smlouvy .
  • S1 , 64bitové jádro vyhovující Wishbone CPU založené na designu OpenSPARC T1. Jedná se o jediné jádro UltraSPARC v9 schopné 4cestného SMT. Stejně jako T1 je zdrojový kód licencován pod GPL.
  • OpenSPARC T2 , vydaný v roce 2008, 64bitová implementace s 64 vlákny v souladu s architekturou UltraSPARC Architecture 2007 a SPARC verze 9 (úroveň 1). Zdrojový kód je napsán ve Verilogu a je licencován pod mnoha licencemi. Většina zdrojových kódů OpenSPARC T2 podléhá licenci GPL. Zdroj založený na existujících projektech open source bude i nadále licencován na základě jejich současných licencí. Binární programy jsou licencovány na základě binární softwarové licenční smlouvy.

Existuje také plně otevřený zdrojový simulátor pro architekturu SPARC:

  • RAMP Gold , 32bitová implementace SPARC verze 8 se 64 vlákny, určená pro simulaci architektury založené na FPGA. RAMP Gold je napsán na ~ 36 000 řádcích SystemVerilog a je licencován na základě licencí BSD .

Superpočítače

Pro načítání HPC společnost Fujitsu staví specializované procesory SPARC64 fx s novou sadou rozšíření instrukcí nazvanou HPC-ACE (High Performance Computing - Arithmetic Computational Extensions).

Počítač Fujitsu K se umístil na 1. místě v seznamech TOP500 červen 2011 a listopad 2011. Kombinuje 88 128 procesorů SPARC64 VIIIfx , každý s osmi jádry, celkem 705 024 jader - téměř dvakrát tolik než jakýkoli jiný systém v té době v TOP500 . Počítač K byl výkonnější než dalších pět systémů na seznamu dohromady a měl nejvyšší poměr výkonu k výkonu ze všech superpočítačových systémů. Rovněž se umístila na 6. místě v seznamu Green500 June 2011 se skóre 824,56 MFLOPS / W. Ve vydání TOP500 z listopadu 2012 se počítač K umístil na 3. místě a využíval zdaleka největší výkon ze tří nejlepších. Zařadil se na 85. místo v odpovídajícím vydání Green500 . Novější procesory HPC, IXfx a XIfx , byly zahrnuty do nedávných superpočítačů PRIMEHPC FX10 a FX100.

Tianhe-2 ( TOP500 č. 1 k listopadu 2014) má řadu uzlů s procesory Galaxy FT-1500 OpenSPARC založenými na Číně. Tito zpracovatelé však nepřispěli ke skóre LINPACK .

Viz také

  • ERC32  - na základě specifikace SPARC V7
  • Ross Technology, Inc.  - vývojář mikroprocesorů SPARC v 80. a 90. letech
  • Sparcle  - upravený SPARC s podporou více procesů používaný projektem MIT Alewife
  • LEON  - prostorový procesor SPARC V8.
  • R1000  - ruský čtyřjádrový mikroprocesor založený na specifikaci SPARC V9
  • Galaxy FT-1500  - čínský 16jádrový procesor založený na OpenSPARC

Reference

externí odkazy