SPARC

Sparc
Sparc-logo.svg
Designer Sun Microsystems (erworben von Oracle Corporation)[1][2]
Bits 64-Bit (32 → 64)
Eingeführt 1986; Vor 36 Jahren (Produktion)
1987; vor 35 Jahren (Sendungen)
Ausführung V9 (1993) / OSA2017
Entwurf RISC
Typ Register -Register
Codierung Fest
Verzweigung Bedingungscode
Endiangess Bi (Groß → bi)
Seitengröße 8 kb (4 kb → 8 kb)
Erweiterungen Vis 1,0, 2,0, 3.0, 4.0
Offen Ja, und lizenzfrei
Register
Allgemeiner Zweck 31 (G0 = 0; Nicht-Global-Register verwenden Registrieren Sie Windows)
Schwimmender Punkt 32 (nutzbar als 32 Einzelprezision, 32 Doppelprezision oder 16 Quad-Präzision)
A Sonne UltraSPARC II Mikroprozessor (1997)

Sparc (Skalierbare Prozessorarchitektur) ist ein Reduzierter Befehlssatz Computer (RISC) Anweisungsset Architektur Ursprünglich entwickelt von Sun Microsystems.[1][2] Sein Design wurde stark vom experimentellen Einfluss beeinflusst Berkeley Risc System entwickelt sich in den frühen 1980er Jahren. 1986 erstmals entwickelt und 1987 veröffentlicht,[3][2] SPARC war eines der erfolgreichsten frühen kommerziellen RISC -Systeme, und sein Erfolg führte zur Einführung ähnlicher RISC -Designs vieler Anbieter in den 1980er und 1990er Jahren.

Die erste Implementierung des Originals 32-Bit Architektur (SPARC V7) wurde bei Suns verwendet Sun-4 Computer Arbeitsplatz und Server Systeme, die ihre früheren ersetzen Sun-3 Systeme basierend auf dem Motorola 68000 Serie von Prozessoren. SPARC V8 fügte eine Reihe von Verbesserungen hinzu, die Teil der waren Supersparc Die 1992 veröffentlichte Reihe von Prozessoren veröffentlichte 1993 SPARC V9 64-Bit Architektur und wurde erstmals in Suns freigelassen Ultrassparc Prozessoren im Jahr 1995. Später wurden SPARC -Prozessoren verwendet in Symmetrische Multiprozessierung (SMP) und ungleichmäßiger Speicherzugriff (CC-Numa) Server von Sun, produziert, Solbourne, und Fujitsu, unter anderen.

Das Design wurde 1989 der Sparc International Trade Group übergeben und seitdem wurde ihre Architektur von ihren Mitgliedern entwickelt. SPARC International ist auch für die Lizenzierung und Förderung der SPARC -Architektur, der Verwaltung von Sparc -Marken (einschließlich SPARC, die sie besitzt) und bereitgestellt ist Konformitätstests. SPARC International sollte die SPARC -Architektur ausbauen, um ein größeres Ökosystem zu schaffen. SPARC wurde an mehrere Hersteller lizenziert, einschließlich Atmel, Bipolare integrierte Technologie, Cypress Semiconductor, Fujitsu, Matsushita und Texas Instrumente. Aufgrund von SPARC International ist SPARC vollständig offen, nicht proprietär und lizenzfrei.

Ab September 2017 sind die neuesten kommerziellen High-End-Sparc-Prozessoren Fujitsu's SPARC64 XII (eingeführt 2017 für seinen SPARC M12 -Server) und Orakel's Sparc M8 eingeführt im September 2017 für seine High-End-Server.

Am Freitag, dem 1. September 2017, nach einer Runde von Entlassungen, die im November 2016 in Oracle Labs begann, kündigte Oracle das SPARC -Design nach Abschluss des M8. Ein Großteil der Prozessorkernentwicklungsgruppe in Austin, Texas, wurde ebenso entlassen, ebenso wie die Teams in Santa Clara, Kalifornien, und Burlington, Massachusetts.[4][5]

Fujitsu wird auch ihre Sparc-Produktion einstellen (hat sich bereits nach zwei "verbesserten" Versionen von Fujitsus älterem SPARC M12-Server im Jahr 2020–22 (früher für 2021 geplant) und erneut 2026–27 nach zwei "verbesserten" Versionen von Fujitsus älterem SPARC M12-Server von Fujitsu und dem älteren SPARC M12-Server von Fujitsu verschoben) einstellen. Ende des Verkaufs im Jahr 2029, von UNIX-Servern und ein Jahr später für ihre Mainframe und am Ende des Supports im Jahr 2034 "zur Förderung der Kundenmodernisierung".[6]

Merkmale

Die SPARC -Architektur wurde stark von den früheren RISC -Entwürfen beeinflusst, einschließlich der RISC Ich und II von der Universität von Kalifornien, Berkeley und die IBM 801. Diese ursprünglichen RISC-Designs waren minimalistisch, einschließlich möglicher Funktionen oder Op-Codes wie möglich und zielten darauf ab, Anweisungen mit einer Rate von fast einer Anweisung pro Anweisung auszuführen Taktzyklus. Dies machte sie ähnlich wie die MIPS -Architektur In vielerlei Hinsicht, einschließlich des Mangels an Anweisungen wie multiplizieren oder dividieren. Ein weiteres Merkmal von SPARC, das von dieser frühen RISC -Bewegung beeinflusst wird, ist die Zweigverzögerungsschlitz.

