SPARC (Scalable Processor Architecture) је архитектура скупова инструкција са смањеним скупом инструкција (RISC), коју је првобитно развила компанија Sun Microsystems.[1][2] На његов дизајн је снажно утицао експериментални Berkeley RISC систем развијен почетком 1980-их година. Први пут развијен 1986. године, а објављен 1987. године [2][3] SPARC је био један од најуспешнијих раних комерцијалних RISC система, а његов успех довео је до увођења сличних RISC дизајна од бројних добављача током 1980-их и 1990-их година.

SPARC
ДизајнерSun Microsystems (acquired by Oracle Corporation)[1][2]
Битови64-bit (32 → 64)
Уведен1986 (production)
1987 (shipments)
VersionV9 (1993) / OSA2017
ДизајнRISC
ТипRegister-Register
EncodingFixed
BranchingCondition code
ЕндианBi (Big → Bi)
Page size8 KB (4 KB → 8 KB)
ExtensionsVIS 1.0, 2.0, 3.0, 4.0
OpenYes, and royalty free
Регистри
Општа намена31 (G0 = 0; non-global registers use register windows)
Floating point32 (usable as 32 single-precision, 32 double-precision, or 16 quad-precision)
Микропроцесор Sun UltraSPARC II (1997)

Прва имплементација оригиналне 32-битне архитектуре (SPARC V7) коришћена је у Sun-овим радним станицама Sun-4 и серверским системима, мењајући њихове раније системе Sun-3 засноване на процесорима серије Motorola 68000. SPARC V8 је додао многа побољшања која су била део SuperSPARC серије процесора објављених 1992 године. SPARC V9, објављен 1993. године, представио је 64-битну архитектуру, а први пут је објављен у Sun-овим UltraSPARC процесорима 1995. године. Касније су SPARC процесори коришћени у симетричном мултипроцесингу (SMP) и серверима за неуједначени приступ меморији (CC-NUMA) које су, између осталих, произвели Sun, Solbourne и Fujitsu.

Дизајн је 1989. године предат SPARC међународној трговачкој групи, а од тада су њену архитектуру развијали њени чланови. SPARC International је такође одговоран за лиценцирање и промовисање SPARC архитектуре, управљање заштитним знацима SPARC-а (укључујући SPARC, чији је власник), и за обезбеђивање тестирања усаглашености. SPARC International је имао намеру да развија SPARC архитектуру како би створио већи екосистем; SPARC је лиценциран на неколико произвођача, укључујући Atmel, Bipolar Integrated Technology, Cypress Semiconductor, Fujitsu, Matsushita и Texas Instruments. Захваљујући SPARC International-у, SPARC је потпуно отворен, без власништва и без накнаде.

Од септембра 2017. године, најновији комерцијални high-end SPARC процесори су Fujitsu-ов SPARC64 XII (представљен 2017. године за свој SPARC M12 сервер) и Oracle-ов SPARC M8 представљен у септембру 2017. године за своје врхунске сервере.

У петак, 1. септембра 2017. године, након рунде отпуштања која је започела у Oracle Labs-у у новембру 2016. године, Oracle је прекинуо SPARC дизајн након завршетка M8. Велики део развојне групе језгра процесора у Аустину у Тексасу је отпуштен, као и тимови у Санта Клари у Калифорнији и Бурлингтону у Масачусетсу.[4][5]

"Побољшана" верзија Fujitsu-овог старијег SPARC M12 сервера очекује се 2021. године.[6]

Карактеристике

уреди

Архитектура SPARC-а била је под великим утицајем ранијих RISC дизајна, укључујући RISC I и II са Калифорнијског универзитета у Берклију и IBM 801 . Ови оригинални RISC дизајни били су минималистички, укључујући што је могуће мање функција или op-кодова и имали су за циљ извршавање инструкција брзином од скоро једне инструкције по циклусу такта. То их је учинило сличним MIPS архитектури на много начина, укључујући недостатак инструкција као што су множење или дељење. Још једна карактеристика SPARC-а под утицајем овог раног RISC покрета је слот за одлагање гранања .

SPARC процесор обично садржи 160 регистара опште намене. Према "Oracle SPARC Architecture 2015" спецификацији, "имплементација може садржати од 72 до 640 64-битних регистара опште намене".[7] У било ком тренутку, само 32 од њих су одмах видљиви софтверу — 8 је скуп глобалних регистара (од којих је један, g0, ожичен на нулу, па се само њих седам могу користити као регистри), а осталих 24 су из стека (гомиле) регистара. Ова 24 регистра формирају оно што се назива прозор регистра а при позиву/повратку функције овај прозор се помера горе-доле по низу регистара. Сваки прозор има 8 локалних регистара и дели 8 регистара са сваким од суседних прозора. Дељени регистри се користе за прослеђивање параметара функција и враћање вредности а локални регистри за чување локалних вредности у позивима функција.

