SPARC

S Vikipedije, slobodne enciklopedije
SPARC
DizajnerSun Microsystems (acquired by Oracle Corporation)[1][2]
Bitovi64-bit (32 → 64)
Uveden1986 (production)
1987 (shipments)
VersionV9 (1993) / OSA2017
DizajnRISC
TipRegister-Register
EncodingFixed
BranchingCondition code
EndianBi (Big → Bi)
Page size8 KB (4 KB → 8 KB)
ExtensionsVIS 1.0, 2.0, 3.0, 4.0
OpenYes, and royalty free
Registri
Opšta namena31 (G0 = 0; non-global registers use register windows)
Floating point32 (usable as 32 single-precision, 32 double-precision, or 16 quad-precision)
Mikroprocesor Sun UltraSPARC II (1997)

SPARC (Scalable Processor Architecture) je arhitektura skupova instrukcija sa smanjenim skupom instrukcija (RISC), koju je prvobitno razvila kompanija Sun Microsystems.[1][2] Na njegov dizajn je snažno uticao eksperimentalni Berkeley RISC sistem razvijen početkom 1980-ih godina. Prvi put razvijen 1986. godine, a objavljen 1987. godine [2][3] SPARC je bio jedan od najuspešnijih ranih komercijalnih RISC sistema, a njegov uspeh doveo je do uvođenja sličnih RISC dizajna od brojnih dobavljača tokom 1980-ih i 1990-ih godina.

Prva implementacija originalne 32-bitne arhitekture (SPARC V7) korišćena je u Sun-ovim radnim stanicama Sun-4 i serverskim sistemima, menjajući njihove ranije sisteme Sun-3 zasnovane na procesorima serije Motorola 68000. SPARC V8 je dodao mnoga poboljšanja koja su bila deo SuperSPARC serije procesora objavljenih 1992 godine. SPARC V9, objavljen 1993. godine, predstavio je 64-bitnu arhitekturu, a prvi put je objavljen u Sun-ovim UltraSPARC procesorima 1995. godine. Kasnije su SPARC procesori korišćeni u simetričnom multiprocesingu (SMP) i serverima za neujednačeni pristup memoriji (CC-NUMA) koje su, između ostalih, proizveli Sun, Solbourne i Fujitsu.

Dizajn je 1989. godine predat SPARC međunarodnoj trgovačkoj grupi, a od tada su njenu arhitekturu razvijali njeni članovi. SPARC International je takođe odgovoran za licenciranje i promovisanje SPARC arhitekture, upravljanje zaštitnim znacima SPARC-a (uključujući SPARC, čiji je vlasnik), i za obezbeđivanje testiranja usaglašenosti. SPARC International je imao nameru da razvija SPARC arhitekturu kako bi stvorio veći ekosistem; SPARC je licenciran na nekoliko proizvođača, uključujući Atmel, Bipolar Integrated Technology, Cypress Semiconductor, Fujitsu, Matsushita i Texas Instruments. Zahvaljujući SPARC International-u, SPARC je potpuno otvoren, bez vlasništva i bez naknade.

Od septembra 2017. godine, najnoviji komercijalni high-end SPARC procesori su Fujitsu-ov SPARC64 XII (predstavljen 2017. godine za svoj SPARC M12 server) i Oracle-ov SPARC M8 predstavljen u septembru 2017. godine za svoje vrhunske servere.

U petak, 1. septembra 2017. godine, nakon runde otpuštanja koja je započela u Oracle Labs-u u novembru 2016. godine, Oracle je prekinuo SPARC dizajn nakon završetka M8. Veliki deo razvojne grupe jezgra procesora u Austinu u Teksasu je otpušten, kao i timovi u Santa Klari u Kaliforniji i Burlingtonu u Masačusetsu.[4][5]

"Poboljšana" verzija Fujitsu-ovog starijeg SPARC M12 servera očekuje se 2021. godine.[6]

Karakteristike[uredi | uredi izvor]

Arhitektura SPARC-a bila je pod velikim uticajem ranijih RISC dizajna, uključujući RISC I i II sa Kalifornijskog univerziteta u Berkliju i IBM 801 . Ovi originalni RISC dizajni bili su minimalistički, uključujući što je moguće manje funkcija ili op-kodova i imali su za cilj izvršavanje instrukcija brzinom od skoro jedne instrukcije po ciklusu takta. To ih je učinilo sličnim MIPS arhitekturi na mnogo načina, uključujući nedostatak instrukcija kao što su množenje ili deljenje. Još jedna karakteristika SPARC-a pod uticajem ovog ranog RISC pokreta je slot za odlaganje grananja .

