SPARC

Innen elektronikk og databehandling er SPARC ( Scalable Processor ARChitecture ) en stor RISC - mikroprosessorarkitektur . Arkitekturen, opprinnelig designet i 1985 av Sun Microsystems , har også blitt et registrert varemerke for SPARC International, Inc., en organisasjon grunnlagt i 1989 for å promotere SPARC og for å utstede sertifikater og samsvarstester for prosessorer som ønsker å skryte av den tittelen.

Beskrivelse

SPARC International ønsket at SPARC skulle være en "åpen" arkitektur for å skape et flott økosystem for design, den har blitt lisensiert til forskjellige produsenter, inkludert Texas Instruments , Cypress Semiconductor og Fujitsu. Det viste seg at SPARC for tiden er en åpen, ikke-proprietær arkitektur: det er også en full åpen kildekode -implementering kalt LEON , skrevet i VHDL , og kildekoden er tilgjengelig under LGPL. LEONs ASIC , utviklet av Gaisler Research, er 32-bit og støtter instruksjonssettet som finnes i SparcV8- arkitekturen .

CPUer med SPARC- arkitekturimplementeringer ble opprinnelig designet og brukt for områder som arbeidsstasjoner og senere også i SMP- servere produsert av Sun Microsystems og Fujitsu . SPARC-maskiner er synonyme med Solaris , Suns operativsystem designet for SPARC, selv om porter til forskjellige operativsystemer er tilgjengelige for denne arkitekturen, inkludert OPENSTEP , Linux , FreeBSD , OpenBSD og NetBSD . Gjennom årene har ulike versjoner av SPARC-arkitekturen blitt utviklet for å garantere maksimal kompatibilitet mellom eldre og nye prosessorer for å lette eventuelle oppgraderinger (et eksempel er UltraSPARC III- og UltraSPARC VI/VI+-prosessorene som kan monteres i samme system uten problemer ); den siste arkitekturen som fortsatt er i bruk er den niende (V9).

Funksjoner

SPARC-arkitekturen var sterkt påvirket av den tidligere RISC I og II-designen utviklet innen California University Berkeley . Denne RISC -arkitekturen var veldig minimalistisk: prosessoren inkluderte få operasjoner i den interne koden, for å sikre at hver operasjon ble utført i bare én klokkesyklus, og den var også veldig lik MIPS-arkitekturen , og sørget ikke for noen divisjon eller multiplikasjon operasjoner som snarere ble etterlignet gjennom serier av summer. Et interessant trekk ved de RISC-påvirkede SPARC-ene var den svært avanserte grenprediksjonsenheten : takket være disse funksjonene hadde denne arkitekturen en utmerket IPC ( instruksjoner per syklus - instruksjoner per klokkesyklus ) som garanterte utmerket ytelse selv ved lave frekvenser. En uønsket funksjon avledet fra den tidlige RISC-designen er grenforsinkelsessporet .

En SPARC-prosessor inneholder normalt minst 128 generelle registre ; av disse er kun 32 registre tilgjengelige direkte til programvaren, 8 er globale ( g0 er reservert og kan derfor ikke brukes, så kun 7 kan brukes) og de andre 24 brukes som en stack. De 24 registrene fungerer som registervinduer og når funksjoner kaller eller returnerer variabler lagrer disse registrene dataene, beveger seg opp eller ned langs stabelen . Hvert vindu har 8 lokale registre og 8 registre som deles med de andre vinduene. Delte registre brukes til å sende parametere og returnere variabler for en funksjon.

SPARC er en veldig skalerbar prosessor, som kan brukes både som prosessor for innebygde applikasjoner og for å gi datakraft i forretningsservere ved å bruke det samme settet med instruksjoner. En av de arkitektoniske funksjonene som tillater denne prosessorens skalerbarhet er antallet registerbaserte vinduer som kan implementeres; spesifikasjonene lar disse variere fra minimum 3 til maksimalt 32. Et stort antall øker hastigheten på koden med mange dataenheter, mens et lite antall øker hastigheten på kontekstbytte. Andre arkitekturer inkluderer vinduer med registre som Intel i960 , IA-64 til Itanium-prosessorer eller AMD 29000 .