Термин "скалабилан" у SPARC-у долази од чињенице да SPARC спецификација дозвољава имплементацијама да се прошире од уграђених процесора до великих серверских процесора, а сви деле исти скуп основних, непривилегованих инструкција. Један од архитектонских параметара који се може скалирати је број имплементираних прозора регистра; спецификација дозвољава имплементацију од три до 32 прозора, тако да имплементација може изабрати да имплементира свих 32 да би обезбедила максималну ефикасност позивног стека, или да примени само три како би смањила трошкове и сложеност дизајна, или да имплементира неки број између њих. Друге архитектуре, које укључују сличне карактеристике датотека регистра, укључују Intel i960, IA-64 и AMD 29000 .

Архитектура је прошла кроз неколико ревизија. Стекла је функционалност хардверског множења и дељења у Верзији 8. [8][9] 64-битно адресирање и подаци додати су у верзију 9 SPARC спецификације, објављену 1994. године.

У SPARC верзији 8, датотека регистра са покретним зарезом има 16 регистара двоструке тачности. Сваки од њих може се користити као два регистра једноструке тачности, пружајући укупно 32 регистра једноструке тачности. Пар непарних-парних бројева регистара двоструке тачности може се користити као регистар четвороструке тачности, омогућавајући тако 8 регистара четвороструке тачности. SPARC верзија 9 додала је још 16 регистара двоструке тачности (којима се може приступити и као 8 регистара са четвороструком тачношћу), али овим додатним регистрима није могуће приступити као регистрима једноструке тачности. Ниједан SPARC процесор не имплементира операције четвороструке тачности у хардверу од 2004.[10]

Tagged архитектура сабира и одузима инструкције, изводи додавања и одузимања на вредности, проверава да ли су доња два бита оба операнда 0 и извештава преливање (енгл. overflow) ако нису. Ово може бити корисно у реализацији времена извршавања за ML, Lisp, и сличne језикe који би користили tagged integer формат.

Ендијалност (енгл. endianness) 32-битне SPARC V8 архитектуре је потпуно big-endian (BE). 64-битна SPARC V9 архитектура користи big-endian инструкције, али може приступити подацима у big-endian или little-endian редоследу бајтова, изабраним на нивоу инструкција апликације (учитавање-складиштење) или на нивоу меморијске странице (преко MMU подешавања). Ово последње се често користи за приступ подацима са инхерентно little-endian уређаја, попут оних на PCI магистралама.

Историја

уреди

Дошло је до три велике ревизије архитектуре. Прва објављена верзија била је 32-битна SPARC верзија 7 (V7) 1986. године. SPARC верзија 8 (V8), побољшана дефиниција SPARC архитектуре, објављена је 1990. године. Главне разлике између V7 и V8 биле су додавање инструкција за множење и дељење целобројних бројева и надоградња са 80-битне аритметике са "плутајућом тачком" проширене прецизности на 128-битну "четвороструку прецизност" аритметику. SPARC V8 послужио је као основа за IEEE Стандард 1754-1994, IEEE стандард за 32-битну микропроцесорску архитектуру.

SPARC Верзију 9, 64-битну SPARC архитектуру, објавила је компанија SPARC International 1993. године. Развио га је Архитектонски одбор SPARC-а чији су чланови Amdahl Corporation, Fujitsu, ICL, LSI Logic, Matsushita, Philips, Ross Technology, Sun Microsystems и Texas Instruments . Новије спецификације увек остају усклађене са потпуном SPARC V9 Level 1 спецификацијом.

2002. године, Fujitsu и Sun објавили су SPARC Joint Programming Specification 1 (JPS1) која описује процесорске функције које су идентично имплементиране у процесоре обе компаније („Заједништво“). Први процесори који су у складу са JPS1 били су UltraSPARC III компаније Sun и SPARC53 V компаније Fujitsu. Функционалности које нису обухваћене JPS1 спецификацијом документоване су за сваки процесор у "Додацима имплементације".

Крајем 2003. године објављен је JPS2 који подржава вишејезгрене процесоре. Први процесори у складу са JPS2 били су UltraSPARC IV компаније Sun и SPARC64 VI компаније Fujitsu.