SPARC procesor obično sadrži 160 registara opšte namene. Prema "Oracle SPARC Architecture 2015" specifikaciji, "implementacija može sadržati od 72 do 640 64-bitnih registara opšte namene".[7] U bilo kom trenutku, samo 32 od njih su odmah vidljivi softveru — 8 je skup globalnih registara (od kojih je jedan, g0, ožičen na nulu, pa se samo njih sedam mogu koristiti kao registri), a ostalih 24 su iz steka (gomile) registara. Ova 24 registra formiraju ono što se naziva prozor registra a pri pozivu/povratku funkcije ovaj prozor se pomera gore-dole po nizu registara. Svaki prozor ima 8 lokalnih registara i deli 8 registara sa svakim od susednih prozora. Deljeni registri se koriste za prosleđivanje parametara funkcija i vraćanje vrednosti a lokalni registri za čuvanje lokalnih vrednosti u pozivima funkcija.

Termin "skalabilan" u SPARC-u dolazi od činjenice da SPARC specifikacija dozvoljava implementacijama da se prošire od ugrađenih procesora do velikih serverskih procesora, a svi dele isti skup osnovnih, neprivilegovanih instrukcija. Jedan od arhitektonskih parametara koji se može skalirati je broj implementiranih prozora registra; specifikacija dozvoljava implementaciju od tri do 32 prozora, tako da implementacija može izabrati da implementira svih 32 da bi obezbedila maksimalnu efikasnost pozivnog steka, ili da primeni samo tri kako bi smanjila troškove i složenost dizajna, ili da implementira neki broj između njih. Druge arhitekture, koje uključuju slične karakteristike datoteka registra, uključuju Intel i960, IA-64 i AMD 29000 .

Arhitektura je prošla kroz nekoliko revizija. Stekla je funkcionalnost hardverskog množenja i deljenja u Verziji 8. [8][9] 64-bitno adresiranje i podaci dodati su u verziju 9 SPARC specifikacije, objavljenu 1994. godine.

U SPARC verziji 8, datoteka registra sa pokretnim zarezom ima 16 registara dvostruke tačnosti. Svaki od njih može se koristiti kao dva registra jednostruke tačnosti, pružajući ukupno 32 registra jednostruke tačnosti. Par neparnih-parnih brojeva registara dvostruke tačnosti može se koristiti kao registar četvorostruke tačnosti, omogućavajući tako 8 registara četvorostruke tačnosti. SPARC verzija 9 dodala je još 16 registara dvostruke tačnosti (kojima se može pristupiti i kao 8 registara sa četvorostrukom tačnošću), ali ovim dodatnim registrima nije moguće pristupiti kao registrima jednostruke tačnosti. Nijedan SPARC procesor ne implementira operacije četvorostruke tačnosti u hardveru od 2004.[10]

Tagged arhitektura sabira i oduzima instrukcije, izvodi dodavanja i oduzimanja na vrednosti, proverava da li su donja dva bita oba operanda 0 i izveštava prelivanje (engl. overflow) ako nisu. Ovo može biti korisno u realizaciji vremena izvršavanja za ML, Lisp, i slične jezike koji bi koristili tagged integer format.

Endijalnost (engl. endianness) 32-bitne SPARC V8 arhitekture je potpuno big-endian (BE). 64-bitna SPARC V9 arhitektura koristi big-endian instrukcije, ali može pristupiti podacima u big-endian ili little-endian redosledu bajtova, izabranim na nivou instrukcija aplikacije (učitavanje-skladištenje) ili na nivou memorijske stranice (preko MMU podešavanja). Ovo poslednje se često koristi za pristup podacima sa inherentno little-endian uređaja, poput onih na PCI magistralama.

Istorija[uredi | uredi izvor]

Došlo je do tri velike revizije arhitekture. Prva objavljena verzija bila je 32-bitna SPARC verzija 7 (V7) 1986. godine. SPARC verzija 8 (V8), poboljšana definicija SPARC arhitekture, objavljena je 1990. godine. Glavne razlike između V7 i V8 bile su dodavanje instrukcija za množenje i deljenje celobrojnih brojeva i nadogradnja sa 80-bitne aritmetike sa "plutajućom tačkom" proširene preciznosti na 128-bitnu "četvorostruku preciznost" aritmetiku. SPARC V8 poslužio je kao osnova za IEEE Standard 1754-1994, IEEE standard za 32-bitnu mikroprocesorsku arhitekturu.

SPARC Verziju 9, 64-bitnu SPARC arhitekturu, objavila je kompanija SPARC International 1993. godine. Razvio ga je Arhitektonski odbor SPARC-a čiji su članovi Amdahl Corporation, Fujitsu, ICL, LSI Logic, Matsushita, Philips, Ross Technology, Sun Microsystems i Texas Instruments . Novije specifikacije uvek ostaju usklađene sa potpunom SPARC V9 Level 1 specifikacijom.