Der SPARC -Prozessor enthält normalerweise bis zu 160 allgemeine Register. Laut der Spezifikation "Oracle Sparc Architecture 2015" kann eine "Implementierung von 72 bis 640 allgemeine 64-Bit" -Erregister enthalten sein.[7] Zu irgendeinem Zeitpunkt sind nur 32 von ihnen für Software sofort sichtbar - 8 sind eine Reihe globaler Register (eines von ihnen, von ihnen. G0, ist fest verdraht Stapel von Registern. Diese 24 Register bilden das, was genannt wird Registerfensterund bei Funktionsaufruf/Rückgabe wird dieses Fenster den Registerstapel nach oben und unten verschoben. Jedes Fenster verfügt über 8 lokale Register und teilt 8 Register mit jedem der angrenzenden Fenster. Die gemeinsam genutzten Register werden für die Übergabe von Funktionsparametern und Rückgabewerten verwendet, und die lokalen Register werden zum Aufbewahren lokaler Werte über Funktionsaufrufe hinweg verwendet.

Das "skalierbare" in SPARC ergibt sich aus der Tatsache, dass die SPARC-Spezifikation die Implementierung ermöglicht, von eingebetteten Prozessoren über große Serverprozessoren zu skalieren, wobei alle denselben Kernanweisungssatz (nicht privilegiert) teilen. Einer der architektonischen Parameter, die skaliert werden können, ist die Anzahl der implementierten Registerfenster. Die Spezifikation ermöglicht die Implementierung von drei bis 32 Windows Rufen Sie Stack an Effizienz oder um nur drei implementieren, um die Kosten und Komplexität des Designs zu senken oder um eine Reihe zwischen ihnen zu implementieren. Andere Architekturen, die ähnlich enthalten Datei registrieren Features sind Intel i960, IA-64, und AMD 29000.

Die Architektur hat mehrere Überarbeitungen durchlaufen. Es hat Hardware -Multiplizierungen gewonnen und die Funktionalität in Version 8 geteilt.[8][9] 64-Bit (Adressierung und Daten) wurden der SPARC -Spezifikation der Version 9 hinzugefügt, die 1994 veröffentlicht wurde.[10]

In SPARC Version 8 die Schwimmpunkt Die Registrierungsdatei hat 16 Doppelte Genauigkeit Register. Jeder von ihnen kann als zwei verwendet werden mit einfacher Genauigkeit Register, die insgesamt 32 Register für Einzelprezisionsregister bereitstellen. Ein ungerade Even-Zahlenpaar doppelter Präzisionsregister kann als verwendet werden Quad-Präzision Registrieren Sie sich und ermöglichen so 8 Quad-Precision-Register. SPARC Version 9 fügte 16 weitere doppelte Präzisionsregister hinzu (auf die auch 8 Quad-Precision-Register zugegriffen werden können), aber auf diese zusätzlichen Register können nicht als Einzelprezisionsregister zugegriffen werden. Keine SPARC-CPU implementiert Quad-Präzisionsvorgänge in Hardware ab 2004.[11]

Tagged Anweisungen hinzufügen und subtrahieren Anweisungen durchzuführen und subtrahieren Sie die Werte, die überprüfen, ob die beiden unteren Bits beider Operanden 0 sind, und den Überlauf über das Überlauf, wenn dies nicht der Fall ist. Dies kann bei der Implementierung der nützlich sein Laufzeit zum Ml, Lispelnund ähnliche Sprachen, die möglicherweise ein markiertes Ganzzahlformat verwenden.

Das Endiangess des 32-Bit SPARC V8 Architektur ist rein big-nendian. Die 64-Bit-SPARC V9-Architektur verwendet Big-Endian-Anweisungen, kann jedoch entweder in Big-Endian- oder Little-Endian-Byte-Byte-Reihenfolge auf Daten zugreifen, die entweder bei der Anwendungsanweisung ausgewählt wurden ((Load -Store) Level oder am memory page Ebene (über eine MMU -Einstellung). Letzteres wird häufig zum Zugriff auf Daten von inhärent Little-Endian-Geräten verwendet, z. B. von PCI-Bussen.

Geschichte

Es gab drei wichtige Überarbeitungen der Architektur. Die erste veröffentlichte Version war die 32-Bit SPARC Version 7 (V7) 1986. SPARC Version 8 (V8), eine verbesserte SPARC-Architekturdefinition, wurde 1990 veröffentlicht. -bisschen "Quad-Präzision"Arithmetic. SPARC V8 diente als Grundlage für IEEE Standard 1754-1994, An IEEE Standard für eine 32-Bit-Mikroprozessorarchitektur.

SPARC Version 9, Die 64-Bit-SPARC-Architektur wurde 1993 von SPARC International veröffentlicht. Sie wurde vom SPARC-Architekturkomitee entwickelt, das bestehend aus bestand aus Amdahl Corporation, Fujitsu, ICL, LSI -Logik, Matsushita, Philips, Ross -Technologie, Sun Microsystems, und Texas Instrumente. Neuere Spezifikationen bleiben immer mit der vollständigen Spezifikation von SPARC V9 Level 1 konform.

Im Jahr 2002 der Sparc Gemeinsame Programmierspezifikation 1 (JPS1) wurde von Fujitsu und Sun veröffentlicht und beschrieben Prozessorfunktionen, die im CPUs beider Unternehmen identisch implementiert wurden ("Gemeinsamkeit"). Der erste CPUs, der sich an JPS1 entsprach, waren die Ultrassparc III von Sun und die SPARC64 V von Fujitsu. Funktionen, die nicht von JPS1 abgedeckt werden, werden für jeden Prozessor in "Implementierungsergänzungsmitteln" dokumentiert.

Ende 2003 wurde JPS2 veröffentlicht, um Multicore -CPUs zu unterstützen. Der erste CPUs, der sich an JPS2 entsprach, war der Ultrassparc IV von Sun und der SPARC64 VI von Fujitsu.

Anfang 2006 veröffentlichte Sun eine erweiterte Architekturspezifikation, Ultrasparc Architecture 2005. Dies schließt nicht nur die nicht privilegierten und die meisten privilegierten Teile von SPARC V9 ein, sondern auch alle architektonischen Erweiterungen, die durch die Prozessorgenerationen von Ultrassparc III, IV IV+ sowie CMT-Erweiterungen beginnend mit dem entwickelt wurden Ultrassparc T1 Implementierung:

  • das Vis 1 und vis 2 Befehlssatzerweiterungen und das zugehörige GSR -Register
  • Mehrere Ebenen globaler Register, die vom GL -Register kontrolliert werden
  • Suns 64-Bit-MMU-Architektur
  • Privilegierte Anweisungen Allclean, Otherw, Normalw und Eggorew
  • Der Zugang zum Ver -Register ist jetzt hyperprivilegiert
  • Die SIR -Anweisung ist jetzt hyperprivilegiert

Im Jahr 2007 veröffentlichte Sun eine aktualisierte Spezifikation, Ultrasparc Architecture 2007, zu dem die Ultrassparc T2 Implementierung entsprach.

Im August 2012 stellte die Oracle Corporation eine neue Spezifikation zur Verfügung, Oracle Sparc Architecture 2011, die neben dem Gesamtaktualisierung der Referenz die VIS 3 -Befehlssatzerweiterungen hinzufügt und Hyperprivilegierter Modus zur Spezifikation von 2007.[12]

Im Oktober 2015 veröffentlichte Oracle SPARC M7, den ersten Prozessor, der auf dem neuen basiert Oracle Sparc Architecture 2015 Spezifikation.[7][13] Diese Revision umfasst VIS 4-Anweisungssatzerweiterungen und hardwareunterstützte Verschlüsselung und Siliziumgesicherter Speicher (SSM).[14]

Die SPARC -Architektur hat eine kontinuierliche Anwendung von Binärverträglichkeiten aus der ersten SPARC V7 -Implementierung im Jahr 1987 durch die Implementierungen von Sun Ultrasparc Architecture bereitgestellt.

Unter verschiedenen Implementierungen von SPARC waren Suns Supersparc und Ultrassparc-I sehr beliebt und wurden als Referenzsysteme für verwendet Spezifikation CPU95- und CPU2000 -Benchmarks. Der 296 MHz UltrasParc-II ist das Referenzsystem für die Spec CPU2006-Benchmark.

Die Architektur

SPARC ist a Architektur laden/store (auch bekannt als a Registerarchitektur); mit Ausnahme der Anweisungen laden/speichern Wird zum Zugriff verwendet ErinnerungAlle Anweisungen arbeiten nach den Registern gemäß den RISC -Designprinzipien.

Register

Die SPARC -Architektur verfügt über ein überlappendes Registerfensterschema. Zu jedem Zeitpunkt sind 32 Register für allgemeine Zwecke sichtbar. Ein aktuelles Fensterzeiger (CWP) Variable in den Hardwarepunkten auf den aktuellen Satz. Die Gesamtgröße der Registerdatei ist nicht Teil der Architektur und ermöglicht es, mehr Register hinzuzufügen, wenn sich die Technologie verbessert, bis zu maximal 32 Fenster in SPARC V7 und V8 als CWP ist 5 Bit und ist Teil der PSR registrieren.

In SPARC V7 und V8 CWP wird normalerweise durch die Speicherung der Speicherung (verwendet von der Speicheranweisung während des Verfahrensanrufs zum Öffnen eines neuen Stapelrahmens und des Schaltens des Registersfensters) oder durch die Wiederherstellungsanweisung (Wechsel zum Anruf zurück, bevor Sie aus der Prozedur zurückkehren). Trap -Ereignisse (Interrupts, Ausnahmen oder Fallenanweisungen) und Rettungsanweisungen (Rückkehr aus Fallen) ändern auch die CWP. Für SPARC V9 wird das CWP -Register während eines Wiederherstellungsanweises abgeschlossen und während eines Speicherns inkrementiert. Dies ist das Gegenteil von PSR.CWPs Verhalten in SPARC V8. Diese Änderung hat keinen Einfluss auf nicht privilegierte Anweisungen.

Fensteradressierung
Registergruppe Mnemonisch Registeradresse Verfügbarkeit
global G0-G7 R [0] -r [7] Immer die gleichen, G0 ist immer Null.
aus O0-O7 R [8] -R [15] Übergeben und von der genannten Unterroutine als "in" übergeben und zurückgegeben werden.
lokal L0-L7 R [16] -R [23] Wirklich lokal zur aktuellen Unterprogramme.
in I0-i7 R [24] -R [31] Vom Anrufer übergeben und als "Out" zum Anrufer zurückgekehrt.

SPARC -Register sind in der obigen Abbildung gezeigt.

Anweisungsformate

Alle Sparc -Anweisungen belegen ein volles 32 -Bit -Wort und beginnen mit einer Wortgrenze. Vier Formate werden verwendet, unterschieden durch die ersten beiden Bits. Alle arithmetischen und logischen Anweisungen haben 2 Quelloperanden und 1 Zieloperanden.

Das Sethi-Anweisungsformat kopiert sein 22-Bit-unmittelbarer Operand in die 22-Bit mit hoher Ordnung eines bestimmten Registers und legt jede der 10 Bit mit niedriger Ordnung auf 0 fest.

Formatalu Register, beide Quellen sind Register; formatal unmittelbar, eine Quelle ist ein Register und eine ist eine Konstante im Bereich von -4096 bis +4095. Bit 13 wählt zwischen ihnen aus. In beiden Fällen ist das Ziel immer ein Register.

Anweisungen zum Zweigformat steuern Übertragungen oder bedingte Zweige. Das ICC oder FCC Feld gibt die Art von Zweig an. Das 22 -Bit -Verschiebungsfeld gibt die relative Adresse des Ziels in Wörtern an, sodass bedingte Zweige bis zu 8 Megabyte vorwärts oder rückwärts gehen können. Das Annul (A) Bit wird verwendet, um einige Verzögerungsschlitze loszuwerden. Wenn es 0 in einem bedingten Zweig ist, wird der Verzögerungsschlitz wie gewohnt ausgeführt. Wenn es 1 ist, wird der Verzögerungsschlitz nur ausgeführt, wenn der Zweig genommen wird. Wenn es nicht aufgenommen wird, wird die Anweisung, die dem bedingten Zweig folgt, übersprungen.

Das ANRUF Der Befehl verwendet einen 30-Bit Programm zähler-Relatives Wortversatz. Dieser Wert reicht aus, um eine Anweisung innerhalb von 4 Gigabyte des Anrufers oder im gesamten Adressraum zu erreichen. Die Anrufanweisung legt die Absenderadresse im Register ein R15 Auch als Ausgaberegister bekannt O7.

Genau wie die arithmetischen Anweisungen verwendet die SPARC -Architektur zwei verschiedene Formate für Last- und Speicheranweisungen. Das erste Format wird für Anweisungen verwendet, die ein oder zwei Register als effektive Adresse verwenden. Das zweite Format wird für Anweisungen verwendet, die eine Ganzzahlkonstante als effektive Adresse verwenden.

SPARC -Anweisungsformate
Typ Bisschen
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 Sofortige Konstante 22 Bit
Ich Branchenformat 00 A ICC 010 Verschiebungskonstante 22 Bit
F Zweigformat 00 A FCC 110 Verschiebungskonstante 22 Bit
Call disp 01 PC-Relativverschiebung
Arithmetisches Register 10 Rd Opcode Rs 1 0 0 Rs 2
Arithmetische unmittelbare 10 Rd Opcode Rs 1 1 Sofortige Konstante 13 Bit
FPU 10 FD 110100/110101 Fs 1 OPF Fs 2
LD/ST Register 11 Rd Opcode Rs 1 0 0 Rs 2
LD/ST sofort 11 Rd Opcode Rs 1 1 Sofortige Konstante 13 Bit

Die meisten arithmetischen Anweisungen sind paarweise mit einer Version erhältlich, die die NZVC -Bedingungscode -Bits festlegt, und die andere nicht. Dies ist so, dass der Compiler eine Möglichkeit hat, Anweisungen zu verschieben, wenn Sie versuchen, Verzögerungsschlitze zu füllen.

SPARC V7 hat keine Multiplikations- oder Teilungsanweisungen, aber es hat Mulscc, das einen Schritt eines Multiplikationstests ein Bit durchführt und das Multiplikand dem Produkt bedingt hinzufügt. Dies lag daran, dass Mulscc über einen Taktzyklus im Einklang mit der RISC -Philosophie abgeschlossen werden kann.

SPARC Architekturlizenznehmer

Die folgenden Organisationen haben die SPARC -Architektur lizenziert:

Implementierungen

Name (Codename) Modell Frequenz (MHz) Bogen. Ausführung Jahr Gesamtfäden[Anmerkung 1] Prozess (NM) Transistoren (Millionen) Die Größe (mm2)) IO Pins Macht (w) Spannung (v) L1 DCache (KB) L1 Icache (KB) L2 Cache (KB) L3 Cache (KB)
SPARC MB86900 Fujitsu[1][3][2] 14.28–33 V7 1986 1 × 1 = 1 1300 0,11 256 0–128 (Unified) keiner keiner
Sparc Verschiedene[Anmerkung 2] 14.28–40 V7 1989–1992 1 × 1 = 1 800–1300 ~ 0,1–1,8 160–256 0–128 (Unified) keiner keiner
MN10501 (KAP) Solbourne ComputerAnwesend

Matsushita[15]

33-36 V8 1990-1991 1x1 = 1 - 1.0[16] - - - - 8 8 0–256 keiner
Mikrosparc Ich (Tsunami) Ti TMS390S10 40–50 V8 1992 1 × 1 = 1 800 0,8 225? 288 2.5 5 2 4 keiner keiner
Supersparc Ich (Viking) Ti TMX390Z50 / Sun STP1020 33–60 V8 1992 1 × 1 = 1 800 3.1 293 14.3 5 16 20 0–2048 keiner
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 keiner keiner
Hypersparc (Colorado 1) Ross RT620A 40–90 V8 1993 1 × 1 = 1 500 1.5 5? 0 8 128–256 keiner
Mikrosparc II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1 × 1 = 1 500 2.3 233 321 5 3.3 8 16 keiner keiner
Hypersparc (Colorado 2) Ross RT620B 90–125 V8 1994 1 × 1 = 1 400 1.5 3.3 0 8 128–256 keiner
Supersparc II (Voyager) Sun STP1021 75–90 V8 1994 1 × 1 = 1 800 3.1 299 16 16 20 1024–2048 keiner
Hypersparc (Colorado 3) Ross RT620C 125–166 V8 1995 1 × 1 = 1 350 1.5 3.3 0 8 512–1024 keiner
Turbosparc Fujitsu MB86907 160–180 V8 1996 1 × 1 = 1 350 3.0 132 416 7 3.5 16 16 512 keiner
Ultrassparc (Spitfire) Sun STP1030 143–167 V9 1995 1 × 1 = 1 470 3.8 315 521 30[Notiz 3] 3.3 16 16 512–1024 keiner
Ultrassparc (Hornissen) Sun STP1030 200 V9 1995 1 × 1 = 1 420 5.2 265 521 3.3 16 16 512–1024 keiner
Hypersparc (Colorado 4) Ross Rt620d 180–200 V8 1996 1 × 1 = 1 350 1.7 3.3 16 16 512 keiner
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 iis (Amsel) Sun STP1031 250–400 V9 1997 1 × 1 = 1 350 5.4 149 521 25[Anmerkung 4] 2.5 16 16 1024 oder 4096 keiner
Ultrassparc IIS (Saphir-Schwarz) Sun STP1032 / STP1034 360–480 V9 1999 1 × 1 = 1 250 5.4 126 521 21[Anmerkung 5] 1.9 16 16 1024–8192 keiner
Ultrasparc III (Säbel) Sun SME1040 270–360 V9 1997 1 × 1 = 1 350 5.4 156 587 21 1.9 16 16 256–2048 keiner
Ultrasparc III (Saphirrot) Sun Sme1430 333–480 V9 1998 1 × 1 = 1 250 5.4 587 21[Anmerkung 6] 1.9 16 16 2048 keiner
Ultrassparc iie (Kolibri) Sun Sme1701 400–500 V9 1999 1 × 1 = 1 180 Al 370 13[Anmerkung 7] 1,5–1.7 16 16 256 keiner
Ultrasparc III (Iie+) (Phantom) Sun Sme1532 550–650 V9 2000 1 × 1 = 1 180 cu 370 17.6 1.7 16 16 512 keiner
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 (Gepard) Sun SME1050 600 JPS1 2001 1 × 1 = 1 180 Al 29 330 1368 53 1.6 64 32 8192 keiner
Ultrasparc III (Cheetah) Sun Sme1052 750–900 JPS1 2001 1 × 1 = 1 130 Al 29 1368 1.6 64 32 8192 keiner
Ultrasparc III Cu (Cheetah+) Sun Sme1056 900–1200 JPS1 2001 1 × 1 = 1 130 cu 29 232 1368 50[Anmerkung 8] 1.6 64 32 8192 keiner
Ultrasparc IIII (Jalapeno) Sun Sme1603 1064–1593 JPS1 2003 1 × 1 = 1 130 87,5 206 959 52 1.3 64 32 1024 keiner
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 -
Ultrassparc IV (Jaguar) Sun Sme1167 1050–1350 JPS2 2004 1 × 2 = 2 130 66 356 1368 108 1.35 64 32 16384 keiner
Ultrassparc IV+ (Panther) Sun Sme1167a 1500–2100 JPS2 2005 1 × 2 = 2 90 295 336 1368 90 1.1 64 64 2048 32768
Ultrassparc T1 (Niagara) Sun Sme1905 1000–1400 UA2005 2005 4 × 8 = 32 90 300 340 1933 72 1.3 8 16 3072 keiner
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 keiner
Ultrassparc T2 (Niagara 2) Sun Sme1908a 1000–1600 UA2007 2007 8 × 8 = 64 65 503 342 1831 95 1.1–1.5 8 16 4096 keiner
Ultrassparc T2 Plus (Victoria Falls) Sun Sme1910a 1200–1600 UA2007 2008 8 × 8 = 64 65 503 342 1831 8 16 4096 keiner
SPARC64 VII (Jupiter)[17] Fujitsu 2400–2880 JPS2 2008 2 × 4 = 8 65 600 445 150 64 × 4 64 × 4 6144 keiner
Ultrassparc "rk" (Felsen)[18] Sun Sme1832 2300 ???? abgesagt[19] 2 × 16 = 32 65 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIFX (Venus)[20][21] Fujitsu 2000 JPS2 / HPC-ACE 2009 1 × 8 = 8 45 760 513 1271 58 ? 32 × 8 32 × 8 6144 keiner
Leon2ft Atmel at697f 100 V8 2009 1 × 1 = 1 180 196 1 1.8/3.3 16 32 - | Keine
Sparc T3 (Regenbogen Falls) Orakel/Sonne 1650 UA2007 2010 8 × 16 = 128 40[22] ???? 371 ? 139 ? 8 16 6144 keiner
Galaxy FT-1500 NUDT (China) 1800 UA2007? 201? 8 × 16 = 128 40 ???? ??? ? 65 ? 16 × 16 16 × 16 512 × 16 4096
SPARC64 VII+ (Jupiter-e oder M3)[23][24] Fujitsu 2667–3000 JPS2 2010 2 × 4 = 8 65 160 64 × 4 64 × 4 12288 keiner
Leon3ft Cobham Gaisler GR712RC 100 V8e 2011 1 × 2 = 2 180 1.5[Anmerkung 9] 1.8/3.3 4x4KB 4x4KB keiner keiner
R1000 MCST (Russland) 1000 JPS2 2011 1 × 4 = 4 90 180 128 15 1, 1,8, 2,5 32 16 2048 keiner
Sparc T4 (Yosemite Falls)[25] Orakel 2850–3000 OSA2011 2011 8 × 8 = 64 40 855 403 ? 240 ? 16 × 8 16 × 8 128 × 8 4096
SPARC64 IXFX[26][27][28] Fujitsu 1850 JPS2 / HPC-ACE 2012 1x16 = 16 40 1870 484 1442 110 ? 32 × 16 32 × 16 12288 keiner
SPARC64 x (Athena)[29] Fujitsu 2800 OSA2011 / HPC-ACE 2012 2 × 16 = 32 28 2950 587.5 1500 270 ? 64 × 16 64 × 16 24576 keiner
Sparc T5 Orakel 3600 OSA2011 2013 8 × 16 = 128 28 1500 478 ? ? ? 16 × 16 16 × 16 128 × 16 8192
Sparc M5[30] Orakel 3600 OSA2011 2013 8 × 6 = 48 28 3900 511 ? ? ? 16 × 6 16 × 6 128 × 6 49152
Sparc M6[31] Orakel 3600 OSA2011 2013 8 × 12 = 96 28 4270 643 ? ? ? 16 × 12 16 × 12 128 × 12 49152
SPARC64 X+ (Athena+)[32] Fujitsu 3200–3700 OSA2011 / HPC-ACE 2014 2 × 16 = 32 28 2990 600 1500 392 ? 64 × 16 64 × 16 24m keiner
SPARC64 XIFX[33] Fujitsu 2200 JPS2 / HPC-ACE2 2014 1 × (32+2) = 34 20 3750 ? 1001 ? ? 64 × 34 64 × 34 12m × 2 keiner
Sparc M7[34][35] Orakel 4133 OSA2015 2015 8 × 32 = 256 20 > 10.000 ? ? ? ? 16 × 32 16 × 32 256 × 24 65536
Sparc S7[36][37] Orakel 4270 OSA2015 2016 8 × 8 = 64 20 ???? ? ? ? ? 16 × 8 16 × 8 256 × 2+256 × 4 16384
SPARC64 XII[38] Fujitsu 4250 OSA201? / HPC-Ace 2017 8 × 12 = 96 20 5500 795 1860 ? ? 64 × 12 64 × 12 512 × 12 32768
Sparc M8[39][40] Orakel 5000 OSA2017 2017 8 × 32 = 256 20 ? ? ? ? ? 32 × 32 16 × 32 128 × 32+256 × 8 65536
Leon4 Cobham Gaisler GR740 250[Anmerkung 10] V8e 2017 1 × 4 = 4 32 1,2/2,5/3.3 4x4 4x4 2048 keiner
R2000 MCST (Russland) 2000 ? 2018 1 × 8 = 8 28 500 ? ? ? ? ? ? keiner
Leon5 Cobham Gaisler V8e 2019 ? ? ? ? 16–8192 keiner
Name (Codename) Modell Frequenz (MHz) Bogen. Ausführung Jahr Gesamtfäden[Anmerkung 1] Prozess (NM) Transistoren (Millionen) Die Größe (mm2)) IO Pins Macht (w) Spannung (v) L1 DCache (KB) L1 Icache (KB) L2 Cache (KB) L3 Cache (KB)