I SPARC versjon 8 ( 1987 ) har flyttallenheten 16 flyttallregister. Hvert av disse registrene kan brukes som 2 enkeltpresisjonsregistre som gir totalt 32 enkeltpresisjonsregistre. Registrene kan kobles for å oppnå 8 firedoble presisjonsregistre. SPARC versjon 9 la til ytterligere 16 dobbelpresisjonsregistre (som kan bli 8 firedobbelpresisjonsregistre ), men som ikke er brukbare som enkeltpresisjonsregistre.

Historie

I løpet av årene har arkitekturen gjennomgått flere revisjoner, for eksempel versjon 8 introduserte multiplikasjon og divisjoner via maskinvare selv om den store endringen skjedde med versjon 9 som introduserte 64-bits databehandling i prosessoren. .

Sun UltraSPARC Architecture 2005 (UA 2005)-spesifikasjonen la til ytterligere instruksjoner, tilleggsregistre og en funksjon kalt hyperprivilegert modus . Disse nye tilleggene vil bli standard fra og med den nye UltraSPARC T1 8-kjerneprosessoren . UltraSPARC arkitektur 2005 inkluderer fortsatt standard Sun-utvidelser og forblir kompatibel med SPARC V9 nivå 1-spesifikasjoner; i tillegg til dette gir den nye arkitekturen full kompatibilitet med applikasjoner skrevet for SPARC V7-spesifikasjonen implementert for første gang i 1987.

I historien til denne arkitekturen ble forskjellige Sun SPARC-prosessorer inkludert SuperSPARC og UltraSPARC-I så vanlige at de ble brukt som en benchmark av SPEC for CPU95 og CPU2000 benchmarks .