2002. godine, Fujitsu i Sun objavili su SPARC Joint Programming Specification 1 (JPS1) koja opisuje procesorske funkcije koje su identično implementirane u procesore obe kompanije („Zajedništvo“). Prvi procesori koji su u skladu sa JPS1 bili su UltraSPARC III kompanije Sun i SPARC53 V kompanije Fujitsu. Funkcionalnosti koje nisu obuhvaćene JPS1 specifikacijom dokumentovane su za svaki procesor u "Dodacima implementacije".

Krajem 2003. godine objavljen je JPS2 koji podržava višejezgrene procesore. Prvi procesori u skladu sa JPS2 bili su UltraSPARC IV kompanije Sun i SPARC64 VI kompanije Fujitsu.

Početkom 2006. godine Sun je objavio proširenu specifikaciju arhitekture, UltraSPARC Architecture 2005 . Ovo uključuje ne samo neprivilegovane i većinu privilegovanih delova SPARC V9, već i sva arhitektonska proširenja razvijena kroz generacije procesora UltraSPARC III, IV, IV+, kao i CMT proširenja počevši od implementacije UltraSPARC T1 :

  • proširenja skupa instrukcija VIS 1 i VIS 2 i pridruženi GSR registar
  • više nivoa globalnih registara, koje kontroliše GL registar
  • Sun-ova 64-bitna MMU arhitektura
  • privilegovane instrukcije ALLCLEAN, OTHERW, NORMALW i INVALW
  • pristup registru VER je sada hiperprivilegovan
  • SIR instrukcija je sada hiperprivilegovana

Godine 2007. Sun je objavio ažuriranu specifikaciju UltraSPARC Architecture 2007, u kojoj je implementacija UltraSPARC T2 sastavljena.

U avgustu 2012. godine, Oracle korporacija je stavila na raspolaganje novu specifikaciju, Oracle SPARC Architecture 2011, koja pored sveukupnog ažuriranja reference, dodaje proširenja skupa instrukcija VIS 3 i hiperprivilegovani režim u specifikaciju za 2007. godinu.

U oktobru 2015. godine, Oracle je objavio SPARC M7, prvi procesor zasnovan na novoj specifikaciji Oracle SPARC Architecture 2015. [7][11] Ova revizija uključuje proširenja skupa instrukcija VIS 4 i hardverski podržano šifrovanje i memoriju zaštićenu silikonom (SSM).[12]

SPARC arhitektura je obezbedila kontinuiranu binarnu kompatibilnost aplikacije od prve implementacije SPARC V7 1987. godine kroz implementacije Sun UltraSPARC arhitekture.

Među različitim implementacijama SPARC-a, Sun-ovi SuperSPARC i UltraSPARC-I bili su veoma popularni i korišćeni su kao referentni sistemi za SPEC CPU95 i CPU2000 merila. 296-MHz UltraSPARC-II je referentni sistem za merenje SPEC CPU2006.

Arhitektura[uredi | uredi izvor]

SPARC je arhitektura učitavanja/skladištenja (koja je poznata i kao registar-registar arhitektura); osim uputstava za učitavanje/skladištenje koja se koriste za pristup memoriji, sve instrukcije rade na registrima.

Registri[uredi | uredi izvor]

Arhitektura SPARC ima šemu prozora registra koja se preklapa. U svakom trenutku su vidljiva 32 registra opšte namene. Varijabla trenutnog pokazivača prozora (Current Window Pointer - CWP) u hardveru ukazuje na postavljene struje. Ukupna veličina datoteke registra nije deo arhitekture, što omogućava dodavanje više registara kako se tehnologija poboljšava, do najviše 32 prozora u SPARC v7 i v8 jer je CWP veličine 5 bita i deo je PSR registra.

U SPARC v7 i v8 CWP će obično biti smanjen instrukcijom SAVE (koristi je instrukcija SAVE tokom poziva procedure za otvaranje novog okvira steka i prebacivanje prozora registra) ili će se povećati naredbom RESTORE (prebacivanje na poziv pre vraćanje iz procedure). Trap događaji (prekidi, izuzeci ili TRAP instrukcije) i RETT instrukcije (vraćanje iz zamki) takođe menjaju CWP. Za SPARC-V9, CWP registar se smanjuje tokom instrukcije RESTORE, a povećava se tokom instrukcije SAVE. Ovo je suprotno od PSR-a. Ponašanje CWP-a u SPARC-V8. Ova promena nema uticaja na neprivilegovana uputstva.