Anmerkungen:

  1. ^ a b Themen pro Kernzahl × Anzahl der Kerne
  2. ^ Verschiedene SPARC V7 -Implementierungen wurden von Fujitsu, erstellt, LSI -Logik, Weitek, Texas Instrumente, Cypress und Temic. Ein SPARC V7 -Prozessor bestand im Allgemeinen aus mehreren diskreten Chips, die normalerweise eine Ganzzahleinheit (IU) umfassen, a schwimmende Punkteinheit (FPU), a Speicherverwaltungseinheit (MMU) und Cache -Speicher. Umgekehrt ist der Atmel (jetzt Microchip-Technologie) TSC695 eine SPARC-V7-Implementierung von Einzelchips.
  3. ^ @167 MHz
  4. ^ @250 MHz
  5. ^ @400 MHz
  6. ^ @440 MHz
  7. ^ Max. @500 MHz
  8. ^ @1200 MHz
  9. ^ ohne I/O -Busse
  10. ^ nominal; Spezifikation von 100 bis 424 MHz je nach angeschlossenen RAM -Funktionen

Betriebssystemunterstützung

SPARC -Maschinen haben im Allgemeinen die Sonne verwendet Sonnenos, Solaris, oder OpenSolaris einschließlich Derivate Illumos und Openindiana, aber andere Betriebssysteme wurden auch verwendet, wie z. Nächster Schritt, Rtems, Freebsd, OpenBSD, Netbsd, und Linux.