Navn (kodenavn) Mal Frekvens (MHz) Arkitektur versjon År Trådnummer [1] Prosess (µm) Transistorer (millioner) Dyseareal (mm²) IO Pin Forbruk (W) Spenning (V) L1 Dcache (k) L1 Icache (k) L2 Cache (k) L3-buffer (k)
SPARC (flere), inkludert MB86900 [2] 14.28–40 V7 1987-1992 1 × 1 = 1 0,8-1,3 ~ 0,1–1,8 - 160-256 - - 0–128 (samlet) - -
microSPARC I (Tsunami) TI TMS390S10 40-50 V8 1992 1 × 1 = 1 0,8 0,8 225? 288 2.5 5 2 4 - -
SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33-60 V8 1992 1 × 1 = 1 0,8 3.1 - 293 14.3 5 16 20 0-2048 -
SPARClite Fujitsu MB8683x 66-108 V8E 1992 1 × 1 = 1 - - - 144–176 - 2,5 / 3,3V 1–16 1–16 - -
hyperSPARC (Colorado 1) Ross RT620A 40–90 V8 1993 1 × 1 = 1 0,5 1.5 - - - 5? 0 8 128-256 -
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1 × 1 = 1 0,5 2.3 233 321 5 3.3 8 16 - -
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1 × 1 = 1 0,4 1.5 - - - 3.3 0 8 128-256 -
SuperSPARC II (Voyager) Søn STP1021 75–90 V8 1994 1 × 1 = 1 0,8 3.1 299 - 16 - 16 20 1024-2048 -
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 1995 1 × 1 = 1 0,35 1.5 - - - 3.3 0 8 512-1024 -
TurboSPARC Fujitsu MB86907 160-180 V8 1996 1 × 1 = 1 0,35 3.0 132 416 7 3.5 16 16 512 -
UltraSPARC (Spitfire) Søn STP1030 143–167 V9 1995 1 × 1 = 1 0,47 5.2 315 521 30 [3] 3.3 16 16 512-1024 -
UltraSPARC (hornet) Søn STP1030 200 V9 1998 1 × 1 = 1 0,42 5.2 265 521 - 3.3 16 16 512-1024 -
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 1996 1 × 1 = 1 0,35 1.7 - - - 3.3 16 16 512 -
SPARC64 Fujitsu (HAL) 101–118 V9 1995 1 × 1 = 1 0,4 - Multichip 286 50 3.8 128 128 - -
SPARC64 II Fujitsu (HAL) 141–161 V9 1996 1 × 1 = 1 0,35 - Multichip 286 64 3.3 128 128 - -
SPARC64 III Fujitsu (HAL) MBCS70301 250-330 V9 1998 1 × 1 = 1 0,24 17.6 240 - - 2.5 64 64 8192 -
UltraSPARC IIs (Blackbird) Søn STP1031 250-400 V9 1997 1 × 1 = 1 0,35 5.4 149 521 25 [4] 2.5 16 16 1024 eller 4096 -
UltraSPARC IIs (Sapphire-Black) Søn STP1032 / STP1034 360–480 V9 1999 1 × 1 = 1 0,25 5.4 126 521 21 [5] 1.9 16 16 1024-8192 -
UltraSPARC IIi (sabel) Søn SME1040 270-360 V9 1997 1 × 1 = 1 0,35 5.4 156 587 21 1.9 16 16 256-2048 -
UltraSPARC IIi (safirrød) Søn SME1430 333–480 V9 1998 1 × 1 = 1 0,25 5.4 - 587 21 [6] 1.9 16 16 2048 -
UltraSPARC IIe (Hummingbird) Søn SME1701 400-500 V9 1999 1 × 1 = 1 0,18 Al - - 370 13 [7] 1,5-1,7 16 16 256 -
UltraSPARC IIi (IIe +) (Phantom) Søn SME1532 550-650 V9 2000 1 × 1 = 1 0,18 Cu - - 370 17.6 1.7 16 16 512 -
SPARC64 GP Fujitsu SFCB81147 400-563 V9 2000 1 × 1 = 1 0,18 30.2 217 - - 1.8 128 128 8192 -
SPARC64 GP - 600-810 V9 - 1 × 1 = 1 0,15 30.2 - - - 1.5 128 128 8192 -
SPARC64 IV Fujitsu MBCS80523 450-810 V9 2000 1 × 1 = 1 0,13 - - - - - 128 128 2048 -
UltraSPARC III (Gepard) Søn SME1050 600 V9 / JPS1 2001 1 × 1 = 1 0,18 Al 29 330 1368 53 1.6 64 32 8192 -
UltraSPARC III (Gepard) Søn SME1052 750–900 V9 / JPS1 2001 1 × 1 = 1 0,13 Al 29 - 1368 - 1.6 64 32 8192 -
UltraSPARC III Cu (Gepard +) Søn SME1056 1002-1200 V9 / JPS1 2001 1 × 1 = 1 0,13 Cu 29 232 1368 80 [8] 1.6 64 32 8192 -
UltraSPARC IIIi (Jalapeño) Søn SME1603 1064–1593 V9 / JPS1 2003 1 × 1 = 1 0,13 87,5 206 959 52 1.3 64 32 1024 -
SPARC64 V (Zeus) Fujitsu 1100–1350 V9 / JPS1 2003 1 × 1 = 1 0,13 190 289 269 40 1.2 128 128 2048 -
SPARC64 V + (Olympus-B) Fujitsu 1650–2160 V9 / JPS1 2004 1 × 1 = 1 0,09 400 297 279 65 1 128 128 4096 -
UltraSPARC IV (Jaguar) Søn SME1167 1050–1350 V9 / JPS1 2004 1 × 2 = 2 0,13 66 356 1368 108 1,35 64 32 16384 -
UltraSPARC IV + (Panther) Søn SME1167A 1500–2100 V9 / JPS1 2005 1 × 2 = 2 0,09 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Niagara) Søn SME1905 1000–1400 V9 / UA 2005 2005 4 × 8 = 32 0,09 300 340 1933 72 1.3 8 16 3072 -
SPARC64 VI (Olympus-C) Fujitsu 2150–2400 V9 / JPS1 2007 2 × 2 = 4 0,09 540 422 - 120 - 128 128 5120 -
UltraSPARC T2 (Niagara 2) Søn SME1908A 1000–1600 V9 / UA 2007 2007 8 × 8 = 64 0,065 503 342 1831 95 1,1–1,5 8 16 4096 -
UltraSPARC T2 Plus (Victoria Falls) Søn SME1910A 1200–1600 V9 / UA 2007 2008 8 × 8 = 64 0,065 503 342 1831 - - 8 16 4096 -
SPARC64 VII (Jupiter) [9] Fujitsu 2400-2880 V9 / JPS1 2008 2 × 4 = 8 0,065 600 445 - 135 - 64 64 6144 -
UltraSPARC "RK" ( Rock ) [10] Søn SME1832 2300 V9 / - slettet [11] 2 × 16 = 32 0,065 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Venus) [12] [13] Fujitsu 2000 V9 / JPS1 2009 1x8 = 8 0,045 ? ? ? ? ? ? ? ? ?
SPARC T3 (Rainbow Falls) Oracle / Sun 1650 V9 / UA _? _ 2010 16 × 8 = 128 0,040 [14] ???? 371 ? 139 ? 8 16 6144 -
Navn (kodenavn) Mal Frekvens (MHz) Arkitektur versjon År Trådnummer [1] Prosess (µm) Transistorer (millioner) Dyseareal (mm²) IO Pin Forbruk (W) Spenning (V) L1 Dcache (k) L1 Icache (k) L2 Cache (k) L3-buffer (k)

