Sun SPARC
aus Wikipedia, der freien Enzyklopädie
Die SPARC-Architektur (Scalable Processor ARChitecture) ist eine Mikroprozessor-Architektur, die hauptsächlich in Produkten von Sun Microsystems Verwendung finden. Daneben gibt es noch andere Hersteller, wie zum Beispiel Fujitsu Siemens Computers.
Inhaltsverzeichnis |
[Bearbeiten] Geschichte
Sun Microsystems entwickelt ab 1985 und vermarktete ab 1987 die ersten Generation von SPARC-Prozessoren. 1989 erfolgte die Gründung der nichtgewinnorientierten Organisation SPARC International, 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 die Firma, 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 baut zur Zeit (2005) noch SPARC-Prozessoren in ihre PrimePower-Systeme ein. Neben 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. Dadurch können Argumente und Ergebnisse von Unterprogrammen ohne Umkopieren von Registern durch Verschieben des Fensters übergeben werden.
Die Gleitkommaeinheit kann als 32 32-Bit-Register mit einfacher Genauigkeit, 16 64-Bit-Register mit doppelter Genauigkeit oder 8 128-Bit-Register mit vierfacher Genauigkeit verwendet werden.
Die derzeit 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] Auch das Design des 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.
Die Architektur der T1- und T2-Prozessoren ist Open Source. Diese kann man sich bei OpenSparc[2] herunter laden.
[Bearbeiten] Modelle
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] |
Kernabmessung [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 | -- | -- | -- | 135 | -- | 128 | 128 | 6144 | kein |
[Bearbeiten] Siehe auch
[Bearbeiten] Einzelnachweise
- ↑ Golem.de. Abgerufen 23. Januar 2009 , http://www.golem.de/0712/56506.html .
- ↑ http://www.opensparc.net/. Sun Microsystems. Abgerufen am 12. Juli 2009.
[Bearbeiten] Weblinks
- 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