1993, Intergraph Ankündigte einen Hafen von Windows NT zur SPARC -Architektur,[41] Aber es wurde später abgesagt.

Im Oktober 2015 kündigte Oracle eine "Linux für SPARC Reference Platform" an.[42]

Open Source -Implementierungen

Mehrere voll Open Source Implementierungen der SPARC -Architektur existieren:

  • LEON, ein 32-Bit Strahlentolerant, SPARC V8 -Implementierung, speziell für den Platz für die räumliche Nutzung entwickelt. Quellcode ist geschrieben VHDL, und lizenziert unter dem Gpl.
  • Opensparc T1, veröffentlicht im Jahr 2006, eine 64-Bit-Implementierung mit 32 Thread, die der Ultrassparc Architecture 2005 entspricht, und der SPARC Version 9 (Stufe 1). Der Quellcode ist in geschrieben Verilogund unter vielen Lizenzen lizenziert. Die meisten Opensparc -T1 -Quellcode sind unter der GPL lizenziert. Quelle basierend auf existierenden Open -Source -Projekten wird weiterhin unter ihren aktuellen Lizenzen lizenziert. Binärprogramme sind unter einem Binärer lizenziert Softwarelizenzvertrag.
  • S1, ein 64-Bit-Wishbone-konformes CPU-Kern basierend auf dem Opensparc T1-Design. Es ist ein einzelner Ultrassparc V9-Kern, der mit 4-Wege SMT in der Lage ist. Wie der T1 ist der Quellcode unter der GPL lizenziert.
  • Opensparc T2, veröffentlicht im Jahr 2008 eine 64-Bit-Implementierung mit 64 Thread, die der Ultrassparc Architecture 2007 entspricht, und der SPARC Version 9 (Stufe 1). Der Quellcode ist in Verilog geschrieben und unter vielen Lizenzen lizenziert. Die meisten Opensparc -T2 -Quellcode sind unter der GPL lizenziert. Quelle basierend auf bestehenden Open -Source -Projekten wird weiterhin im Rahmen ihrer aktuellen Lizenzen lizenziert. Binärprogramme sind im Rahmen einer binären Softwarelizenzvereinbarung lizenziert.