Adresiranje prozora
Grupa registra Mnemonic Adresa registra
global G0-G7 R[0]-R[7]
out O0-O7 R[8]-R[15]
local L0-L7 R[16]-R[23]
in I0-I7 R[24]-R[31]

SPARC registri su prikazani na gornjoj slici.

Formati instrukcija[uredi | uredi izvor]

Sve SPARC instrukcije zauzimaju punu 32-bitnu reč, i počinju na granici reči. Koriste se 4 formata, koji se razlikuju po prva 2 bita. Sve aritmetičke i logičke instrukcije imaju 2 izvorna i 1 odredišni operand.

SETHI format instrukcije kopira svoj 22-bitni neposredni operand u 22 bita visokog reda bilo kog navedenog registra, i postavlja svaki od deset bitova nižeg reda na 0.

Format ALU register, oba izvora su registri; format ALU immediate, jedan izvor je registar, a jedan je konstanta u opsegu od -4096 do +4095. Bit 13 bira jedan od njih. U oba slučaja, odredište je uvek registar.

Uputstva za format grane rade kontrolne prenose ili uslovne grane. Polja icc ili fcc određuju koja je vrsta grane. Polje za pomeranje od 22 bita daje relativnu adresu cilja, i to rečima, tako da uslovne grane mogu da idu napred ili nazad do 8 megabajta. Bit ANNUL (A) se koristi za uklanjanje nekih slotova za kašnjenje. Ako je 0 u uslovnoj grani, onda se slot za kašnjenje izvršava kao i obično. Ako je 1, onda se slot za kašnjenje izvršava samo ako se uzme grana. Ako se grana ne uzme, instrukcija koja sledi uslovnu granu se preskače.

Instrukcija CALL koristi 30-bitni pomak reči za računar. Ova vrednost je dovoljna da dohvati bilo koju instrukciju unutar 4 gigabajta od pozivaoca ili celog adresara. Uputstvo CALL depozituje povratnu adresu u registar R15 poznat i kao izlazni registar O7 .

Kao i aritmetičke instrukcije, arhitektura SPARC koristi dva različita formata za učitavanje i skladištenje instrukcija. Prvi format se koristi za instrukcije koje koriste jedan ili dva registra kao efektivnu adresu. Drugi format se koristi za instrukcije koje koriste celobrojnu konstantu kao efektivnu adresu.

Formati instrukcija SPARC
Tip 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
S 00 RD 100 Neposredna konstanta 22 bita
I Branch format 00 A. icc 010 Konstanta pomaka 22 bita
F Branch ormat 00 A. fcc 110 Konstanta pomaka 22 bita
CALL disp 01 PC-relativno pomeranje
Aritmetički registar 10 RD opcode RS 1 0 0 RS 2
Aritmetika neposredna (immediate) 10 RD opcode RS 1 1 Neposredna konstanta 13 bita
FPU 10 FD 110100/110101 FS 1 opf FS 2
LD/ST registar 11 RD opcode RS 1 0 0 RS 2
LD/ST

neposredna

(immediate)

11 RD opcode RS 1 1 Neposredna konstanta 13 bita

Većina aritmetičkih instrukcija dolazi u paru s jednom verzijom koja postavlja bitove koda stanja NZVC, a druga ne. Ovo je tako da kompajler ima način da premešta instrukcije prilikom pokušaja popunjavanja slotova za odlaganje.

SPARC v7 nema instrukcije za množenje ili deljenje, ali ima MULSCC, koji radi jedan korak testiranja množenja za jedan bit i uslovno dodavajući množenje u proizvod. To je zato što MULSCC može da završi jedan ciklus takta držeći se RISC filozofije.

Implementacije[uredi | uredi izvor]

Name (codename) Model Frequency (MHz) Arch. version Year Total threads Process (nm) Transistors (millions) Die size (mm²) IO pins Power (W) Voltage (V) L1 Dcache (KB) L1 Icache (KB)
SPARC MB86900 Fujitsu[1][2][3] 14.28–33 V7 1986 1×1=1 1300 0.11 256 0–128 (unified)
SPARC Various 14.28–40 V7 1989–1992 1×1=1 800–1300 ~0.1–1.8 160–256 0–128 (unified)
MN10501 (KAP) Solbourne Computer,

Matsushita[13]