Почетком 2006. године Sun је објавио проширену спецификацију архитектуре, UltraSPARC Architecture 2005 . Ово укључује не само непривилеговане и већину привилегованих делова SPARC V9, већ и сва архитектонска проширења развијена кроз генерације процесора UltraSPARC III, IV, IV+, као и CMT проширења почевши од имплементације UltraSPARC T1 :

  • проширења скупа инструкција VIS 1 и VIS 2 и придружени GSR регистар
  • више нивоа глобалних регистара, које контролише GL регистар
  • Sun-ова 64-битна MMU архитектура
  • привилеговане инструкције ALLCLEAN, OTHERW, NORMALW и INVALW
  • приступ регистру VER је сада хиперпривилегован
  • SIR инструкција је сада хиперпривилегована

Године 2007. Sun је објавио ажурирану спецификацију UltraSPARC Architecture 2007, у којој је имплементација UltraSPARC T2 састављена.

У августу 2012. године, Oracle корпорација је ставила на располагање нову спецификацију, Oracle SPARC Architecture 2011, која поред свеукупног ажурирања референце, додаје проширења скупа инструкција VIS 3 и хиперпривилеговани режим у спецификацију за 2007. годину.

У октобру 2015. године, Oracle је објавио SPARC M7, први процесор заснован на новој спецификацији Oracle SPARC Architecture 2015. [7][11] Ова ревизија укључује проширења скупа инструкција VIS 4 и хардверски подржано шифровање и меморију заштићену силиконом (SSM).[12]

SPARC архитектура је обезбедила континуирану бинарну компатибилност апликације од прве имплементације SPARC V7 1987. године кроз имплементације Sun UltraSPARC архитектуре.

Међу различитим имплементацијама SPARC-а, Sun-ови SuperSPARC и UltraSPARC-I били су веома популарни и коришћени су као референтни системи за SPEC CPU95 и CPU2000 мерила. 296-MHz UltraSPARC-II је референтни систем за мерење SPEC CPU2006.

Архитектура

уреди

SPARC је архитектура учитавања/складиштења (која је позната и као регистар-регистар архитектура); осим упутстава за учитавање/складиштење која се користе за приступ меморији, све инструкције раде на регистрима.

Регистри

уреди

Архитектура SPARC има шему прозора регистра која се преклапа. У сваком тренутку су видљива 32 регистра опште намене. Варијабла тренутног показивача прозора (Current Window Pointer - CWP) у хардверу указује на постављене струје. Укупна величина датотеке регистра није део архитектуре, што омогућава додавање више регистара како се технологија побољшава, до највише 32 прозора у SPARC v7 и v8 јер је CWP величине 5 бита и део је PSR регистра.

У SPARC v7 и v8 CWP ће обично бити смањен инструкцијом SAVE (користи је инструкција SAVE током позива процедуре за отварање новог оквира стека и пребацивање прозора регистра) или ће се повећати наредбом RESTORE (пребацивање на позив пре враћање из процедуре). Trap догађаји (прекиди, изузеци или TRAP инструкције) и RETT инструкције (враћање из замки) такође мењају CWP. За SPARC-V9, CWP регистар се смањује током инструкције RESTORE, а повећава се током инструкције SAVE. Ово је супротно од PSR-а. Понашање CWP-а у SPARC-V8. Ова промена нема утицаја на непривилегована упутства.

Адресирање прозора
Група регистра Mnemonic Адреса регистра
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 регистри су приказани на горњој слици.

Формати инструкција

уреди

Све SPARC инструкције заузимају пуну 32-битну реч, и почињу на граници речи. Користе се 4 формата, који се разликују по прва 2 бита. Све аритметичке и логичке инструкције имају 2 изворна и 1 одредишни операнд.

SETHI формат инструкције копира свој 22-битни непосредни операнд у 22 бита високог реда било ког наведеног регистра, и поставља сваки од десет битова нижег реда на 0.

Формат ALU register, оба извора су регистри; формат ALU immediate, један извор је регистар, а један је константа у опсегу од -4096 до +4095. Бит 13 бира један од њих. У оба случаја, одредиште је увек регистар.

Упутства за формат гране раде контролне преносе или условне гране. Поља icc или fcc одређују која је врста гране. Поље за померање од 22 бита даје релативну адресу циља, и то речима, тако да условне гране могу да иду напред или назад до 8 мегабајта. Бит ANNUL (A) се користи за уклањање неких слотова за кашњење. Ако је 0 у условној грани, онда се слот за кашњење извршава као и обично. Ако је 1, онда се слот за кашњење извршава само ако се узме грана. Ако се грана не узме, инструкција која следи условну грану се прескаче.