A voll Open Source Simulator für die SPARC -Architektur existiert auch:

  • Rampengold, eine 32-Bit-SPARC-Implementierung mit 64 Thread, die für die FPGA-basierte Architektursimulation ausgelegt ist. Rampgold ist in ~ 36.000 Zeilen von geschrieben Systemverilog, und lizenziert unter dem BSD -Lizenzen.

Supercomputer

Für HPC lädt Fujitsu spezialisiert SPARC64 FX Prozessoren mit einem neuen Anweisungsweiterungen, der als HPC-ACE (High Performance Computing-Arithmetic Computational Extensions) bezeichnet wird.

Fujitsu K Computer Rangnummer 1 in der Top500 Juni 2011 und November 2011 Listen. Es kombiniert 88.128 SPARC64 Viiifx CPUs mit jeweils acht Kernen für insgesamt 705.024 Kerne - fast doppelt so viele wie jedes andere System in der Top500 zu dieser Zeit. Der K-Computer war leistungsfähiger als die nächsten fünf Systeme auf der Liste zusammen und hatte das höchste Verhältnis von Leistung zu Strom eines jeden Supercomputersystems.[43] Es rangierte auch Nr. 6 in der Green500 Juni 2011 Liste mit einer Punktzahl von 824,56 mflops/w.[44] In der Veröffentlichung von November 2012 von Top500, Der K -Computer belegte die Nr. 3 mit weitem die größte Leistung der Top Drei.[45] Es rangierte Nr. 85 für die entsprechenden Green500 Veröffentlichung.[46] Neuere HPC -Prozessoren, Ixfx und Xifx, wurden in die jüngsten enthalten PrimeHPC FX10 und FX100 Supercomputer.