33-36 V8 1990-1991 1x1=1 1.0[14] 8 8
microSPARC I (Tsunami) TI TMS390S10 40–50 V8 1992 1×1=1 800 0.8 225? 288 2.5 5 2 4
SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33–60 V8 1992 1×1=1 800 3.1 293 14.3 5 16 20
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
hyperSPARC (Colorado 1) Ross RT620A 40–90 V8 1993 1×1=1 500 1.5 5? 0 8
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1×1=1 500 2.3 233 321 5 3.3 8 16
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1×1=1 400 1.5 3.3 0 8
SuperSPARC II (Voyager) Sun STP1021 75–90 V8 1994 1×1=1 800 3.1 299 16 16 20
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 1995 1×1=1 350 1.5 3.3 0 8
TurboSPARC Fujitsu MB86907 160–180 V8 1996 1×1=1 350 3.0 132 416 7 3.5 16 16
UltraSPARC (Spitfire) Sun STP1030 143–167 V9 1995 1×1=1 470 3.8 315 521 30 3.3 16 16
UltraSPARC (Hornet) Sun STP1030 200 V9 1995 1×1=1 420 5.2 265 521 3.3 16 16
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 1996 1×1=1 350 1.7 3.3 16 16
SPARC64 Fujitsu (HAL) 101–118 V9 1995 1×1=1 400 Multichip 286 50 3.8 128 128
SPARC64 II Fujitsu (HAL) 141–161 V9 1996 1×1=1 350 Multichip 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
UltraSPARC IIs (Blackbird) Sun STP1031 250–400 V9 1997 1×1=1 350 5.4 149 521 25 2.5 16 16
UltraSPARC IIs (Sapphire-Black) Sun STP1032 / STP1034 360–480 V9 1999 1×1=1 250 5.4 126 521 21 1.9 16 16
UltraSPARC IIi (Sabre) Sun SME1040 270–360 V9 1997 1×1=1 350 5.4 156 587 21 1.9 16 16
UltraSPARC IIi (Sapphire-Red) Sun SME1430 333–480 V9 1998 1×1=1 250 5.4 587 21 1.9 16 16
UltraSPARC IIe (Hummingbird) Sun SME1701 400–500 V9 1999 1×1=1 180 Al 370 13 1.5–1.7 16 16
UltraSPARC IIi (IIe+) (Phantom) Sun SME1532 550–650 V9 2000 1×1=1 180 Cu 370 17.6 1.7 16 16
SPARC64 GP Fujitsu SFCB81147 400–563 V9 2000 1×1=1 180 30.2 217 1.8 128 128
SPARC64 GP -- 600–810 V9 1×1=1 150 30.2 1.5 128 128
SPARC64 IV Fujitsu MBCS80523 450–810 V9 2000 1×1=1 130 128 128
UltraSPARC III (Cheetah) Sun SME1050 600 JPS1 2001 1×1=1 180 Al 29 330 1368 53 1.6 64 32
UltraSPARC III (Cheetah) Sun SME1052 750–900 JPS1 2001 1×1=1 130 Al 29 1368 1.6 64 32
UltraSPARC III Cu (Cheetah+) Sun SME1056 900–1200 JPS1 2001 1×1=1 130 Cu 29 232 1368 50 1.6 64 32
UltraSPARC IIIi (Jalapeño) Sun SME1603 1064–1593 JPS1 2003 1×1=1 130 87.5 206 959 52 1.3 64 32
SPARC64 V (Zeus) Fujitsu 1100–1350 JPS1 2003 1×1=1 130 190 289 269 40 1.2 128 128
SPARC64 V+ (Olympus-B) Fujitsu 1650–2160 JPS1 2004 1×1=1 90 400 297 279 65 1 128 128
UltraSPARC IV (Jaguar) Sun SME1167 1050–1350 JPS2 2004 1×2=2 130 66 356 1368 108 1.35 64 32
UltraSPARC IV+ (Panther) Sun SME1167A 1500–2100 JPS2 2005 1×2=2 90 295 336 1368 90 1.1 64 64
UltraSPARC T1 (Niagara) Sun SME1905 1000–1400 UA2005 2005 4×8=32 90 300 340 1933 72 1.3 8 16
SPARC64 VI (Olympus-C) Fujitsu 2150–2400 JPS2 2007 2×2=4 90 540 422 120–150 1.1 128×2 128×2
UltraSPARC T2 (Niagara 2) Sun SME1908A 1000–1600 UA2007 2007 8×8=64 65 503 342 1831 95 1.1–1.5 8 16
UltraSPARC T2 Plus (Victoria Falls) Sun SME1910A 1200–1600 UA2007 2008 8×8=64 65 503 342 1831 8 16
SPARC64 VII (Jupiter) Fujitsu 2400–2880 JPS2 2008 2×4=8 65 600 445 150 64×4 64×4
UltraSPARC "RK" (Rock) Sun SME1832 2300 ???? canceled 2×16=32 65 ? 396 2326 ? ? 32 32
SPARC64 VIIIfx (Venus) Fujitsu 2000 JPS2 / HPC-ACE 2009 1×8=8 45 760 513 1271 58 ? 32×8 32×8
LEON2FT Atmel AT697F 100 V8 2009 1×1=1 180 196 1 1.8/3.3 16 32
SPARC T3 (Rainbow Falls) Oracle/Sun 1650 UA2007 2010 8×16=128 40 ???? 371 ? 139 ? 8 16
Galaxy FT-1500 NUDT (China) 1800 UA2007? 201? 8×16=128 40 ???? ??? ? 65 ? 16×16 16×16
SPARC64 VII+ (Jupiter-E or M3) Fujitsu 2667–3000 JPS2 2010 2×4=8 65 160 64×4 64×4
LEON3FT Cobham Gaisler GR712RC 100 V8E 2011 1×2=2 180 1.5 1.8/3.3 4x4Kb 4x4Kb
R1000 MCST (Russia) 1000 JPS2 2011 1×4=4 90 180 128 15 1, 1.8, 2.5 32 16
SPARC T4 (Yosemite Falls) Oracle 2850–3000 OSA2011 2011 8×8=64 40 855 403 ? 240 ? 16×8 16×8
SPARC64 IXfx[15] Fujitsu 1850 JPS2 / HPC-ACE 2012 1x16=16 40 1870 484 1442 110 ? 32×16 32×16
SPARC64 X (Athena)[16] Fujitsu 2800 OSA2011 / HPC-ACE 2012 2×16=32 28 2950 587.5 1500 270 ? 64×16 64×16
SPARC T5 Oracle 3600 OSA2011 2013 8×16=128 28 1500 478 ? ? ? 16×16 16×16
SPARC M5[17] Oracle 3600 OSA2011 2013 8×6=48 28 3900 511 ? ? ? 16×6 16×6
SPARC M6[18] Oracle 3600 OSA2011 2013 8×12=96 28 4270 643 ? ? ? 16×12 16×12
SPARC64 X+ (Athena+)[19] Fujitsu 3200–3700 OSA2011 / HPC-ACE 2014 2×16=32 28 2990 600 1500 392 ? 64×16 64×16
SPARC64 XIfx[20] Fujitsu 2200 JPS2 / HPC-ACE2 2014 1×(32+2)=34 20 3750 ? 1001 ? ? 64×34 64×34
SPARC M7[21][22] Oracle 4133 OSA2015 2015 8×32=256 20 >10,000 ? ? ? ? 16×32 16×32
SPARC S7[23][24] Oracle 4270 OSA2015 2016 8×8=64 20 ???? ? ? ? ? 16×8 16×8
SPARC64 XII[25] Fujitsu 4250 OSA201? / HPC-ACE 2017 8×12=96 20 5500 795 1860 ? ? 64×12 64×12
SPARC M8[26][27] Oracle 5000 OSA2017 2017 8×32=256 20 ? ? ? ? ? 32×32 16×32
LEON4 Cobham Gaisler GR740 250 V8E 2017 1×4=4 32 1.2/2.5/3.3 4x4 4x4
LEON5 Cobham Gaisler V8E 2019 ? ? ? ?
Name (codename) Model Frequency (MHz) Arch. version Year Total threads[note 1] Process (nm) Transistors (millions) Die size (mm²) IO pins Power (W) Voltage (V) L1 Dcache (KB) L1 Icache (KB)