Инструкција CALL користи 30-битни помак речи за рачунар. Ова вредност је довољна да дохвати било коју инструкцију унутар 4 гигабајта од позиваоца или целог адресара. Упутство CALL депозитује повратну адресу у регистар R15 познат и као излазни регистар O7 .

Као и аритметичке инструкције, архитектура SPARC користи два различита формата за учитавање и складиштење инструкција. Први формат се користи за инструкције које користе један или два регистра као ефективну адресу. Други формат се користи за инструкције које користе целобројну константу као ефективну адресу.

Формати инструкција СПАРЦ
Тип Бит
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 Непосредна константа 22 бита
I Branch формат 00 А. icc 010 Константа помака 22 бита
F Branch ормат 00 А. fcc 110 Константа помака 22 бита
CALL disp 01 ПЦ-релативно померање
Аритметички регистар 10 RD opcode RS 1 0 0 RS 2
Аритметика непосредна (immediate) 10 RD opcode RS 1 1 Непосредна константа 13 бита
FPU 10 FD 110100/110101 FS 1 opf FS 2
LD/ST регистар 11 RD opcode RS 1 0 0 RS 2
LD/ST

непосредна

(immediate)

11 RD opcode RS 1 1 Непосредна константа 13 бита

Већина аритметичких инструкција долази у пару с једном верзијом која поставља битове кода стања NZVC, а друга не. Ово је тако да компајлер има начин да премешта инструкције приликом покушаја попуњавања слотова за одлагање.

SPARC v7 нема инструкције за множење или дељење, али има MULSCC, који ради један корак тестирања множења за један бит и условно додавајући множење у производ. То је зато што MULSCC може да заврши један циклус такта држећи се RISC филозофије.

Имплементације

уреди
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)

Подршка за оперативни систем

уреди

SPARC машине су генерално користиле Sun-ов SunOS, Solaris или OpenSolaris укључујући деривате illumos и OpenIndiana, али су такође коришћени и други оперативни системи, као што су NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD и Linux .

1993. Intergraph је најавио порт Windows NT у архитектури SPARC али је касније отказан.

У октобру 2015. године, Oracle је најавио „Linux за референтну платформу SPARC“.

Имплементације отвореног кода

уреди

Постоји неколико потпуно отворених имплементација SPARC архитектуре:

  • LEON, 32-битна SPARC V8 имплементација отпорна на зрачење, дизајнирана посебно за употребу у свемиру. Изворни код је написан на VHDL-у и лиценциран је под GPL-ом .
  • OpenSPARC T1, објављен 2006. године, 64-битна, 32-нитна имплементација у складу са UltraSPARC архитектуром 2005 и SPARC верзијом 9 (ниво 1). Изворни код је написан у верилогу и лиценциран је под многим лиценцама. Већина изворног кода OpenSPARC T1 лиценцирана је под GPL-ом. Извор заснован на постојећим пројектима отвореног кода и даље ће бити лиценциран према тренутним лиценцама. Бинарни програми лиценцирани су према уговору о лиценцирању бинарног софтвера.
  • S1, 64-битно процесорско језгро компатибилно са Wishbone-ом засновано на OpenSPARC T1 дизајну. То је једно језгро UltraSPARC v9 способно за 4-смерни SMT. Као и T1, изворни код је лиценциран под GPL-ом.
  • OpenSPARC T2, објављен 2008. године, 64-битна, 64-нитна имплементација у складу са UltraSPARC архитектуром 2007 и SPARC верзијом 9 (ниво 1). Изворни код је написан у верилогу и лиценциран је под многим лиценцама. Већина изворног кода OpenSPARC T2 лиценцирана је под GPL-ом. Извор заснован на постојећим пројектима отвореног кода и даље ће бити лиценциран према тренутним лиценцама. Бинарни програми су лиценцирани на основу Уговора о лиценцирању бинарног софтвера.

Такође постоји и симулатор отвореног кода за SPARC архитектуру:

  • RAMP Gold Архивирано на сајту Wayback Machine (22. август 2021), 32-битна, 64-нитна SPARC верзија 8, дизајнирана за симулацију архитектуре засноване на FPGA. RAMP Gold је написан у ~36.000 редова SystemVerilog-а и лиценциран под BSD лиценцама .

Суперкомпјутери

уреди

За HPC оптерећења Fujitsu гради специјализоване SPARC64 fx процесоре са новим скупом проширења инструкција, названим HPC-ACE (рачунарство високих перформанси-аритметичка рачунарска проширења).