SPARC64

SPARC64 er en familie av prosessorer utviklet av Fujitsu og brukt i PRIMEPOWER - serverfamilien .

Merknader

  1. ^ a b Tråder per kjerne × antall kjerner
  2. ^ Flere SPARC V7-implementeringer ble produsert av Fujitsu, LSI Logic , Weitek, Texas Instruments og Cypress. En SPARC V7-prosessor består vanligvis av flere brikker som lager heltallsenheten (IU), flytepunktsenheten (FPU), minnestyringsenheten (MMU) og hurtigbufferminnet.
  3. ^ @ 167 MHz
  4. ^ @ 250 MHz
  5. ^ @ 400 MHz
  6. ^ @ 440 MHz
  7. ^ maks @ 500 MHz
  8. ^ @ 900 MHz
  9. ^ FX1 nøkkelfunksjoner og spesifikasjoner ( PDF ), fujitsu.com , Fujitsu, 19. februar 2008.
  10. ^ En tredjegenerasjons 65nm 16-kjerne 32-tråder pluss 32-scout-tråder CMT SPARC (R)-prosessor ( PDF ), opensparc.net , Sun Microsystems, 19. februar 2008.
  11. ^ Ashlee Vance, Sun Is Said to Cancel Big Chip Project , The New York Times, 15. juni 2009. Hentet 23. mai 2010 .
  12. ^ "Fujitsu viser frem SPARC64 VII". Arkivert 2. juni 2009 på Internet Archive . (28. august 2008). heise online .
  13. ^ Sylvie Barak, Fujitsu avduker verdens raskeste CPU , på theinquirer.net . Hentet 6. desember 2010 (arkivert fra originalen 17. mai 2009) .
  14. ^ http://www.oracle.com/us/products/servers-storage/servers/sparc-enterprise/t-series/sparc-t3-chip-ds-173097.pdf

Andre prosjekter

Eksterne lenker