Podrška za operativni sistem[uredi | uredi izvor]

SPARC mašine su generalno koristile Sun-ov SunOS, Solaris ili OpenSolaris uključujući derivate illumos i OpenIndiana, ali su takođe korišćeni i drugi operativni sistemi, kao što su NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD i Linux .

1993. Intergraph je najavio port Windows NT u arhitekturi SPARC ali je kasnije otkazan.

U oktobru 2015. godine, Oracle je najavio „Linux za referentnu platformu SPARC“.

Implementacije otvorenog koda[uredi | uredi izvor]

Postoji nekoliko potpuno otvorenih implementacija SPARC arhitekture:

  • LEON, 32-bitna SPARC V8 implementacija otporna na zračenje, dizajnirana posebno za upotrebu u svemiru. Izvorni kod je napisan na VHDL-u i licenciran je pod GPL-om .
  • OpenSPARC T1, objavljen 2006. godine, 64-bitna, 32-nitna implementacija u skladu sa UltraSPARC arhitekturom 2005 i SPARC verzijom 9 (nivo 1). Izvorni kod je napisan u verilogu i licenciran je pod mnogim licencama. Većina izvornog koda OpenSPARC T1 licencirana je pod GPL-om. Izvor zasnovan na postojećim projektima otvorenog koda i dalje će biti licenciran prema trenutnim licencama. Binarni programi licencirani su prema ugovoru o licenciranju binarnog softvera.
  • S1, 64-bitno procesorsko jezgro kompatibilno sa Wishbone-om zasnovano na OpenSPARC T1 dizajnu. To je jedno jezgro UltraSPARC v9 sposobno za 4-smerni SMT. Kao i T1, izvorni kod je licenciran pod GPL-om.
  • OpenSPARC T2, objavljen 2008. godine, 64-bitna, 64-nitna implementacija u skladu sa UltraSPARC arhitekturom 2007 i SPARC verzijom 9 (nivo 1). Izvorni kod je napisan u verilogu i licenciran je pod mnogim licencama. Većina izvornog koda OpenSPARC T2 licencirana je pod GPL-om. Izvor zasnovan na postojećim projektima otvorenog koda i dalje će biti licenciran prema trenutnim licencama. Binarni programi su licencirani na osnovu Ugovora o licenciranju binarnog softvera.