Fujitsu-ов K рачунар је рангиран на 1. месту на TOP500 листама из јуна 2011. и новембра 2011. године. Комбинује 88.128 SPARC64-ова VIIIfx процесора, сваки са осам језгара, за укупно 705.024 језгра - скоро двоструко више него било који други систем у TOP500 у то време. K компјутер је био моћнији од следећих пет система на листи заједно и имао је највећи однос перформанси према снази од свих суперрачунарских система. Такође је рангиран као бр. 6 на листи Green500 јуна 2011. године, са резултатом 824,56 MFLOPS/W. У новембру 2012. године у издању TOP500, рачунар К је рангиран на бр. 3, користећи далеко највећу моћ од прве три. Заузео је место бр. 85 на одговарајућем издању Green500. Новији HPC процесори, IXfx и XIfx, укључени су у недавним PRIMEHPC FX10 и FX100 суперкомпјутерима.

Tianhe-2 (TOP500 бр. 1 од новембра 2014) има бројне чворове са процесорима на бази Galaxy FT-1500 базираним на OpenSPARC развијеним у Кини. Међутим, ти процесори нису допринели LINPACK резултату.[28]

Види још

уреди
  • ERC32 - засновано на SPARC V7 спецификацији
  • Ross Technology, Inc. - развијач микропроцесора SPARC током 1980-их и 1990-их година
  • Sparcle - модификовани SPARC са подршком за више процеса који користи пројекат MIT Alewife
  • LEON - свемирски SPARC V8 процесор.
  • R1000 -руски четворојезгарни микропроцесор заснован на SPARC V9 спецификацији
  • Galaxy FT-1500 - кинески 16-језгарни процесор заснован на OpenSPARC-у

Референце

уреди
  1. ^ а б в „Fujitsu to take ARM into the realm of Super”. The CPU Shack Museum. 21. 6. 2016. Приступљено 30. 6. 2019. 
  2. ^ а б в г „Timeline”. SPARC International. Приступљено 30. 6. 2019. 
  3. ^ а б „Fujitsu SPARC”. cpu-collection.de. Приступљено 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. Приступљено 2021-03-28. 
  7. ^ а б „Oracle SPARC Architecture 2015: One Architecture ... Multiple Innovative Implementations” (PDF). 12. 1. 2016. Приступљено 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. ^ Грешка код цитирања: Неважећа ознака <ref>; нема текста за референце под именом gcc-doc.
  9. ^ Грешка код цитирања: Неважећа ознака <ref>; нема текста за референце под именом osnews-gcc.
  10. ^ „SPARC Behavior and Implementation”. Numerical Computation Guide – Sun Studio 10. Sun Microsystems, Inc. 2004. Приступљено 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. Приступљено 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. Приступљено 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. Архивирано из оригинала (PDF) 22. 04. 2016. г. Приступљено 29. 8. 2017. 
  17. ^ „Oracle Products” (PDF). oracle.com. Приступљено 29. 8. 2017. 
  18. ^ „Oracle SPARC products” (PDF). oracle.com. Приступљено 29. 8. 2017. 
  19. ^ „Fujitsu Presentation pdf” (PDF). fujitsu.com. Приступљено 29. 8. 2017. 
  20. ^ „Fujitsu Global Images” (PDF). fujitsu.com. Архивирано из оригинала (PDF) 18. 5. 2015. г. Приступљено 29. 8. 2017. 
  21. ^ „M7: Next Generation SPARC. Hotchips 26” (PDF). swisdev.oracle.com. Приступљено 12. 8. 2014. 
  22. ^ „Oracle's SPARC T7 and SPARC M7 Server Architecture” (PDF). oracle.com. Приступљено 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. Архивирано из оригинала (PDF) 07. 08. 2020. г. Приступљено 23. 8. 2015. 
  24. ^ „Blueprints revealed: Oracle crams Sparc M7 and InfiniBand into cheaper 'Sonoma' chips”. theregister.co.uk. Приступљено 29. 8. 2017. 
  25. ^ „Documents at Fujitsu” (PDF). fujitsu.com. Приступљено 29. 8. 2017. 
  26. ^ „Oracle's New SPARC Systems Deliver 2-7x Better Performance, Security Capabilities, and Efficiency than Intel-based Systems”. oracle.com. Приступљено 18. 9. 2017. 
  27. ^ „SPARC M8 Processor” (PDF). oracle.com. Приступљено 18. 9. 2017. 
  28. ^ Thibodeau, Patrick (4. 11. 2010), U.S. says China building 'entirely indigenous' supercomputer, Computerworld, Архивирано из оригинала 11. 10. 2012. г., Приступљено 28. 8. 2017 

Спољашње везе

уреди


Грешка код цитирања: Постоје ознаке <ref> за групу с именом „note“, али нема одговарајуће ознаке <references group="note"/>