A SPARC64 V (Zeus) egy a Fujitsu cég által tervezett SPARC V9 architektúrájú mikroprocesszor.[1]
A SPARC64 V volt a kiindulópontja a Fujitsu szerverekhez, majd később szuperszámítógépekhez tervezett processzorsorozatának.
A szerversorozatot a SPARC64 V+, VI, VI+, VII, VII+, X, X+ és XII alkotja. A SPARC64 VI és a rákövetkező modellek a VII+-ig a Fujitsu és a Sun (később Oracle) SPARC Enterprise M-sorozatú szervereiben voltak alkalmazva. A szerverek mellett a SPARC64 VII egy változatát használták a kereskedelmi forgalomban kapható Fujitsu FX1 szuperszámítógépben is. 2017 októberétől a legújabb szerverprocesszor a SPARC64 XII, amelyet a Fujitsu és az Oracle M12 szervereiben használnak.
A szuperszámítógép-sorozat a SPARC64 VII-en alapult, tagjai a SPARC64 VIIfx, VIIIfx, IXfx és XIfx modellek. A SPARC64 VIIIfx-et a K computer-ben használták, a SPARC64 IXfx-et pedig a kereskedelmi forgalomban kapható PRIMEHPC FX10-ben. 2016 júliusától a SPARC64 XIfx a legújabb szuperszámítógép-processzor, ezt a Fujitsu PRIMEHPC FX100 szuperszámítógépben használják.
Történet
Az 1990-es évek végén a Fujitsu leányvállalata, a HAL Computer Systems a SPARC64 GP utódját tervezte SPARC64 V néven. Az 1999-es Microprocessor Forumon bejelentett HAL SPARC64 V 1 GHz-en működött volna, széles szuperskalár szervezésű szuperspekulatív végrehajtással, és lett volna benne egy L1 utasítás nyomkövető gyorsítótár (trace cache), egy kicsi, de nagyon gyors 8 KiB méretű L1 adat-gyorsítótár, és külön L2 gyorsítótárak az utasítások és az adatok számára. A Fujitsu CS85-ös folyamatára volt tervezve, ami egy 0,17 μm-es CMOS folyamat hat rétegű réz fémezéssel; 65 millió tranzisztorból állt volna egy 380 mm2-es lapkán. Megjelenését eredetileg 2001 végére tervezték a Fujitsu GranPower szerverekben, de a Fujitsu 2001 közepén bezárta a leányvállalatot, így a fejlesztést törölték és egy Fujitsu dizájnnal helyettesítették azt.[2]
Az első Fujitsu SPARC64 V-ket 2001 decemberében gyártották.[3] Ezek 1,1 és 1,35 GHz közötti frekvencián működtek. A Fujitsu 2003-as SPARC64 útiterve szerint a vállalat egy 1,62 GHz-es változatot is tervezett 2003 végére vagy 2004 elejére, de ezt törölték a SPARC64 V+ javára.[4] A SPARC64 V-t a Fujitsu a PRIMEPOWER szervereiben alkalmazta.
A SPARC64 V-t először a 2002-es Microprocessor Forumon mutatták be.[5] Bemutatásakor ennek volt a legmagasabb órajele a SPARC és a gyártásban lévő 64 bites szerverprocesszorok közül, és a legmagasabb SPEC minősítése a SPARC processzorok közül.[5]
Leírás
Az SPARC64 V egy négyszeres kibocsátású szuperskalár mikroprocesszor sorrenden kívüli végrehajtással.
A Fujitsu GS8900 nagyszámítógép (z/Architecture implementációjú) CISC mikroprocesszorán alapult, így gyakorlatilag egy alapjaiban új tervezésű processzor.[6]
A futószalag
A SPARC64 V az első fokozatban legfeljebb nyolc utasítást hív le az utasítás-gyorsítótárból, és azokat egy 48 bejegyzésű utasításpufferbe helyezi. A következő fokozatban négy utasítást vesz ki ebből a pufferből, dekódolja és kiadja a megfelelő várakoztató állomásoknak. A SPARC64 V hat várakoztató állomással rendelkezik, kettő a fixpontos (egész) számegységeket, egy a címgenerátorokat, kettő a lebegőpontos egységeket, egy pedig az elágazási utasításokat szolgálja ki. Minden fixpontos, címgenerátor és lebegőpontos egység egy-egy nyolc bejegyzésű várakoztató állomással rendelkezik. Minden várakoztató állomás egy utasítást küldhet a saját végrehajtó egységének. Az, hogy melyik utasítás kerül először továbbításra, az operandus rendelkezésre állásától és a korától függ. A régebbi utasítások magasabb prioritást kapnak, mint az újabbak. A várakoztató állomások az utasításokat spekulatív módon is kiküldhetik (spekulatív kiküldés). Ez azt jelenti, hogy az utasításokat akkor is ki lehet küldeni a végrehajtó egységeknek, ha az operandusuk még nem áll rendelkezésre, de a végrehajtás megkezdésekor már rendelkezésre fog állni. A hatodik fokozatban legfeljebb hat utasítást lehet kiküldeni.
Regiszter olvasás
A regiszterfájlok olvasása a hetedik fokozatban történik. A SPARC architektúrában külön regiszterfájlok vannak az egész és lebegőpontos utasítások számára. A fixpontos (integer) regiszterfájl nyolc regiszterablakkal rendelkezik. A JWR (Joint Work Register, közös munkaregiszter) 64 bejegyzést tartalmaz, és nyolc olvasási és két írási porttal rendelkezik. A JWR a nyolc regiszterablak egy részhalmazát, az előző, az aktuális és a következő regiszterablakot tartalmazza. Célja a regiszterfájl méretének csökkentése, hogy a mikroprocesszor magasabb órajelfrekvencián működhessen. A lebegőpontos regiszterfájl 64 bejegyzést tartalmaz, és hat olvasóporttal és két íróporttal rendelkezik.
Végrehajtás
A végrehajtás a kilencedik fokozatban kezdődik. A processzorban hat végrehajtó egység van, kettő az egész számok műveleteihez, kettő a betöltéshez és tároláshoz, kettő pedig a lebegőpontos számokhoz.[7] A két egész/fixpontos végrehajtó egységet EXA és EXB jelöli. Mindkettő rendelkezik aritmetikai logikai egységgel (ALU) és eltoló (shift) egységgel, de csak az EXA rendelkezik szorzó és osztó egységgel. A betöltést és tárolást két címgenerátor (AGA és AGB) támogatja. Ezek egyszerű ALU-k, amelyek a virtuális címek kiszámítására szolgálnak.
A két lebegőpontos egységet (FPU) FLA és FLB jelöli. Mindkét FPU tartalmaz egy összeadót és egy szorzót, de csak az FLA-hoz van grafikus egység csatlakoztatva. Ezek az egységek összeadás, kivonás, szorzás, osztás, négyzetgyök és szorzás-összeadás utasításokat hajtanak végre. Utódjával, a SPARC64 VI-tal ellentétben a SPARC64 V a szorzás-összeadást külön szorzási és összeadási műveletekkel végzi, így ez akár két kerekítési hibával is járhat.[8] A grafikus egység a Visual Instruction Set (VIS) utasításait hajtja végre, amely egy SIMD (single instruction, multiple data) utasításkészlet. Minden utasítás futószalagos, kivéve az osztást és a négyzetgyökszámítást, amelyeket iteratív algoritmusokkal hajtanak végre. Az FMA utasítás[9] úgy valósul meg, hogy a logika három operandust beolvas az operandusregiszterből, két operandust összeszoroz, az eredményt és a harmadik operandust továbbítja az összeadóhoz, ami ezeket összeadva állítja elő a végeredményt.
A végrehajtási egységekből és a betöltésekből származó eredmények nem íródnak be azonnal a regiszterfájlba. A program sorrendjének fenntartása érdekében ezek a frissítő pufferekbe kerülnek, ott tárolódnak a véglegesítésig (commit). A SPARC64 V külön frissítési pufferrel rendelkezik a fixpontos és lebegőpontos egységek számára. Mindkettő 32 bejegyzéssel rendelkezik. A fixpontos regisztertár nyolc olvasási és négy írási porttal rendelkezik. Az íróportok fele a fixpontos végrehajtó egységek eredményei számára van fenntartva, a másik felét pedig a betöltések által visszaadott adatok használják. A lebegőpontos frissítő puffer hat olvasóporttal és négy íróporttal rendelkezik.
A véglegesítésre (commit) legkorábban a tízes fokozatban kerülhet sor. A SPARC64 V ciklusonként legfeljebb négy utasítást képes véglegesíteni. A tizenegyedik fokozatban, az eredmények a regiszterfájlba íródnak, ahol a szoftver számára láthatóvá válnak.[10]
Gyorsítótár
A SPARC64 V kétszintű gyorsítótár-hierarchiával rendelkezik. Az első szint két gyorsítótárból áll, egy utasítás- és egy adat gyorsítótárból. A második szint egy lapkára integrált egységesített gyorsítótárból áll.
Az 1. szintű (L1) gyorsítótárak kapacitása egyenként 128 KiB. Mindkettő kétutas csoport-asszociatív és 64 bájtos sormérettel rendelkezik. Virtuálisan indexeltek és fizikailag címkézettek. Az utasítás gyorsítótár hozzáférése 256 bites sínen keresztül történik. Az adat gyorsítótárat két 128 bites sínen keresztül éri el a processzor. Az adat-gyorsítótár nyolc bankból áll, amelyek 32 bites (4 bájtos) határokon vannak elválasztva. Ez visszaíró (write-back) politikát alkalmaz. Az adat-gyorsítótár a saját 128 bites egyirányú sínjén keresztül ír az L2 gyorsítótárba.
A másodlagos gyorsítótár kapacitása 1 vagy 2 MiB és a csoport-asszociativitás függ a kapacitástól.
Rendszersín
A mikroprocesszornak egy 128 bites rendszersínje van ami 260 MHz-en működik. A sín kétféle üzemmódban működhet, egyadatos (single-data rate, SDR) vagy kétadatos (double-data rate, DDR) átviteli sebességgel, ami 4,16 vagy 8,32 GB/s csúcssávszélességet eredményez, megfelelően.
Fizikai jellemzők
A SPARC64 V 191 millió tranzisztorból áll, amelyből 19 milliót a logikai áramkörök foglalnak el.[11] 0,13 μm-es,[12] nyolcrétegű réz fémezésű, CMOS szilícium-szigetelőn (SOI) eljárással készült. A lapka mérete 18,14 mm × 15,99 mm, lapkaterülete 290 mm².[11]
Elektromos jellemzők
1,3 GHz-en a SPARC64 V energiavesztesége (disszipációja) 34,7 W.[11] A SPARC64 V-t használó Fujitsu PrimePower szerverek kissé magasabb feszültséggel táplálják a mikroprocesszort, hogy az 1,35 GHz-en működhessen. A megnövelt tápfeszültség és működési frekvencia miatt a disszipáció közelítőleg 45 W-ra nőtt.[13]
Az SPARC64 V+, kódnevén "Olympus-B", a SPARC64 V továbbfejlesztése. A SPARC64 V-höz képest a fejlesztések közé tartozott a magasabb, 1,82–2,16 GHz-es órajel és a nagyobb, 3 vagy 4 MiB-os L2 gyorsítótár.[1]
Az első SPARC64 V+, egy 1,89 GHz-es változat, 2004 szeptemberében került forgalomba a Fujitsu PrimePower 650 és 850 modellekben. 2004 decemberében, egy 1,82 GHz-es változatot szállítottak a PrimePower 2500-ban. Ezek a változatok 3 MiB-os L2 gyorsítótárral rendelkeznek.[14] 2006 februárjában, négy változatot mutattak be: 1,65 és 1,98 GHz-es változatok 3 MiB L2 gyorsítótárral amit a PrimePower 250 és 450 modellekben szállítottak; és 2,08 és 2,16 GHz-es változatok 4 MiB L2 gyorsítótárral amit a közép- és csúcskategóriás modellekben szállítottak.[15]
Körülbelül 400 millió tranzisztort tartalmazott egy 18,46 mm × 15,94 mm-es, 294,25 mm2 területű lapkán. 90 nanométeres CMOS folyamattal, tíz rétegű réz fémezéssel készült.[6]
A SPARC64 VI, kódnevén Olympus-C, egy kétmagos processzor ami az SPARC64 V+ modellt követte. Ez volt az első többmagos SPARC64 processzor. A Fujitsu gyártotta 90 nm-es, 10 rétegű réz fémezésű CMOS szilícium szigetelőn (silicon on insulator, SOI) folyamattal, ami lehetővé tette két mag és egy L2 gyorsítótár egy lapkán történő integrálását. Mindegyik mag egy módosított SPARC64 V+ processzor. Az egyik legfontosabb fejlesztés a kétutas durván szemcsézett többszálas technika (CMT) hozzáadása, amelyet a Fujitsu vertikális többszálas technikának nevezett el (VMT). A CMT-ben az időosztás határozza meg, hogy melyik szál kerül végrehajtásra, vagy ha a szál hosszú késleltetésű műveletet hajt végre, akkor a végrehajtás átkerül a másik szálra.[16] A CMT hozzáadása szükségessé tette a programszámláló megduplázását valamint a vezérlő-, egész- és lebegőpontos regiszterek megkettőzését, így minden szálhoz egy-egy készlet tartozik. Egy lebegőpontos összeolvasztott szorzás-összeadás (FMA) utasítás is hozzáadásra került, elsőként a SPARC processzorokban.[8]
A magok egy 6 MiB-os, lapkára épített egyesített L2 gyorsítótáron osztoznak. Az L2 gyorsítótár 12 utas csoport-asszociatív és sorai 256 bájtosak. A gyorsítótárhoz a hozzáférés két egyirányú sínen történik, egy 256 bites olvasási és egy 128 bites írási sínen keresztül. A SPARC64 VI új rendszersínt kapott, ennek neve Jupiter sín. A SPARC64 VI 540 millió tranzisztorból áll. A lapka mérete 20,38 mm × 20,67 mm (421,25 mm2).
A SPARC64 VI eredetileg 2004 közepén jelent volna meg a Fujitsu PrimePower szervereiben. A PrimePowerek fejlesztését leállították, miután a Fujitsu és a Sun Microsystems 2004 júniusában bejelentette, hogy együttműködnek az Advanced Product Line (APL) nevű új szervereken. Ezeket a szervereket 2006 közepére tervezték bevezetni, de 2007 áprilisára halasztották, amikor is SPARC Enterprise néven mutatták be őket. A SPARC Enterprise gépekben szereplő SPARC64 VI processzorok a bejelentés idejében egy 2,15 GHz-es változat 5 MiB-es L2 gyorsítótárral, és 2,28 és 2,4 GHz-es változatok voltak 6 MiB L2 gyorsítótárral.[17]
SPARC64 VII
Az SPARC64 VII (korábbi nevén SPARC64 VI+),[18] kódnevén Jupiter,[19] a SPARC64 VI 2008 júliusában bejelentett továbbfejlesztése.[19] Ez egy négymagos mikroprocesszor. Mindegyik mag képes kétutas szimultán többszálas végrehajtásra (SMT), ami felváltja a Fujitsu által vertikális többszálúságnak (VMT) nevezett kétutas durván szemcsézett többszálú működést. Így nyolc szál egyidejű végrehajtására képes.[20] Egyéb változások között található több RAS jellemző; az integer regiszterfájl ettől a tervtől kezdve ECC-vel védett, és a hibaellenőrzők száma mintegy 3400-ra nőtt. 600 millió tranzisztorból áll, mérete 21,31 mm × 20,86 mm (444,63 mm2), és a Fujitsu gyártotta az ő 65 nm-es CMOS réz fémezésű eljárásával.
A SPARC64 VII szerepelt a SPARC Enterprise-ban. Foglalata kompatibilis az elődjével, a SPARC64 VI-éval, és a helyszínen frissíthető (cserélhető). A SPARC64 VII-esek és a SPARC64 VI-os processzorok képesek voltak egymás mellett, natív órajelükön működni.[21] Az első SPARC64 VII-es verziók voltak a 2,4 GHz-es változat 5 MiB-es L2 gyorsítótárral, melyet a SPARC Enterprise M4000 és M5000 modellekben használtak, és egy 2,52 GHz-es változat 6 MiB-es L2 gyorsítótárral.[19] 2008. október 28-án megjelent egy 2,52 GHz-es változat 5 MiB-es L2 gyorsítótárral, amely a SPARC Enterprise M3000-ban volt bevezetve.[22] 2009. október 13-án a Fujitsu és a Sun bemutatta a SPARC64 VII újabb verzióit (kódnevük: Jupiter+),[23] egy 2,53 GHz-es változat 5,5 MB L2 gyorsítótárral, az M4000 és M5000 számára, és egy 2,88 GHz-es változat 6 MiB-es L2 gyorsítótárral az M8000 és M9000 számára.[24] 2010. január 12-én egy 2,75 GHz-es változat 5 MiB-es L2 gyorsítótárral volt bevezetve a M3000-ben.[25]
SPARC64 VII+
Az SPARC64 VII+ (Jupiter-E),[26] amelyet az Oracle M3 néven emleget,[26] a SPARC64 VII továbbfejlesztése. Az órajelfrekvenciát 3 GHz-re növelték és az L2 gyorsítótár méretét pedig megduplázták 12 MiB-ra. Ezt a verziót 2010. december 2-án jelentették be a csúcskategóriás SPARC Enterprise M8000 és M9000 szerverekhez.[27] Ezek a fejlesztések az általános teljesítmény körülbelül 20%-os növekedését eredményezték. Egy 2,66 GHz-es változat a középkategóriás M4000 és M5000 modellekhez készült.[26] 2011. április 12-én, egy 2,86 GHz-es változat két vagy négy maggal és egy 5,5 MB L2 gyorsítótár volt bejelentve az alsókategóriás M3000 modellhez.[26][28] A VII+ foglalat-kompatibilis elődjével, a VII-tel. A meglévő, csúcskategóriás SPARC Enterprise M-sorozatú szerverek frissíthetők a VII+ processzorokra a helyszínen.[29]
SPARC64 VIIIfx
A SPARC64 VIIIfx (Venus) egy nyolcmagos processzor, amely a SPARC64 VII-en alapul, a nagy teljesítményű számítástechnika (HPC) céljaira volt tervezve.[30] Ennek eredményeképpen a VIIIfx nem a VII utódja, hanem vele egyidejűleg létezett. 760 millió tranzisztorból áll, mérete 22,7 mm × 22,6 mm (513,02 mm2;), a Fujitsu 45 nm-es CMOS eljárásával, réz fémezéssel készült, és 1271 B/K tűje van. A VIIIfx csúcsteljesítménye 128 GFLOPS és tipikus energiafogyasztása 58 W 30 °C-on, ami 2,2 GFLOPS/W hatékonyságot jelent. A VIIIfx processzornak négy integrált memóriavezérlője van, összesen nyolc memóriacsatorna számára. 64 GiB DDR3 SDRAM memóriához csatlakozik és csúcs memória-sávszélessége 64 GB/s.[31]
Történet
A VIIIfx a japán Oktatási, Kulturális, Sport, Tudományos és Technológiai Minisztérium által kezdeményezett Next-Generation Supercomputer Project (következő generációs szuperszámítógép projekt, más néven Kei Soku Keisenki és Project Keisoku) számára volt kifejlesztve 2006 januárjában. A projekt célja az volt, hogy 2011 márciusára elkészüljön a világ leggyorsabb szuperszámítógépe, melynek teljesítménye meghaladja a 10 PFLOPS-ot. A szuperszámítógép kifejlesztésére szerződött cégek a Fujitsu, Hitachi, és a NEC voltak. A szuperszámítógépet eredetileg hibrid architektúrájú gépnek tervezték, amely skalár és vektorprocesszorokat is tartalmaz. A Fujitsu által tervezett VIIIfx lett volna a skalár processzor, a vektorprocesszort pedig a Hitachi és a NEC tervezte volna közösen. Ugyanakkor, a 2007–2008-as gazdasági válság miatt a Hitachi és a NEC 2009 májusában bejelentette, hogy kiszállnak a projektből, mert az általuk tervezett hardver gyártása pénzügyi veszteségeket okozott volna számukra. Ezt követően a Fujitsu áttervezte a szuperszámítógépet, hogy az egyetlen processzortípusként a VIIIfx-et használja.
2010-re a projekt keretében megépítendő szuperszámítógép a K computer nevet kapta. A RIKENAdvanced Institute for Computational Science (AICS) intézetében, ami Kobe-ban (Japán) található.[32][33][34]
Teljesítményét 88 128 db. VIIIfx processzor működése adja. 2011 júniusában a TOP500 projektbizottság bejelentette, hogy a K computer (még mindig nem teljes, mindössze 68 544 processzorral) 8,162 PFLOPS-sal így is túlteljesítette a LINPACK benchmark, csúcsteljesítményének 93%-át realizálva, és ezzel a világ akkori leggyorsabb szuperszámítógépévé vált.[33][35][36][37]
Leírás
A VIIIfx mag a SPARC64 VII magján alapul számos HPC-hez szükséges módosítással, nevezetesen High Performance Computing-Arithmetic Computational Extensions (nagy teljesítményű számítástechnika, aritmetikai számítási kiterjesztések) (HPC-ACE) ami a Fujitsu által tervezett kiterjesztés a SPARC V9 architektúrához. A front-endből eltávolították a durva szemcsés többszálas technikát, az L1 utasítás-gyorsítótár méretét megfelezték 32 KiB-ra; a BTAC (branch target address cache) bejegyzéseinek számát 8192-ről 1024-re csökkentették, és asszociativitását nyolcról kettőre csökkentették; és egy extra futószalag-fokozat lett beillesztve az utasításdekódoló elé. Ez a fokozat a HPC-ACE által meghatározott nagyobb számú egész- és lebegőpontos regisztert fogadta be. A SPARC V9 architektúra úgy volt tervezve, hogy csak 32 egész- (fixpontos) és 32 lebegőpontos regiszterrel rendelkezzen. A SPARC V9 utasításkódolásában a regiszterek száma max. 32 lehet, ez az architektúra jellemzője. Az extra regiszterek specifikálásához a HPC-ACE számára bevezettek két „prefix” utasítást, ami az ezeket közvetlenül követő egy vagy két SPARC V9 utasítást módosítja. A prefix utasítás tartalmazza (elsősorban) a regiszterszámok azon részeit, amelyek nem férnek bele egy SPARC V9 utasításba. Ez az extra futószalag-fokozat volt az, amiben akár négy SPARC V9 utasítást kombináltak legfeljebb két prefix utasítással az azt megelőző fokozatban. A kombinált utasításokat a következő futószalag-fokozatban dekódolja a vezérlés.[38]
A háttér (back-end) is jelentősen átalakult. A várakoztató állomások bejegyzéseinek számát az elágazási és a fixpontos utasításokra vonatkozó hatra, illetve tízre csökkentették, rendre. Mind az egész-, mind a lebegőpontos regiszterfájlok regiszterekkel bővültek: az integer regiszterfájl 32 újabb regisztert kapott, a lebegőpontos regiszterek száma pedig összesen 256 regiszterre nőtt. Az extra fixpontos regiszterek nem részei a SPARC V9 által meghatározott regiszterablakoknak, hanem kizárólag a prefix utasításon keresztül érhetők el; a 256 lebegőpontos regisztert mind a skalár lebegőpontos utasítások, mind az egész- és lebegőpontos SIMD utasítások használhatják. A lebegőpontos végrehajtás futószalagjának elejéhez egy extra futószalag-fokozatot adtak hozzá emiatt, hogy hozzáférjen a nagyobb lebegőpontos regiszterfájlhoz. A HPC-ACE 128 bites SIMD-utasításait két további lebegőpontos egység hozzáadásával valósították meg, így összesen négy lett. A SIMD vezérlő képes végrehajtani akár négy egy- vagy kétszeres pontosságú összeolvasztott szorzás-összeadás műveletet (azaz nyolc lebegőpontos műveletet) ciklusonként. A betöltési sorbejegyzések számát 16-ról 20-ra növelték, és az L1 adat-gyorsítótár méretét megfelezték 32 KiB-ra. A commit stack bejegyzések számát, amelyek meghatározták a háttérben végrehajtás alatt lévő utasítások számát, 64-ről 48-ra csökkentették.
A SPARC64 IXfx a Fujitsu és a (kaliforniai) LSI Corporation által tervezett SPARC64 VIIIfx továbbfejlesztett változata,[39] amelyet először a PRIMEHPC FX10 szuperszámítógép 2011. november 7-i bejelentésekor mutattak be.[40] Ez, a PRIMEHPC FX10-zel együtt, a VIIIfx-ben és a „K computer”-ben megjelent technológiák első kereskedelmi hasznosítása. A VIIIfx-szel összehasonlítva, a szervezési fejlesztések közé tartozott a magok számának duplájára, 16-ra növelése, a megosztott L2 gyorsítótár mennyiségének duplázása 12 MiB-ra, valamint a DDR3 SDRAM csúcs memória-sávszélességének növelése 85 GB/s-re. Az IXfx 1,848 GHz-en működik, csúcsteljesítménye 236,5 GFLOPS, fogyasztása 110 W, ami több mint 2 GFLOPS/watt energiahatékonyságot jelent.[39][41] 1 milliárd tranzisztorból áll és 40 nm-es réz fémezésű CMOS eljárással gyártották.[42]
SPARC64 X
A SPARC64 X 16 magos szerverekbe szánt mikroprocesszor. 2012-ben mutatták be és a Fujitsu M10 szervereiben használják (ezeket az Oracle is forgalmazza).
A SPARC64 X a SPARC64 VII+-en alapul jelentős fejlesztésekkel a mag és a csip szervezésében. A magokat
az elágazásbecsléshez szükséges mintatörténeti táblázat beépítésével, betöltések spekulatív végrehajtásával,
több végrehajtó egységgel bővítették, belekerült a HPC-ACE kiterjesztés támogatása (ez eredetileg a SPARC64 VIIIfx-ből származik),
mélyebb futószalag a 3,0 GHz-es órajelfrekvenciához, és gyorsítók a kriptográfia, adatbáziskezelés, és decimális lebegőpontos számok aritmetikai és konverziós funkciói számára. A 16 mag egy egyesített 24 MiB, 24 utas csoport-asszociatív L2 gyorsítótáron osztozik.
A lapkaszervezési fejlesztések közé tartozik négy integrált DDR3 SDRAM memóriavezérlő, „ragasztó logika” nélküli négyutas szimmetrikus multiprocesszálás, tíz SERDES-csatorna a szimmetrikus multiprocesszálás 64 foglalatig történő skálázhatóságához, és két integrált PCI Express 3.0 vezérlő.
A SPARC64 X 2,95 milliárd tranzisztort tartalmaz, mérete 23,5 mm × 25 mm (637,5 mm2), és 28 nm-es CMOS-eljárással réz fémezéssel készül.[42][43]
SPARC64 X+
A SPARC64 X+ egy 2013-ban bemutatott továbbfejlesztett SPARC64 X processzor. Kisebb fejlesztéseket tartalmaz a magok szervezésében, órajelfrekvenciája magasabb: 3,5 GHz, melyet a jobb áramköri tervezéssel és elrendezéssel értek el. 2,99 milliárd tranzisztort tartalmaz, mérete 24 mm × 25 mm (600 mm²), és ugyanazzal az eljárással készült, mint a SPARC64 X.[44][45] 2014. április 8-án, 3,5 GHz-es órajelű késztermék-osztályozott darabok váltak elérhetővé, válaszul az Intel új Xeon E5 és E7 modelljeinek és az IBMPOWER8 processzorainak közelgő bevezetésére.[46]
SPARC64 XIfx
A Fujitsu a SPARC64 XIfx-et 2014 augusztusában mutatta be a Hot Chips szimpóziumon.[47]
Ezt a Fujitsu PRIMEHPC FX100 szuperszámítógépben használják, ami PRIMEHPC FX10-et követte.[48][49]
Az XIfx órajele 2,2 GHz és csúcsteljesítménye 1,1 TFLOPS.[50]
3,75 milliárd tranzisztorból áll és a Taiwan Semiconductor Manufacturing Company (TSMC) 20 nm-es high-κ fém kapus (HKMG) folyamatával készül. A Microprocessor Report becslése szerint a lapka területe 500 mm²; és tipikus energiafogyasztása 200 W.[47]
Az XIfx-ben 34 mag van, amelyek közül 32 „számító mag” a felhasználói alkalmazások futtatására, 2 „segédmag” pedig az operációs rendszer és más rendszerszolgáltatások futtatására szolgál. A felhasználói alkalmazások és operációs rendszer dedikált magokra történő delegálása javítja a teljesítményt, mivel biztosítja, hogy a számító magok privát gyorsítótárát nem osztják meg vagy nem rontják el nem alkalmazásokkal kapcsolatos utasításokkal és adatokkal. A 34 mag emellett két „magmemória-csoportba” (CMG) van szervezve, amelyek mindegyike 16 számító magból és 1 asszisztens magból áll, melyek egy 1,12 MiB-os egyesített L2 gyorsítótáron osztoznak. A magok CMG-kre való felosztása lehetővé tette a 34 mag egyetlen lapkára integrálását azáltal, hogy megkönnyítette a gyorsítótár-koherencia megvalósítását és elkerülte annak szükségességét, hogy az L2 gyorsítótárat 34 mag között megosszák. A két CMG egy ccNUMA szervezésű rendszeren keresztül osztozik a memórián.
A XIfx mag a SPARC64 X+-on alapult, felépítésbeli fejlesztésekkel. A XIfx a HPC-ACE bővítések továbbfejlesztett változatát valósítja meg (HPC-ACE2), amely a SIMD egységek szélességét 256 bitre növelte és új SIMD utasításokat adott hozzá (az utasításkészlethez). A SPARC64 IXfx-hez képest a XIfx 3,2-szeres javulást mutat a kétszeres pontosságú és 6,1-szeres javulást az egyszeres pontosságú utasításoknál. A SIMD egységek megnövelt szélességét támogatandó, az L1 gyorsítótár sávszélességét 4,4 TB/s-ra növelték.
A SoC szervezésének javításai a memória és az összekapcsolási interfészeket érintették. Az integrált memóriavezérlőket négy Hybrid Memory Cube (HMC) interfészre cserélték a memóriakésleltetés csökkentése és a memória-sávszélesség növelése céljából. A „Microprocessor Report” szerint, az IXfx volt az első processzor, amely HMC-ket használt.[47] Az XIfx 32 GiB memóriához csatlakozik, amelyet nyolc 4 GiB-os HMC biztosít. A HMC-k 16 sávos változatok, mindegyik sáv 15 Gbit/s sebességgel működik. Minden CMG („magmemória-csoport”, ld. fent) két HMC interfésszel rendelkezik, és minden HMC interfész két HMC-hez kapcsolódik a saját portjain keresztül. Mindegyik CMG memória-sávszélessége ekkor 240 GB/s (120 GB/s be és 120 GB/s ki).
Az XIfx a tíz SERDES-csatornát egy külső Tofu összekötő vezérlőre cserélte, egy második generációs Tofu2 összekötő réteg tízportos integrált vezérlőjére.
A Tofu2 egy 25 GB/s full duplex sávszélességű (irányonként 12,5 GB/s, tíz portra 125 GB/s) 6D rács/tórusz hálózat és egy továbbfejlesztett útválasztási architektúra.
SPARC64 XII
A SPARC64 XII a Fujitsu által tervezett, 2015-ben bejelentett és 2017 április 4-én megjelent nagy teljesítményű, 64 bites, 12 magos, szerverekben való alkalmazást célzó SPARC V9 architektúrájú mikroprocesszor.[51][52]
A SPARC64 XII magok 3,9 GHz-en (más forrás szerint 4,25 GHz-en)[51][52] futnak, 20 nm-es folyamattal gyártja a TSMC. A mag 5,5 milliárd tranzisztort tartalmaz, memória sávszélessége 153 GiB/sec és az M12-es rendszerekban használják őket.[53] A CPU csomag akár 12 magot tartalmazhat és 8 utas SMT-t (96 szál) valósíthat meg.
Jövőbeli fejlesztések
A Fujitsu 2016 júniusában a Nemzetközi Szuperszámítógépes Konferencián (International Supercomputing Conference) bejelentette, hogy a jövőbeli exascale szuperszámítógépe saját tervezésű, ARMv8 architektúrát implementáló processzorokra fog épülni. A Fujitsu A64FX az ARMv8 architektúrának a HPC-ACE2-vel egyenértékű bővítéseit fogja megvalósítani, amelyeket a Fujitsu az ARM Holdings vállalattal közösen fejleszt.[54]
↑Magyarázat: A SPARC V9 a regisztereket regiszterablakokba osztja be, és egy ablakban max. 32 integer regiszter lehet. Ez architekturális korlát. A lebegőpontos regiszterek nincsenek ablakokba osztva, de a számuk ugyancsak 32. A HPC-ACE több regisztert akar használni, a vektoros utasításokban, emiatt kellett a kiterjesztés. A sok regiszterrel extra párhuzamosságot érnek el, és csökkentik a spill/fill műveletek számát. A SPARC V9 utasításhossza 32, nem fér bele az extra regiszterek kódolása. Két prefix utasítást definiáltak: SXAR1, SXAR2 - az 1 és 2 rákövetkező utasításokhoz definiálja az extra INT/FP regisztereket, akár 4 operandust SXAR1: set XAR for subsequent one instruction, SXAR2: set XAR for subsequent two instructions. Ld.: SPARC64™ VIIIfx: Fujitsu’s New Generation Octo Core Processor for PETA Scale computing
↑ abByrne, Joseph (2011. december 5.). „Sparc64 IXfx Burns Through FP Code”. Microprocessor Report.
↑ ab (2012. augusztus 29.) „SPARC64 X: Fujitsu's New Generation 16 Core Processor for the next generation UNIX servers”, Kiadó: IEEE Hot Chips 24 Symposium (HCS). DOI:10.1109/HOTCHIPS.2012.7476503.
↑ (2012. szeptember 17.) „Fujitsu and Oracle Ignite SPARCs”. Microprocessor Report.
↑ (2013. október 7.) „Fujitsu, Oracle Processors Evolve”. Microprocessor Report.
↑„SPARC64 X+: Fujitsu's Next Generation Processor for UNIX servers”, 2013. augusztus 27.
↑„Oracle Unfolds Sparc Roadmap, Fujitsu boosts SPARC64 X Clocks”, EnterpriseTech, 2014. április 8.
↑ abcHalfhill, Tom R. (2014. szeptember 22.). „Sparc64 XIfx Uses Memory Cubes”. Microprocessor Report.
Ez a szócikk részben vagy egészben a SPARC64 V című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
Fujitsu Limited (2004 augusztus). SPARC64 V Processor For UNIX Server.
Krewell, Kevin (2003 november 24). "Fujitsu Makes SPARC See Double". Microprocessor Report.
Sakamoto, Mariko et al. (2003). "Microarchitecture and Performance Analysis of a SPARC-V9 Microprocessor for Enterprise Server Systems". Proceedings of the 9th International Symposium on High-Performance Computer Architecture. pp. 141–152.
További olvasmányok
SPARC64 V
(2003. február 13.) „A 1.3 GHz fifth generation SPARC64 microprocessor”. 2003 IEEE International Solid-State Circuits Conference: 246, 491. doi:10.1109/ISSCC.2003.1234286.
(2003. november 23.) „A 1.3GHz fifth generation SPARC64 microprocessor”. Design Automation Conference: 702–705. doi:10.1145/775832.776010.
(2003. november 23.) „A physical design methodology for 1.3 GHz SPARC 64 microprocessor”. 21st International Conference on Computer Design: 204–210. doi:10.1109/ICCD.2003.1240896.
(2008) „2008 június 24–27, Validation of hardware error recovery mechanisms for the SPARC64 V microprocessor”. 2008 IEEE International Conference on Dependable Systems and Networks: 62–69. doi:10.1109/DSN.2008.4630071.
SPARC64 VIIIfx
(2010 március-április) „Sparc64 VIIIfx: A New-Generation Octocore Processor for Petascale Computing”. IEEE Micro30 (2), 30–40. o. DOI:10.1109/MM.2010.40. ISSN0272-1732.
(2010. november 23.) „Fine grained power analysis and low-power techniques of a 128GFLOPS/58W SPARC64 VIIIfx processor for peta-scale computing”. Symposium on VLSI Circuits: 167–168. doi:10.1109/VLSIC.2010.5560313.
SPARC64 X
(2013. november 23.) „A 10th generation 16-core SPARC64 processor for mission-critical UNIX server”. IEEE International Solid-State Circuits Conference: 60–61. doi:10.1109/ISSCC.2013.6487637.
(2014. január 1.) „The 10th Generation 16-Core SPARC64 Processor for Mission Critical UNIX Server”. IEEE Journal of Solid-State Circuits49 (1), 32–40. o. DOI:10.1109/JSSC.2013.2284650. ISSN0018-9200.
(2013 november–december) „Sparc64 X: Fujitsu's New-Generation 16-Core Processor for Unix Servers”. IEEE Micro33 (6), 16–24. o. DOI:10.1109/MM.2013.126. ISSN0272-1732.
SPARC64 XIfx
(2015 március–április) „Sparc64 XIfx: Fujitsu's Next-Generation Processor for High-Performance Computing”. IEEE Micro35 (2), 32–40. o. DOI:10.1109/MM.2015.11. ISSN0272-1732.