Tianhe-2 (Top500 Nr. 1 im November 2014[47]) hat eine Reihe von Knoten mit Galaxy FT-1500 Opensparc-basierte Prozessoren, die in China entwickelt wurden. Diese Prozessoren haben jedoch nicht zur Linpack Punktzahl.[48][49]

Siehe auch

  • ERC32- Basierend auf der Spezifikation von SPARC V7
  • Ross Technology, Inc.- Ein SPARC -Mikroprozessorentwickler in den 1980er und 1990er Jahren
  • Sparcle- Ein modifizierter SPARC mit Multiprozessing -Unterstützung, das vom MIT Alewife -Projekt verwendet wird
  • LEON- Ein Space bewertet SPARC V8 -Prozessor.
  • R1000-Ein russischer Quad-Core-Mikroprozessor basierend auf der Spezifikation von SPARC V9
  • Galaxy FT-1500-Ein chinesischer 16-Kern-Opensparc-basierter Prozessor

Verweise

  1. ^ a b c "Fujitsu, um den Arm in das Reich von Super zu nehmen". Das CPU Shack Museum. 21. Juni 2016. Archiviert Aus dem Original am 30. Juni 2019. Abgerufen 30. Juni, 2019.
  2. ^ a b c d "Zeitleiste". Sparc International. Archiviert Aus dem Original am 24. April 2019. Abgerufen 30. Juni, 2019.
  3. ^ a b "Fujitsu Sparc". cpu-collection.de. Archiviert Aus dem Original am 6. August 2016. Abgerufen 30. Juni, 2019.
  4. ^ Vaughan-Nichols, Steven J. (5. September 2017). "Sun Set: Oracle schließt die Produktlinien der letzten Sonne". ZDNET. Archiviert Aus dem Original am 10. September 2017. Abgerufen 11. September, 2017.
  5. ^ Nichols, Shaun (31. August 2017). "Oracle beschließt schließlich, das Unvermeidliche nicht mehr zu verlängern, beginnt Hardware -Entlassungen.". Das Register. Archiviert Aus dem Original am 12. September 2017. Abgerufen 11. September, 2017.
  6. ^ "Roadmap: Fujitsu Global". www.fujitsu.com. Abgerufen 15. Februar, 2022.
  7. ^ a b "Oracle Sparc Architecture 2015: Eine Architektur ... mehrere innovative Implementierungen" (PDF). Entwurf d1.0.0. 12. Januar 2016. Archiviert (PDF) Aus dem Original am 24. April 2016. Abgerufen 13. Juni, 2016. Impl. Dep. #2-V8: Eine Implementierung von Oracle Sparc Architecture kann von 72 bis 640 allgemeine 64-Bit-R-Register enthalten. Dies entspricht einer Gruppierung der Register in MaxPGL + 1 -Sätze globaler R -Register sowie einem kreisförmigen Stapel von N_reg_Windows Sets von jeweils 16 Registern, die als Register -Windows bezeichnet werden. Die Anzahl der vorhandenen Registerfenster (n_reg_windows) ist implementierungsabhängig im Bereich von 3 bis 32 (inklusive).
  8. ^ "Sparc -Optionen", Verwenden der GNU Compiler Collection (GCC), GNU, archiviert Aus dem Original am 9. Januar 2013, abgerufen 8. Januar, 2013
  9. ^ Sparc -Optimierungen mit GCC, Osnews, 23. Februar 2004, archiviert Aus dem Original am 23. Mai 2013, abgerufen 8. Januar, 2013
  10. ^ Weaver, D. L.; Germond, T., Hrsg. (1994), "Das SPARC Architecture Manual, Version 9", Sparc International, Inc., Prentice Hall, ISBN 0-13-825001-4, archiviert (PDF) Aus dem Original am 18. Januar 2012, abgerufen 6. Dezember, 2011
  11. ^ "SPARC -Verhalten und Implementierung". Numerischer Berechnungshandbuch - Sun Studio 10. Sun Microsystems, Inc. 2004. Archiviert Aus dem Original am 25. Januar 2022. Abgerufen 24. September, 2011. Es gibt jedoch vier Situationen, wenn die Hardware eine Gleitkommaanweisung nicht erfolgreich abschließt: ... Die Anweisung wird nicht von der Hardware implementiert (z. B. ... Quad-Precision-Anweisungen für eine SPARC-FPU).
  12. ^ "Oracle Sparc Architecture 2011" (PDF), Oracle Corporation, 21. Mai 2014, archiviert (PDF) Aus dem Original am 24. September 2015, abgerufen 25. November, 2015
  13. ^ Soat, John. "SPARC M7 Innovation". Oracle -Website. Oracle Corporation. Archiviert Aus dem Original am 5. September 2015. Abgerufen 13. Oktober, 2015.
  14. ^ "Software in Silicon Cloud - Oracle". www.oracle.com. Archiviert Aus dem Original am 21. Januar 2019. Abgerufen 21. Januar, 2019.
  15. ^ "Floodgap -Retrobits präsentiert den Solbourne -Trost: einen Schrein für den vergessenen Sparc". www.floodgap.com. Archiviert vom Original am 1. Dezember 2020. Abgerufen 14. Januar, 2020.
  16. ^ Sager, D.; Hinton, G.; Upton, M.; Chappell, T.; Fletcher, T.D.; Samaan, S.; Murray, R. (2001). "A 0,18 μm CMOS IA32 -Mikroprozessor mit einer 4 -GHz -Integer -Ausführungseinheit". 2001 IEEE International Solid-State Circuits Conference. Digest von technischen Papieren. ISSCC (Kat. Nr. 01CH37177). San Francisco, CA, USA: IEEE: 324–325. doi:10.1109/ISSCC.2001.912658. ISBN 978-0-7803-6608-4.
  17. ^ FX1 Schlüsselfunktionen und Spezifikationen (PDF), Fujitsu, 19. Februar 2008, archiviert (PDF) Aus dem Original am 18. Januar 2012, abgerufen 6. Dezember, 2011
  18. ^ Tremblay, Marc; Chaudhry, Shailender (19. Februar 2008), "Ein 65 nm 16-Core-32-Thread-Thread-Thread-Thread-Thread-Thread-Thread-CMT SPARC (R) -Prozessor" (PDF), Opensparc, Sun Microsystems, archiviert Aus dem Original am 16. Januar 2013, abgerufen 6. Dezember, 2011
  19. ^ Vance, Ashlee (15. Juni 2009), "Sun soll das große Chipprojekt absagen", Die New York Times, archiviert Aus dem Original am 4. November 2011, abgerufen 23. Mai, 2010
  20. ^ "Fujitsu zeigt SPARC64 VII", Heise online, 28. August 2008, archiviert Aus dem Original am 23. Mai 2013, abgerufen 6. Dezember, 2011
  21. ^ Barak, Sylvie (14. Mai 2009), "Fujitsu enthüllt die schnellste CPU der Welt", Der Anfragen, archiviert vom Original am 17. Mai 2009, abgerufen 6. Dezember, 2011{{}}: CS1 Wartung: Ungeeignete URL (Link)
  22. ^ "SPARC T3 -Prozessor" (PDF), Oracle Corporation, archiviert (PDF) Aus dem Original am 24. April 2016, abgerufen 6. Dezember, 2011
  23. ^ Morgan, Timothy Prickett (3. Dezember 2010), "Ellison: Sparc T4 im nächsten Jahr fällig", Das Register, archiviert Aus dem Original am 7. März 2012, abgerufen 6. Dezember, 2011
  24. ^ "Sparc Enterprise M-Serie Server Architektur" (PDF), Fujitsu, April 2011, archiviert (PDF) Aus dem Original am 4. März 2016, abgerufen 5. November, 2011
  25. ^ Morgan, Timothy Prickett (22. August 2011), "Orakels Sparc T4 -Chip", Das Register, archiviert Aus dem Original am 30. November 2011, abgerufen 6. Dezember, 2011
  26. ^ Morgan, Timothy Prickett (21. November 2011), "Fujitsu Paraden 16-Core SPARC64 Super Stunner", Das Register, archiviert Aus dem Original am 24. November 2011, abgerufen 8. Dezember, 2011
  27. ^ "Fujitsu startet PrimeHPC FX10 Supercomputer", Fujitsu, 7. November 2011, archiviert Aus dem Original am 18. Januar 2012, abgerufen 3. Februar, 2012
  28. ^ "Ixfx download" (PDF). fujitsu.com. Archiviert (PDF) Aus dem Original am 18. Mai 2015. Abgerufen 17. Mai, 2015.
  29. ^ "Bilder von SPARC64" (PDF). fujitsu.com. Archiviert (PDF) vom Original am 22. April 2016. Abgerufen 29. August, 2017.
  30. ^ "Orakelprodukte" (PDF). Oracle.com. Archiviert (PDF) Aus dem Original am 8. März 2017. Abgerufen 29. August, 2017.
  31. ^ "Oracle Sparc -Produkte" (PDF). Oracle.com. Archiviert (PDF) Aus dem Original am 26. September 2018. Abgerufen 29. August, 2017.
  32. ^ "Fujitsu Präsentation PDF" (PDF). fujitsu.com. Archiviert (PDF) vom Original am 22. April 2016. Abgerufen 29. August, 2017.
  33. ^ "Fujitsu Globale Bilder" (PDF). fujitsu.com. Archiviert von das Original (PDF) am 18. Mai 2015. Abgerufen 29. August, 2017.
  34. ^ "M7: Sparc. Hotchips 26" (PDF). swisdev.oracle.com. Archiviert (PDF) Aus dem Original am 31. Oktober 2014. Abgerufen 12. August, 2014.
  35. ^ "Oracle's SPARC T7 und SPARC M7 Serverarchitektur" (PDF). Oracle.com. Archiviert (PDF) vom Original am 6. November 2015. Abgerufen 10. Oktober, 2015.
  36. ^ Vinaik, Basant; Puri, Rahoul (24. August 2015). "Hot Chips-23. bis 25. August 2015-Conf. Day1-Sonoma-Prozessor von Oracle: Advanced Billig-Cost-Sparc-Prozessor für Unternehmensarbeitslasten" (PDF). hotchips.org. Abgerufen 25. Januar, 2022.
  37. ^ "Blaupausen enthüllt: Oracle Crams Sparc M7 und Infiniband in billiger 'Sonoma' Chips". dadurch.co.uk. Archiviert vom Original am 29. August 2017. Abgerufen 29. August, 2017.
  38. ^ "Dokumente bei Fujitsu" (PDF). fujitsu.com. Archiviert (PDF) vom Original am 29. August 2017. Abgerufen 29. August, 2017.
  39. ^ "Die neuen SPARC-Systeme von Oracle bieten 2-7x bessere Leistung, Sicherheitsfunktionen und Effizienz als Intel-basierte Systeme". Oracle.com. Archiviert Aus dem Original am 18. September 2017. Abgerufen 18. September, 2017.
  40. ^ "SPARC M8 -Prozessor" (PDF). Oracle.com. Archiviert (PDF) Aus dem Original am 28. Februar 2019. Abgerufen 18. September, 2017.
  41. ^ McLaughlin, John (7. Juli 1993), "Intergraph für Port Windows NT zu Sparc", Die Florida Sonnenflash, 55 (11), archiviert Aus dem Original am 23. Juli 2014, abgerufen 6. Dezember, 2011
  42. ^ Projekt: Linux für SPARC - oss.oracle.com, 12. Oktober 2015, archiviert Aus dem Original am 8. Dezember 2015, abgerufen 4. Dezember, 2015
  43. ^ "Top500-Liste (1-100)", Top500, Juni 2011, archiviert Aus dem Original am 23. Juni 2011, abgerufen 6. Dezember, 2011
  44. ^ "Die Green500 -Liste", Green500, Juni 2011, archiviert von das Original am 3. Juli 2011
  45. ^ "Top500 -Liste - November 2012 | Top500 Supercomputer -Websites", Top500, November 2012, archiviert von das Original am 13. November 2012, abgerufen 8. Januar, 2013
  46. ^ "The Green500 List - November 2012 | The Green500", Green500, November 2012, archiviert Aus dem Original am 6. Juni 2016, abgerufen 8. Januar, 2013
  47. ^ "Tianhe-2 (Milkyway-2)", Top500, Mai 2015, archiviert Aus dem Original am 26. Mai 2015, abgerufen 27. Mai, 2015
  48. ^ Keane, Andy, "Tesla Supercomputing" (MP4), Nvidia, archiviert vom Original am 25. Februar 2021, abgerufen 6. Dezember, 2011
  49. ^ Thibodeau, Patrick (4. November 2010), USA sagt, dass China "völlig indigener" Supercomputer "völlig indigener" Gebäude gebaut hat, Computerwelt, archiviert Aus dem Original am 11. Oktober 2012, abgerufen 28. August, 2017

Externe Links