Takođe postoji i simulator otvorenog koda za SPARC arhitekturu:

  • RAMP Gold Arhivirano na sajtu Wayback Machine (22. avgust 2021), 32-bitna, 64-nitna SPARC verzija 8, dizajnirana za simulaciju arhitekture zasnovane na FPGA. RAMP Gold je napisan u ~36.000 redova SystemVerilog-a i licenciran pod BSD licencama .

Superkompjuteri[uredi | uredi izvor]

Za HPC opterećenja Fujitsu gradi specijalizovane SPARC64 fx procesore sa novim skupom proširenja instrukcija, nazvanim HPC-ACE (računarstvo visokih performansi-aritmetička računarska proširenja).

Fujitsu-ov K računar je rangiran na 1. mestu na TOP500 listama iz juna 2011. i novembra 2011. godine. Kombinuje 88.128 SPARC64-ova VIIIfx procesora, svaki sa osam jezgara, za ukupno 705.024 jezgra - skoro dvostruko više nego bilo koji drugi sistem u TOP500 u to vreme. K kompjuter je bio moćniji od sledećih pet sistema na listi zajedno i imao je najveći odnos performansi prema snazi od svih superračunarskih sistema. Takođe je rangiran kao br. 6 na listi Green500 juna 2011. godine, sa rezultatom 824,56 MFLOPS/W. U novembru 2012. godine u izdanju TOP500, računar K je rangiran na br. 3, koristeći daleko najveću moć od prve tri. Zauzeo je mesto br. 85 na odgovarajućem izdanju Green500. Noviji HPC procesori, IXfx i XIfx, uključeni su u nedavnim PRIMEHPC FX10 i FX100 superkompjuterima.

Tianhe-2 (TOP500 br. 1 od novembra 2014) ima brojne čvorove sa procesorima na bazi Galaxy FT-1500 baziranim na OpenSPARC razvijenim u Kini. Međutim, ti procesori nisu doprineli LINPACK rezultatu.[28]

Vidi još[uredi | uredi izvor]

  • ERC32 - zasnovano na SPARC V7 specifikaciji
  • Ross Technology, Inc. - razvijač mikroprocesora SPARC tokom 1980-ih i 1990-ih godina
  • Sparcle - modifikovani SPARC sa podrškom za više procesa koji koristi projekat MIT Alewife
  • LEON - svemirski SPARC V8 procesor.
  • R1000 -ruski četvorojezgarni mikroprocesor zasnovan na SPARC V9 specifikaciji
  • Galaxy FT-1500 - kineski 16-jezgarni procesor zasnovan na OpenSPARC-u

