Oracle SPARC
Die SPARC-Architektur (Scalable Processor ARChitecture) ist eine Mikroprozessorarchitektur, die hauptsächlich in Produkten von Oracle Verwendung finden. Daneben gibt es noch andere Hersteller, wie zum Beispiel Fujitsu Technology Solutions (ehemals Fujitsu Siemens Computers).
Inhaltsverzeichnis |
Geschichte [Bearbeiten]
Sun Microsystems entwickelte ab 1985 und vermarktete ab 1987 die ersten Generationen von SPARC-Prozessoren. 1989 wurde die nicht gewinnorientierte Organisation SPARC International gegründet, als Anlaufstelle für die Weiterentwicklung der offenen SPARC-Architektur.
Sun war zum Zeitpunkt der Entwicklung bereits der zweitgrößte Hersteller von Workstations mit dem Betriebssystem Unix (Marktanteile 1985: Apollo Computer 41 %, Sun 21 %). Mit dem SPARC-Prozessor wollte das Unternehmen, wie damals viele Hersteller von Workstations, eine RISC-Prozessorarchitektur schaffen, die die Motorola 68020- sowie die i386-Roadrunner-Prozessoren ablösen und für viele Jahre konkurrenzfähig bleiben sollte. Die Prozessoren wurden von anderen Herstellern wie Texas Instruments oder Fujitsu gefertigt.
Sun brachte mit seiner Sun-4-Baureihe viele Workstations und Server, die den SPARC-Prozessor verwendeten, heraus. Aber auch Fujitsu baute bis in das Jahr 2005 noch SPARC-Prozessoren in ihre PrimePower-Systeme ein. Außer SunOS bzw. Solaris können auf SPARC-Systemen auch Linux oder die modernen BSD-Varianten eingesetzt werden. 1995 wurde die ursprüngliche 32-Bit-Architektur auf 64-Bit erweitert und unter dem Namen UltraSparc vermarktet. Diese Architektur hat neben zusätzlichen Einheiten eine tiefere Pipeline und einige einfache SIMD-Befehle (Visual Instruction Set (VIS)). Der Ultrasparc-Standard hat bisher vier Hauptversionen, die derzeit aktuelle Version ist UltraSparc T2.
Herausragende Eigenschaft der Architektur ist ein Registersatz (register file), der ursprünglich aus 128 32-Bit-Registern bestand. Die CPU kann nur auf einen Teil davon, normalerweise 32, direkt zugreifen. 24 davon sieht die CPU in einem Fenster, das per Software verschoben werden kann (→ Registerfenster). Dadurch können Argumente und Ergebnisse von Unterprogrammen ohne Umkopieren von Registern durch Verschieben des Fensters übergeben werden.
Die Gleitkommaeinheit kann als 32-faches 32-Bit-Register mit einfacher Genauigkeit, 16-faches 64-Bit-Register mit doppelter Genauigkeit oder 8-faches 128-Bit-Register mit vierfacher Genauigkeit verwendet werden.
Die aktuellen Versionen sind 32-Bit V8 und 64-Bit V9. Die SPARC V8 ist vollständig Big Endian. Die SPARC V9 benutzt Instruktionen im Big-Endian-Format, unterstützt jedoch beide Byte-Reihenfolgen für Datenwerte. Dies kann sowohl auf Instruktionsebene durch Verwendung spezieller Befehle als auch für ganze Speicherbereiche mittels einer MMU-Einstellung umgeschaltet werden. Letzteres wird insbesondere dann verwendet, wenn auf Speicherbereiche von Geräten zugegriffen werden muss, wie zum Beispiel den als Little Endian festgelegten PCI-Bus.
Eine einfache Version eines SPARC-Prozessors namens LEON-1 in der Hardware-Beschreibungssprache VHDL ist von der ESA frei erhältlich. Sowohl das Design des UltraSPARC T1, als auch das des UltraSPARC T2, wurden 2006 bzw. 2007 unter der Open-Source-Lizenz GPL über das Projekt OpenSPARC veröffentlicht[1] und können dort heruntergeladen werden.[2] Auch das Design der Sun Microsparc ist seit Mitte 1990 im Quellcode veröffentlicht und frei nutzbar.
Es gibt auch eine Reihe Microcontrollerimplementierungen (zum Beispiel von Hitachi), die jedoch teilweise einen komprimierten Maschinencode besitzen und deshalb nicht binärkompatibel sind.
Seit der Übernahme von SUN Microsystems durch Oracle gehört mittlerweile der SPARC zu Oracle.
Modelle [Bearbeiten]
Verschiedene Implementierungen der SPARC-Architektur, unter anderem Suns erfolgreicher SuperSPARC und UltraSPARC-I.
| Sun SPARC-Mikroprozessor-Spezifikation | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Modell | Frequenz [MHz] |
Architektur Version |
Jahr | Prozess [µm] |
Transistoren [Millionen] |
Kern- abmessung [mm²] |
IO Pins | Aufnahme [W] |
Spannung [V] |
L1 Dcache [k] |
L1 Icache [k] |
L2 Cache [k] |
L3 Cache [k] |
| SPARC | 14,28–40 | V7 | 1987–1992 | 0,8–1,3 | ~0,1–1,8 | — | 160–256 | — | — | 0–128 | kein | kein | |
| microSPARC I | 50 | V8 | 1992 | 0,8 | 0,8 | 225 | 288 | 2,5 | 5 | 4 | 2 | kein | kein |
| SuperSPARC I | 33–65 | V8 | 1992 | 0,8 | 3,1 | 256 | 293 | 14,3 | 5 | 16 | 20 | 1024 | kein |
| microSPARC II | 60–125 | V8 | 1992 | 0,5 | 2,3 | 233 | 321 | 5 | 3,3 | 8 | 16 | kein | kein |
| SuperSPARC II | 75–90 | V8 | 1994 | 0,8 | 3,1 | 299 | — | 16 | — | 16 | 20 | 2048 | kein |
| TurboSPARC | 170–180 | V8 | 1995 | 0,35 | — | — | — | 7 | — | 16 | 16 | 1024 | kein |
| UltraSPARC I | 140–200 | V9 | 1995 | 0,5 | 5,2 | 315 | 521 | 30 | 3,3 | 16 | 16 | 1024 | kein |
| UltraSPARC II | 250–480 | V9 | 1997 | 0,25 | 5,4 | 156 | 521 | 21 | 3,3 | 16 | 16 | 8192 | kein |
| UltraSPARC IIi | 270–650 | V9 | 1998 | 0,25 | 5,75 | 148 | 370 | 17,6 | 1,7 | 16 | 16 | 2048 | kein |
| UltraSPARC IIe | 400–500 | V9 | 2000 | 0,18 | 5,4 | — | 370 | 13 | 1,7 | 16 | 16 | 256 | kein |
| UltraSPARC III | 600–1200 | V9 | 2001 | 0,13 | 29 | 330 | 1368 | 53 | 1,6 | 64 | 32 | 8192 | kein |
| UltraSPARC IIIi | 1064–1600 | V9 | 2003 | 0,13 | 87,5 | 206 | 959 | 52 | 1,3 | 64 | 32 | 1024 | kein |
| UltraSPARC IV | 1050–1350 | V9 | 2004 | 0,13 | 66 | 356 | 1368 | 108 | 1,35 | 64 | 32 | 16384 | kein |
| UltraSPARC IV+ | 1500–2100 | V9 | 2005 | 0,09 | 295 | 336 | 1368 | 90 | 1,1 | 64 | 64 | 2048 | 32768 |
| UltraSPARC T1 | 1000–1400 | V9 | 2005 | 0,09 | 279 | 379 | 1934 | 79 | 1,3 | 8 | 16 | 3072 | kein |
| UltraSPARC T2 | 900–1400 | V9 | 2007 | 0,065 | 503 | 342 | 1831 | 95 | 1,2 | 8 | 16 | 4096 | kein |
| Ross/Bridgepoint SPARC-Mikroprozessor-Spezifikation | |||||||||||||
| HyperSPARC A | 55–80 | V8 | 1993 | 0,5 | 1,5 | — | — | — | 5 | kein | 8 | 256 | kein |
| HyperSPARC B | 90–125 | V8 | 1995 | 0,4 | 1,5 | — | — | 25 | 5 | kein | 8 | 256 | kein |
| HyperSPARC C | 110–166 | V8 | 1995 | 0,35 | 1,5 | — | — | 45,5 | 5 | kein | 8 | 1024 | kein |
| HyperSPARC D | 180–200 | V8 | 1995 | 0,35 | 1,7 | — | — | — | 5 | 16 | 16 | 1024 | kein |
| Sun/Fujitsu SPARC64-Prozessoren | |||||||||||||
| SPARC64 V | 1350–2160 | V9 | 2004 | 0,13 | 191 | 290 | 269 | 40 | 1,2 | 128 | 128 | 2048 | kein |
| SPARC64 VI | 2150–2400 | V9 | 2007 | 0,09 | 540 | 422 | — | 120 | — | 128 | 128 | 6144 | kein |
| SPARC64 VII | 2700 | V9 | 2008 | 0,065 | 600 | 445 | — | 135 | — | 64 | 64 | 6144 | kein |
| SPARC64 VIII | 2000 | V9 | 2009 | 0,045 | 760 | 513 | — | 58 | — | 32 | 32 | 4096 | kein |
| SPARC64 X[3] | 3000 | V9 | 2013 | - | - | - | — | - | — | - | 32 | - | 24576 |
Siehe auch [Bearbeiten]
Einzelnachweise [Bearbeiten]
- ↑ "OpenSPARC T2: Sun stellt UltraSPARC T2 unter die GPL ". Golem.de, 12. Dezember 2007, abgerufen am 23. Januar 2010.
- ↑ http://www.opensparc.net/. Sun Microsystems. Abgerufen am 12. Juli 2009.
- ↑ Fujitsu launches 'Athena' Sparc64-X servers in Japan. the register. Abgerufen am 27. Februar 2013.
Weblinks [Bearbeiten]
- LEON-2 und LEON-3 SPARC VHDL-Modelle (unter LGPL-Lizenz)
- SPARC-Prozessoren: Bilder und Beschreibungen auf cpu-collection.de
- OpenSPARC-Projektseite
- SPARC64™ V Background Briefing (englisch)
- Multi-core multi-thread processor SPARC64™ VI (englisch)
- MPF: Fujitsu präsentiert neue SPARC64 V-CPU
- Website Sun Microsystems Deutschland