SPARC - SPARC
Designer | Sun Microsystems (erhvervet af Oracle Corporation ) |
---|---|
Bits | 64-bit (32 → 64) |
Introduceret | 1986 (produktion) 1987 (forsendelser) |
Version | V9 (1993) / OSA2017 |
Design | RISIKO |
Type | Register-Register |
Indkodning | Fast |
Forgrening | Tilstandskode |
Endianness | Bi (Big → Bi) |
Sidestørrelse | 8 KB (4 KB → 8 KB) |
Udvidelser | VIS 1.0, 2.0, 3.0, 4.0 |
Åben | Ja, og royaltyfri |
Registrerer | |
Generelle formål | 31 (G0 = 0; ikke-globale registre bruger registervinduer ) |
Flydende punkt | 32 (kan bruges som 32 enkeltpræcision, 32 dobbeltpræcision eller 16 quadpræcision) |
SPARC ( Scalable Processor Architecture ) er en reduceret instruktions sæt computing (RISC) instruktions sæt arkitektur oprindeligt udviklet af Sun Microsystems . Dens design blev stærkt påvirket af det eksperimentelle Berkeley RISC- system udviklet i begyndelsen af 1980'erne. SPARC blev først udviklet i 1986 og udgivet i 1987 og var et af de mest succesrige tidlige kommercielle RISC-systemer, og dets succes førte til introduktionen af lignende RISC-design fra en række leverandører gennem 1980'erne og 90'erne.
Den første implementering af den originale 32-bit arkitektur (SPARC V7) blev brugt i Suns Sun-4- arbejdsstation og serversystemer , der erstattede deres tidligere Sun-3- systemer baseret på Motorola 68000-serien af processorer. SPARC V8 tilføjede en række forbedringer, der var en del af SuperSPARC- serien af processorer, der blev udgivet i 1992. SPARC V9, der blev frigivet i 1993, introducerede en 64-bit arkitektur og blev først frigivet i Suns UltraSPARC- processorer i 1995. Senere blev SPARC-processorer brugt i servere med symmetrisk multiprocessing (SMP) og ikke-ensartet hukommelsesadgang ( CC-NUMA ) produceret af blandt andre Sun, Solbourne og Fujitsu .
Designet blev overdraget til SPARC International-handelsgruppen i 1989, og siden er dets arkitektur blevet udviklet af dets medlemmer. SPARC International er også ansvarlig for licensering og promovering af SPARC-arkitekturen, styring af SPARC-varemærker (inklusive SPARC, som det ejer) og leverer overensstemmelsestest . SPARC International havde til formål at udvide SPARC-arkitekturen til at skabe et større økosystem; SPARC er licenseret til flere producenter, herunder Atmel , Bipolar Integrated Technology , Cypress Semiconductor , Fujitsu , Matsushita og Texas Instruments . På grund af SPARC International er SPARC fuldt åben, ikke-proprietær og royaltyfri.
Fra september 2017, de nyeste kommercielle high-end SPARC-processorer er Fujitsu 's SPARC64 XII (indført i 2017 for sin SPARC M12-server) og Oracle ' s SPARC M8 introduceret i september 2017 for sine high-end servere.
Fredag den 1. september 2017 afsluttede Oracle SPARC-design efter færdiggørelsen af M8 efter en runde med fyringer, der startede i Oracle Labs i november 2016. Meget af processorkernegruppen i Austin, Texas, blev afskediget, ligesom holdene i Santa Clara, Californien og Burlington, Massachusetts.
En "forbedret" version af Fuijitus ældre SPARC M12-server forventes i 2021.
Funktioner
SPARC-arkitekturen var stærkt påvirket af de tidligere RISC-design, herunder RISC I og II fra University of California, Berkeley og IBM 801 . Disse originale RISC-designs var minimalistiske, herunder så få funktioner eller op-koder som muligt og sigter mod at udføre instruktioner med en hastighed på næsten en instruktion pr. Urcyklus . Dette gjorde dem ligner MIPS-arkitekturen på mange måder, herunder manglen på instruktioner som multiplicere eller dele. Et andet træk ved SPARC påvirket af denne tidlige RISC-bevægelse er grenforsinkelsessporet .
SPARC-processoren indeholder normalt så mange som 160 generelle registre . I henhold til "Oracle SPARC Architecture 2015" -specifikationen kan en "implementering indeholde fra 72 til 640 generelle 64-bit" -registre. På ethvert tidspunkt er kun 32 af dem umiddelbart synlige for software - 8 er et sæt globale registre (hvoraf den ene, g0 , er kabelforbundet til nul, så kun syv af dem kan bruges som registre), og de andre 24 er fra stakken med registre. Disse 24 registre danner det, der kaldes et registervindue , og ved funktionskald / retur flyttes dette vindue op og ned i registerstakken. Hvert vindue har 8 lokale registre og deler 8 registre med hvert af de tilstødende vinduer. De delte registre bruges til at videregive funktionsparametre og returnere værdier, og de lokale registre bruges til at bevare lokale værdier på tværs af funktionsopkald.
"Skalerbar" i SPARC stammer fra det faktum, at SPARC-specifikationen tillader implementeringer at skalere fra indlejrede processorer op gennem store serverprocessorer, der alle deler det samme kerne (ikke-privilegerede) instruktionssæt. En af de arkitektoniske parametre, der kan skaleres, er antallet af implementerede registervinduer; specifikationen giver mulighed for at implementere fra tre til 32 vinduer, så implementeringen kan vælge at implementere alle 32 for at give maksimal effektivitet til opkaldsstak eller kun implementere tre for at reducere omkostningerne og kompleksiteten ved designet eller implementere et antal mellem dem. Andre arkitekturer, der inkluderer lignende registerfilfunktioner, inkluderer Intel i960 , IA-64 og AMD 29000 .
Arkitekturen har gennemgået flere revisioner. Det fik hardware multiplicere og dele funktionalitet i version 8. 64-bit (adressering og data) blev føjet til version 9 SPARC-specifikationen, der blev offentliggjort i 1994.
I SPARC version 8 har registerfilen med flydende punkt 16 dobbeltpræcisionsregistre . Hver af dem kan bruges som to enkeltpræcisionsregistre , der giver i alt 32 enkeltpræcisionsregistre. Et ulige lige par af dobbeltpræcisionsregistre kan bruges som et firpræcisionsregister , hvilket muliggør 8 firpræcisionsregistre. SPARC version 9 tilføjede 16 flere dobbeltpræcisionsregistre (som også kan tilgås som 8 firpræcisionsregistre), men disse yderligere registre kan ikke tilgås som enkeltpræcisionsregistre. Ingen SPARC CPU implementerer quad-præcision operationer i hardware fra 2004.
Mærkede tilføj og træk instruktioner udfører tilføjer og trækker værdier, der kontrollerer, at de nederste to bits i begge operander er 0 og rapporterer overløb, hvis de ikke er det. Dette kan være nyttigt i implementeringen af køretiden for ML , Lisp og lignende sprog, der muligvis bruger et mærket heltalformat.
Den endethed af 32-bit SPARC V8 arkitektur er rent big-endian. 64-bit SPARC V9-arkitekturen bruger big-endian-instruktioner, men kan få adgang til data i enten big-endian eller little-endian byte-rækkefølge, der vælges enten på applikationsinstruktionsniveauet ( load-store ) eller på hukommelsens sideniveau (via en MMU-indstilling). Sidstnævnte bruges ofte til at få adgang til data fra iboende små-endian enheder, såsom dem på PCI-busser.
Historie
Der har været tre store revisioner af arkitekturen. Den første offentliggjorte version var 32-bit SPARC version 7 (V7) i 1986. SPARC version 8 (V8), en forbedret SPARC-arkitekturdefinition, blev frigivet i 1990. De væsentligste forskelle mellem V7 og V8 var tilføjelsen af heltalsmultiplikation og del instruktioner og en opgradering fra 80-bit "udvidet-præcision" flydende aritmetik til 128-bit " quad-precision " aritmetik. SPARC V8 tjente som basis for IEEE Standard 1754-1994, en IEEE- standard til en 32-bit mikroprocessorarkitektur.
SPARC version 9 , 64-bit SPARC-arkitekturen, blev frigivet af SPARC International i 1993. Den blev udviklet af SPARC Architecture Committee bestående af Amdahl Corporation , Fujitsu , ICL , LSI Logic , Matsushita , Philips , Ross Technology , Sun Microsystems og Texas Instruments . Nyere specifikationer er altid i overensstemmelse med den fulde SPARC V9 niveau 1-specifikation.
I 2002 blev SPARC Joint Programming Specification 1 (JPS1) frigivet af Fujitsu og Sun, der beskriver processorfunktioner, som blev identisk implementeret i CPU'erne i begge virksomheder ("Commonality"). De første CPU'er, der overholdt JPS1, var UltraSPARC III af Sun og SPARC64 V af Fujitsu. Funktioner, der ikke er dækket af JPS1, er dokumenteret for hver processor i "Implementation Supplements".
I slutningen af 2003 blev JPS2 frigivet til at understøtte multicore-CPU'er. De første CPU'er, der overholdt JPS2, var UltraSPARC IV af Sun og SPARC64 VI af Fujitsu.
I begyndelsen af 2006 udgav Sun en udvidet arkitekturspecifikation, UltraSPARC Architecture 2005 . Dette inkluderer ikke kun de ikke-privilegerede og de fleste af de privilegerede dele af SPARC V9, men også alle de arkitektoniske udvidelser, der er udviklet gennem processorgenerationer af UltraSPARC III, IV IV + samt CMT-udvidelser, der starter med UltraSPARC T1- implementeringen:
- de VIS- 1 og VIS 2 instruktionssæt udvidelser og den tilhørende GSR register
- flere niveauer af globale registre, kontrolleret af GL-registret
- Suns 64-bit MMU-arkitektur
- privilegerede instruktioner ALLCLEAN, OTHERW, NORMALW og INVALW
- adgang til VER-registret er nu hyperprivilegeret
- SIR-instruktionen er nu hyperprivilegeret
I 2007 udgav Sun en opdateret specifikation, UltraSPARC Architecture 2007 , som UltraSPARC T2- implementeringen overholdt.
I august 2012 stillede Oracle Corporation en ny specifikation til rådighed, Oracle SPARC Architecture 2011 , som udover den samlede opdatering af referencen tilføjer VIS 3-instruktionsudvidelser og hyperprivilegeret tilstand til 2007-specifikationen.
I oktober 2015 udgav Oracle SPARC M7, den første processor baseret på den nye Oracle SPARC Architecture 2015- specifikation. Denne revision inkluderer VIS 4 instruktionsudvidelser og hardware-assisteret kryptering og silicium sikret hukommelse (SSM).
SPARC-arkitektur har leveret kontinuerlig applikations binær kompatibilitet fra den første SPARC V7-implementering i 1987 gennem Sun UltraSPARC Architecture-implementeringer.
Blandt forskellige implementeringer af SPARC var Suns SuperSPARC og UltraSPARC-I meget populære og blev brugt som referencesystemer til SPEC CPU95 og CPU2000 benchmarks. 296 MHz UltraSPARC-II er referencesystemet for SPEC CPU2006 benchmark.
Arkitektur
SPARC er en load / store-arkitektur (også kendt som en register-register-arkitektur ); bortset fra de indlæsnings- / lagringsinstruktioner, der bruges til at få adgang til hukommelsen , fungerer alle instruktioner på registre.
Registrerer
SPARC-arkitekturen har et overlappende registervindueskema. På ethvert tidspunkt er 32 generelle registre synlige. En Current Window Pointer ( CWP ) -variabel i hardwaren peger på strømmen. Den samlede størrelse af registerfilen er ikke en del af arkitekturen, så flere registre kan tilføjes, efterhånden som teknologien forbedres, op til maksimalt 32 vinduer i SPARC v7 og v8, da CWP er 5 bit og er en del af PSR- registret.
I SPARC v7 og v8 reduceres CWP normalt af SAVE-instruktionen (bruges af SAVE-instruktionen under procedureopkaldet for at åbne en ny stakramme og skifter registervindue) eller forøges af RESTORE-instruktionen (skifte tilbage til opkaldet før vender tilbage fra proceduren). Fældehændelser (afbrydelser, undtagelser eller TRAP-instruktioner) og RETT-instruktioner (vender tilbage fra fælder) ændrer også CWP . For SPARC-V9 mindskes CWP-register under en RESTORE-instruktion og inkrementeres under en SAVE-instruktion. Dette er det modsatte af PSR.CWP's adfærd i SPARC-V8. Denne ændring har ingen indvirkning på ikke-privilegerede instruktioner.
Registrer gruppe | Mnemonic | Registrer adresse |
---|---|---|
global | G0-G7 | R [0] -R [7] |
ud | O0-O7 | R [8] -R [15] |
lokal | L0-L7 | R [16] -R [23] |
i | I0-I7 | R [24] -R [31] |
SPARC-registre er vist i figuren ovenfor.
Instruktionsformater
Alle SPARC instruktioner optager et fuldt 32 bit ord og starter på en ordgrænse. Der bruges fire formater, der adskiller sig fra de første to bits. Alle aritmetiske og logiske instruktioner har 2 kildeoperander og 1 destinationsoperand.
SETHI instruktionsformat kopierer sin øjeblikkelige 22 bit operand til høj-ordens 22 bit i et hvilket som helst specificeret register og sætter hver af de laveste 10 bit til 0.
Formater ALU-register, begge kilder er registre; format ALU øjeblikkeligt, en kilde er et register, og en er en konstant i området -4096 til +4095. Bit 13 vælger mellem dem. I begge tilfælde er destinationen altid et register.
Instruktioner i filialformat styrer overførsler eller betingede filialer. Feltet icc eller fcc angiver typen af gren. 22-bit forskydningsfeltet angiver målets relative adresse i ord, så betingede grene kan gå frem eller tilbage op til 8 megabyte. Den annulleres (A) bit bruges til at slippe af med en vis forsinkelse slots. Hvis det er 0 i en betinget gren, udføres forsinkelsesslottet som normalt. Hvis det er 1, udføres forsinkelsesslotten kun, hvis grenen tages. Hvis den ikke tages, springes instruktionen over den betingede gren over.
Den CALL instruktion bruger en 30-bit pc relativ ord offset. Denne værdi er nok til at nå en instruktion inden for 4 gigabyte fra den, der ringer op eller hele adresseområdet. CALL-instruktionen deponerer returadressen i register R15, også kendt som outputregister O7 .
Ligesom de aritmetiske instruktioner bruger SPARC-arkitekturen to forskellige formater til indlæsnings- og butiksinstruktioner. Det første format bruges til instruktioner, der bruger et eller to registre som den effektive adresse. Det andet format bruges til instruktioner, der bruger en heltalskonstant som den effektive adresse.
Type | 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 | |
SETHI-format | 00 | RD | 100 | Umiddelbar konstant 22 bit | ||||||||||||||||||||||||||||
I Filialformat | 00 | EN | icc | 010 | Forskydningskonstant 22 bit | |||||||||||||||||||||||||||
F Filialformat | 00 | EN | fcc | 110 | Forskydningskonstant 22 bit | |||||||||||||||||||||||||||
OPKALD disp | 01 | PC-relativ forskydning | ||||||||||||||||||||||||||||||
Aritmetisk register | 10 | RD | opkode | RS 1 | 0 | 0 | RS 2 | |||||||||||||||||||||||||
Aritmetik øjeblikkelig | 10 | RD | opkode | RS 1 | 1 | Umiddelbar konstant 13 bit | ||||||||||||||||||||||||||
FPU | 10 | FD | 110100/110101 | FS 1 | opf | FS 2 | ||||||||||||||||||||||||||
LD / ST-register | 11 | RD | opkode | RS 1 | 0 | 0 | RS 2 | |||||||||||||||||||||||||
LD / ST øjeblikkelig | 11 | RD | opkode | RS 1 | 1 | Umiddelbar konstant 13 bit |
De fleste aritmetiske instruktioner kommer parvis med den ene version, der indstiller NZVC-tilstandskodebitene, og den anden ikke. Dette er således, at kompilatoren har en måde at flytte instruktionerne på, når man prøver at udfylde forsinkelsesslots.
SPARC v7 har ikke instruktioner til multiplikation eller deling, bit, den har MULSCC, som udfører et trin i en multiplikation, der tester en bit og betinget tilføjer multiplikatoren til produktet. Dette skyldtes, at MULSCC kan gennemføre over en urcyklus i overensstemmelse med RISC-filosofien.
SPARC arkitektur licenshavere
Følgende organisationer har licens til SPARC-arkitekturen:
- Afara Websystems
- Bipolar integreret teknologi (BIT)
- Cypress Semiconductor
- Det Europæiske Rumforsknings- og Teknologicenter (ESTEC)
- Fujitsu (og dets datterselskab Fujitsu Microelectronics)
- Gaisler Research
- HAL computersystemer
- Hyundai
- LSI Logik
- Matra Harris Semiconductors (MHS)
- Matsushita Electrical Industrial Co.
- Meiko Scientific
- Metaflow Technologies
- Philips Elektronik
- Prisma
- Ross Technology
- Solbourne Computer
- Systems & Processes Engineering Corporation (SPEC)
- TEMISK
- Weitek
Implementeringer
Navn (kodenavn) | Model | Frekvens (MHz) | Arch. version | År | Samlede tråde | Proces (nm) | Transistorer (millioner) | Dørstørrelse (mm 2 ) | IO-ben | Effekt (W) | Spænding (V) | L1 Dcache (KB) | L1 Icache (KB) | L2 cache (KB) | L3-cache (KB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SPARC MB86900 | Fujitsu | 14.28–33 | V7 | 1986 | 1 × 1 = 1 | 1300 | 0,11 | - | 256 | - | - | 0–128 (samlet) | ingen | ingen | |
SPARC | Forskellige | 14.28–40 | V7 | 1989–1992 | 1 × 1 = 1 | 800–1300 | ~ 0,1-1,8 | - | 160–256 | - | - | 0–128 (samlet) | ingen | ingen | |
MN10501 (KAP) |
Solbourne Computer ,
Matsushita |
33-36 | V8 | 1990-1991 | 1x1 = 1 | - | 1.0 | - | - | - | - | 8 | 8 | 0–256 | ingen |
microSPARC I (Tsunami) | TI TMS390S10 | 40–50 | V8 | 1992 | 1 × 1 = 1 | 800 | 0,8 | 225? | 288 | 2.5 | 5 | 2 | 4 | ingen | ingen |
SuperSPARC I (Viking) | TI TMX390Z50 / Sun STP1020 | 33–60 | V8 | 1992 | 1 × 1 = 1 | 800 | 3.1 | - | 293 | 14.3 | 5 | 16 | 20 | 0–2048 | ingen |
SPARClite | Fujitsu MB8683x | 66–108 | V8E | 1992 | 1 × 1 = 1 | - | - | - | 144, 176 | - | 2,5 / 3,3–5,0 V, 2,5–3,3 V | 1, 2, 8, 16 | 1, 2, 8, 16 | ingen | ingen |
hyperSPARC (Colorado 1) | Ross RT620A | 40–90 | V8 | 1993 | 1 × 1 = 1 | 500 | 1.5 | - | - | - | 5? | 0 | 8 | 128–256 | ingen |
microSPARC II (Swift) | Fujitsu MB86904 / Sun STP1012 | 60–125 | V8 | 1994 | 1 × 1 = 1 | 500 | 2.3 | 233 | 321 | 5 | 3.3 | 8 | 16 | ingen | ingen |
hyperSPARC (Colorado 2) | Ross RT620B | 90–125 | V8 | 1994 | 1 × 1 = 1 | 400 | 1.5 | - | - | - | 3.3 | 0 | 8 | 128–256 | ingen |
SuperSPARC II (Voyager) | Sol STP1021 | 75–90 | V8 | 1994 | 1 × 1 = 1 | 800 | 3.1 | 299 | - | 16 | - | 16 | 20 | 1024–2048 | ingen |
hyperSPARC (Colorado 3) | Ross RT620C | 125–166 | V8 | 1995 | 1 × 1 = 1 | 350 | 1.5 | - | - | - | 3.3 | 0 | 8 | 512-1024 | ingen |
TurboSPARC | Fujitsu MB86907 | 160–180 | V8 | 1996 | 1 × 1 = 1 | 350 | 3.0 | 132 | 416 | 7 | 3.5 | 16 | 16 | 512 | ingen |
UltraSPARC (Spitfire) | Sol STP1030 | 143–167 | V9 | 1995 | 1 × 1 = 1 | 470 | 3.8 | 315 | 521 | 30 | 3.3 | 16 | 16 | 512-1024 | ingen |
UltraSPARC (Hornet) | Sol STP1030 | 200 | V9 | 1995 | 1 × 1 = 1 | 420 | 5.2 | 265 | 521 | - | 3.3 | 16 | 16 | 512-1024 | ingen |
hyperSPARC (Colorado 4) | Ross RT620D | 180-200 | V8 | 1996 | 1 × 1 = 1 | 350 | 1.7 | - | - | - | 3.3 | 16 | 16 | 512 | ingen |
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 | 8192 | - |
UltraSPARC II'er (Blackbird) | Sol STP1031 | 250–400 | V9 | 1997 | 1 × 1 = 1 | 350 | 5.4 | 149 | 521 | 25 | 2.5 | 16 | 16 | 1024 eller 4096 | ingen |
UltraSPARC II'er (safir-sort) | Sol STP1032 / STP1034 | 360–480 | V9 | 1999 | 1 × 1 = 1 | 250 | 5.4 | 126 | 521 | 21 | 1.9 | 16 | 16 | 1024–8192 | ingen |
UltraSPARC IIi (Sabre) | Sun SME1040 | 270–360 | V9 | 1997 | 1 × 1 = 1 | 350 | 5.4 | 156 | 587 | 21 | 1.9 | 16 | 16 | 256–2048 | ingen |
UltraSPARC IIi (safir-rød) | Sol SME1430 | 333–480 | V9 | 1998 | 1 × 1 = 1 | 250 | 5.4 | - | 587 | 21 | 1.9 | 16 | 16 | 2048 | ingen |
UltraSPARC IIe (Hummingbird) | Sun SME1701 | 400–500 | V9 | 1999 | 1 × 1 = 1 | 180 Al | - | - | 370 | 13 | 1.5-1.7 | 16 | 16 | 256 | ingen |
UltraSPARC IIi (IIe +) (Phantom) | Sol SME1532 | 550–650 | V9 | 2000 | 1 × 1 = 1 | 180 Cu | - | - | 370 | 17.6 | 1.7 | 16 | 16 | 512 | ingen |
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 (Cheetah) | Sun SME1050 | 600 | JPS1 | 2001 | 1 × 1 = 1 | 180 Al | 29 | 330 | 1368 | 53 | 1.6 | 64 | 32 | 8192 | ingen |
UltraSPARC III (gepard) | Sun SME1052 | 750–900 | JPS1 | 2001 | 1 × 1 = 1 | 130 Al | 29 | - | 1368 | - | 1.6 | 64 | 32 | 8192 | ingen |
UltraSPARC III Cu (Cheetah +) | Sun SME1056 | 900-1200 | JPS1 | 2001 | 1 × 1 = 1 | 130 Cu | 29 | 232 | 1368 | 50 | 1.6 | 64 | 32 | 8192 | ingen |
UltraSPARC IIIi (Jalapeño) | Sun SME1603 | 1064–1593 | JPS1 | 2003 | 1 × 1 = 1 | 130 | 87,5 | 206 | 959 | 52 | 1.3 | 64 | 32 | 1024 | ingen |
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) | Sol SME1167 | 1050–1350 | JPS2 | 2004 | 1 × 2 = 2 | 130 | 66 | 356 | 1368 | 108 | 1.35 | 64 | 32 | 16384 | ingen |
UltraSPARC IV + (Panther) | Sol 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 | ingen |
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 | ingen |
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 | ingen |
UltraSPARC T2 Plus (Victoria Falls) | Sol SME1910A | 1200–1600 | UA2007 | 2008 | 8 × 8 = 64 | 65 | 503 | 342 | 1831 | - | - | 8 | 16 | 4096 | ingen |
SPARC64 VII (Jupiter) | Fujitsu | 2400-2880 | JPS2 | 2008 | 2 × 4 = 8 | 65 | 600 | 445 | - | 150 | - | 64 × 4 | 64 × 4 | 6144 | ingen |
UltraSPARC "RK" ( Rock ) | Sun SME1832 | 2300 | ???? | aflyst | 2 × 16 = 32 | 65 | ? | 396 | 2326 | ? | ? | 32 | 32 | 2048 | ? |
SPARC64 VIIIfx (Venus) | Fujitsu | 2000 | JPS2 / HPC-ACE | 2009 | 1 × 8 = 8 | 45 | 760 | 513 | 1271 | 58 | ? | 32 × 8 | 32 × 8 | 6144 | ingen |
LEON2FT | Atmel AT697F | 100 | V8 | 2009 | 1 × 1 = 1 | 180 | - | - | 196 | 1 | 1.8 / 3.3 | 16 | 32 | - | - | ingen |
SPARC T3 (Rainbow Falls) | Oracle / Sun | 1650 | UA2007 | 2010 | 8 × 16 = 128 | 40 | ???? | 371 | ? | 139 | ? | 8 | 16 | 6144 | ingen |
Galaxy FT-1500 | NUDT (Kina) | 1800 | UA2007? | 201? | 8 × 16 = 128 | 40 | ???? | ??? | ? | 65 | ? | 16 × 16 | 16 × 16 | 512 × 16 | 4096 |
SPARC64 VII + (Jupiter-E eller M3) | Fujitsu | 2667–3000 | JPS2 | 2010 | 2 × 4 = 8 | 65 | - | - | - | 160 | - | 64 × 4 | 64 × 4 | 12288 | ingen |
LEON3FT | Cobham Gaisler GR712RC | 100 | V8E | 2011 | 1 × 2 = 2 | 180 | - | - | - | 1.5 | 1.8 / 3.3 | 4x4Kb | 4x4Kb | ingen | ingen |
R1000 | MCST (Rusland) | 1000 | JPS2 | 2011 | 1 × 4 = 4 | 90 | 180 | 128 | - | 15 | 1, 1,8, 2,5 | 32 | 16 | 2048 | ingen |
SPARC T4 (Yosemite Falls) | Oracle | 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 | ingen |
SPARC64 X (Athena) | Fujitsu | 2800 | OSA2011 / HPC-ACE | 2012 | 2 × 16 = 32 | 28 | 2950 | 587,5 | 1500 | 270 | ? | 64 × 16 | 64 × 16 | 24576 | ingen |
SPARC T5 | Oracle | 3600 | OSA2011 | 2013 | 8 × 16 = 128 | 28 | 1500 | 478 | ? | ? | ? | 16 × 16 | 16 × 16 | 128 × 16 | 8192 |
SPARC M5 | Oracle | 3600 | OSA2011 | 2013 | 8 × 6 = 48 | 28 | 3900 | 511 | ? | ? | ? | 16 × 6 | 16 × 6 | 128 × 6 | 49152 |
SPARC M6 | Oracle | 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 | 24M | ingen |
SPARC64 XIfx | Fujitsu | 2200 | JPS2 / HPC-ACE2 | 2014 | 1 × (32 + 2) = 34 | 20 | 3750 | ? | 1001 | ? | ? | 64 × 34 | 64 × 34 | 12M × 2 | ingen |
SPARC M7 | Oracle | 4133 | OSA2015 | 2015 | 8 × 32 = 256 | 20 | > 10.000 | ? | ? | ? | ? | 16 × 32 | 16 × 32 | 256 × 24 | 65536 |
SPARC S7 | Oracle | 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 | Oracle | 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 | ingen |
LEON5 | Cobham Gaisler | - | V8E | 2019 | ? | ? | - | - | - | - | - | ? | ? | 16–8192 | ingen |
Navn (kodenavn) | Model | Frekvens (MHz) | Arch. version | År | Samlede tråde | Proces (nm) | Transistorer (millioner) | Dørstørrelse (mm 2 ) | IO-ben | Effekt (W) | Spænding (V) | L1 Dcache (KB) | L1 Icache (KB) | L2 cache (KB) | L3-cache (KB) |
Bemærkninger :
Understøttelse af operativsystem
SPARC-maskiner har generelt brugt Suns SunOS , Solaris eller OpenSolaris inklusive derivater illumos og OpenIndiana , men andre operativsystemer er også blevet brugt, såsom NeXTSTEP , RTEMS , FreeBSD , OpenBSD , NetBSD og Linux .
I 1993 annoncerede Intergraph en port af Windows NT til SPARC-arkitekturen, men den blev senere annulleret.
I oktober 2015 annoncerede Oracle en "Linux for SPARC-referenceplatform".
Open source implementeringer
Der findes flere fuldt open source- implementeringer af SPARC-arkitekturen:
- LEON , en 32-bit strålingstolerant , SPARC V8 implementering, designet specielt til rumbrug. Kildekoden er skrevet i VHDL og licenseret under GPL .
- OpenSPARC T1 , udgivet i 2006, en 64-bit, 32-tråds implementering i overensstemmelse med UltraSPARC Architecture 2005 og SPARC version 9 (niveau 1). Kildekoden er skrevet i Verilog og licenseret under mange licenser. De fleste OpenSPARC T1-kildekoder er licenseret under GPL. Kilde baseret på eksisterende open source-projekter vil fortsat blive licenseret under deres nuværende licenser. Binære programmer er licenseret under en binær softwarelicensaftale .
- S1 , en 64-bit Wishbone-kompatibel CPU-kerne baseret på OpenSPARC T1-designet. Det er en enkelt UltraSPARC v9-kerne, der er i stand til 4-vejs SMT. Ligesom T1 er kildekoden licenseret under GPL.
- OpenSPARC T2 , udgivet i 2008, en 64-bit, 64-tråds implementering i overensstemmelse med UltraSPARC Architecture 2007 og SPARC version 9 (niveau 1). Kildekoden er skrevet i Verilog og licenseret under mange licenser. De fleste OpenSPARC T2-kildekoder er licenseret under GPL. Kilde baseret på eksisterende open source-projekter vil fortsat blive licenseret under deres nuværende licenser. Binære programmer er licenseret under en binær softwarelicensaftale.
En fuldt open source- simulator til SPARC-arkitekturen findes også:
- RAMP Gold , en 32-bit, 64-tråds SPARC version 8-implementering, designet til FPGA-baseret arkitektursimulering. RAMP Gold er skrevet i ~ 36.000 linjer af SystemVerilog og licenseret under BSD-licenserne .
Supercomputere
Til HPC-belastninger bygger Fujitsu specialiserede SPARC64 fx- processorer med et nyt instruktionsudvidelsessæt, kaldet HPC-ACE (High Performance Computing - Arithmetic Computational Extensions).
Fujitsus K-computer rangerede nr. 1 på TOP500 juni 2011 og november 2011 lister. Den kombinerer 88.128 SPARC64 VIIIfx CPU'er, hver med otte kerner, i alt 705.024 kerner - næsten dobbelt så mange som ethvert andet system i TOP500 på det tidspunkt. K-computeren var mere kraftfuld end de næste fem systemer på listen tilsammen og havde det højeste ydelses-til-effekt-forhold på ethvert supercomputersystem. Det rangerede også nr. 6 på Green500 juni 2011-listen med en score på 824,56 MFLOPS / W. I udgivelsen af TOP500 i november 2012 rangerede K-computeren som nr. 3 ved at bruge langt den største styrke blandt de tre bedste. Det rangerede nr. 85 på den tilsvarende Green500- udgivelse. Nyere HPC-processorer, IXfx og XIfx , blev inkluderet i de seneste PRIMEHPC FX10- og FX100-supercomputere.
Tianhe-2 ( TOP500 nr. 1 fra november 2014) har en række noder med Galaxy FT-1500 OpenSPARC- baserede processorer udviklet i Kina. Disse processorer bidrog imidlertid ikke til LINPACK- scoren.
Se også
- ERC32 - baseret på SPARC V7 specifikation
- Ross Technology, Inc. - en SPARC-mikroprocessorudvikler i 1980'erne og 1990'erne
- Sparcle - en modificeret SPARC med multiprocessing support, der bruges af MIT Alewife-projektet
- LEON - en pladsvurderet SPARC V8-processor.
- R1000 - en russisk quad-core mikroprocessor baseret på SPARC V9 specifikation
- Galaxy FT-1500 - en kinesisk 16-core OpenSPARC-baseret processor
Referencer
eksterne links
- SPARC International, Inc.
- Oracle SPARC-processordokumentation på Wayback Machine (arkiveret 13. oktober 2019)
- SPARC tekniske dokumenter
- OpenSPARC Architecture-specifikation
- Hypervisor / Sun4v referencemateriale
- Fujitsu SPARC64 V, VI, VII, VIIIfx, IXfx Extensions og X / X + Specifikation
- Sun - Dokumentation om UltraSPARC-processorer på Wayback Machine (arkiveret 14. januar 2010)
- Sun - FOSS åben hardwaredokumentation på Wayback Machine (arkiveret 9. december 2011)
- OpenSPARC på Wayback Machine (arkiveret 27. februar 2011)
- Oracle SPARC og Solaris Public Roadmap på Wayback Machine (arkiveret 25. maj 2018)
- Fujitsu SPARC køreplan
- SPARC processor billeder og beskrivelser
- Den grove guide til MBus-moduler (SuperSPARC, hyperSPARC)
- SPARC version 9, forelæsning af David Ditzel på YouTube
- SPARC på Curlie