Reference[uredi | uredi izvor]

  1. ^ a b v „Fujitsu to take ARM into the realm of Super”. The CPU Shack Museum. 21. 6. 2016. Pristupljeno 30. 6. 2019. 
  2. ^ a b v g „Timeline”. SPARC International. Pristupljeno 30. 6. 2019. 
  3. ^ a b „Fujitsu SPARC”. cpu-collection.de. Pristupljeno 30. 6. 2019. 
  4. ^ Steven J. Vaughan-Nichols (5. 9. 2017). „Sun set: Oracle closes down last Sun product lines”. ZDNet. 
  5. ^ Shaun Nichols (31. 8. 2017). „Oracle finally decides to stop prolonging the inevitable, begins hardware layoffs”. The Register. 
  6. ^ „Roadmap : Fujitsu Global”. www.fujitsu.com. Pristupljeno 2021-03-28. 
  7. ^ a b „Oracle SPARC Architecture 2015: One Architecture ... Multiple Innovative Implementations” (PDF). 12. 1. 2016. Pristupljeno 13. 6. 2016. „IMPL. DEP. #2-V8: An Oracle SPARC Architecture implementation may contain from 72 to 640 general-purpose 64-bit R registers. This corresponds to a grouping of the registers into MAXPGL + 1 sets of global R registers plus a circular stack of N_REG_WINDOWS sets of 16 registers each, known as register windows. The number of register windows present (N_REG_WINDOWS) is implementation dependent, within the range of 3 to 32 (inclusive). 
  8. ^ Greška kod citiranja: Nevažeća oznaka <ref>; nema teksta za reference pod imenom gcc-doc.
  9. ^ Greška kod citiranja: Nevažeća oznaka <ref>; nema teksta za reference pod imenom osnews-gcc.
  10. ^ „SPARC Behavior and Implementation”. Numerical Computation Guide – Sun Studio 10. Sun Microsystems, Inc. 2004. Pristupljeno 24. 9. 2011. „There are four situations, however, when the hardware will not successfully complete a floating-point instruction: ... The instruction is not implemented by the hardware (such as ... quad-precision instructions on any SPARC FPU). 
  11. ^ John Soat. „SPARC M7 Innovation”. Oracle web site. Oracle Corporation. Pristupljeno 13. 10. 2015. 
  12. ^ „Software in Silicon Cloud - Oracle”. www.oracle.com. 
  13. ^ „Floodgap Retrobits presents the Solbourne Solace: a shrine to the forgotten SPARC”. www.floodgap.com. Pristupljeno 2020-01-14. 
  14. ^ Sager, D.; Hinton, G.; Upton, M.; Chappell, T.; Fletcher, T.D.; Samaan, S.; Murray, R. (2001). „A 0.18 μm CMOS IA32 microprocessor with a 4 GHz integer execution unit”. 2001 IEEE International Solid-State Circuits Conference. Digest of Technical Papers. ISSCC (Cat. No.01CH37177). San Francisco, CA, USA: IEEE: 324—325. ISBN 978-0-7803-6608-4. doi:10.1109/ISSCC.2001.912658. 
  15. ^ „Ixfx Download” (PDF). fujitsu.com. 
  16. ^ „Images of SPARC64” (PDF). fujitsu.com. Arhivirano iz originala (PDF) 22. 04. 2016. g. Pristupljeno 29. 8. 2017. 
  17. ^ „Oracle Products” (PDF). oracle.com. Pristupljeno 29. 8. 2017. 
  18. ^ „Oracle SPARC products” (PDF). oracle.com. Pristupljeno 29. 8. 2017. 
  19. ^ „Fujitsu Presentation pdf” (PDF). fujitsu.com. Pristupljeno 29. 8. 2017. 
  20. ^ „Fujitsu Global Images” (PDF). fujitsu.com. Arhivirano iz originala (PDF) 18. 5. 2015. g. Pristupljeno 29. 8. 2017. 
  21. ^ „M7: Next Generation SPARC. Hotchips 26” (PDF). swisdev.oracle.com. Pristupljeno 12. 8. 2014. 
  22. ^ „Oracle's SPARC T7 and SPARC M7 Server Architecture” (PDF). oracle.com. Pristupljeno 10. 10. 2015. 
  23. ^ „Hot Chips – August 23–25, 2015 – Conf. Day1 – Oracle's Sonoma Processor: Advanced low-cost SPARC processor for enterprise workloads by Basant Vinaik and Rahoul Puri” (PDF). hotchips.org. Arhivirano iz originala (PDF) 07. 08. 2020. g. Pristupljeno 23. 8. 2015. 
  24. ^ „Blueprints revealed: Oracle crams Sparc M7 and InfiniBand into cheaper 'Sonoma' chips”. theregister.co.uk. Pristupljeno 29. 8. 2017. 
  25. ^ „Documents at Fujitsu” (PDF). fujitsu.com. Pristupljeno 29. 8. 2017. 
  26. ^ „Oracle's New SPARC Systems Deliver 2-7x Better Performance, Security Capabilities, and Efficiency than Intel-based Systems”. oracle.com. Pristupljeno 18. 9. 2017. 
  27. ^ „SPARC M8 Processor” (PDF). oracle.com. Pristupljeno 18. 9. 2017. 
  28. ^ Thibodeau, Patrick (4. 11. 2010), U.S. says China building 'entirely indigenous' supercomputer, Computerworld, Pristupljeno 28. 8. 2017 

Spoljašnje veze[uredi | uredi izvor]


Greška kod citiranja: Postoje oznake <ref> za grupu s imenom „note“, ali nema odgovarajuće oznake <references group="note"/>