SPARC

Scalable Processor ARChitecture. Die SPARC-Architektur ist ein 1985 von Sun Microsystems entwickelter 32-Bit RISC Prozessor. 1995 wurde SPARC auf 64 Bit erweitert (UltraSPARC).  Der SPARC-Prozessor wird vor allem in Sun Workstations eingesetzt: SPARCstation und SPARCserver. Besonderes Merkmal ist ein Registerfile, das ursprünglich aus 128 32-Bit-Registern bestand.  Der Prozessor kann nur auf 32 davon direkt zugreifen. 24 davon sind für die CPU in einem Fenster sichtbar und können per Software verschoben werden. Mit Hilfe dieses Verfahrens  können Argumente und Ergebnisse von Unterprogrammen ohne vorheriges Umkopieren von Registern durch Verschieben des Fensters übergeben werden.  SPARC wird oft mit dem Betriebssystem SunOS (Solaris) kombiniert und beherrschte lange Zeit den Markt für UNIX-Workstations.  Weiterentwicklungen der SPARC und UltraSPARC-Architekturen sind: UltraSPARC T1, UltraSPARC T2 und der Rock Prozessor. Diese Multi-Core-Prozessoren sind Multi-Threading-fähig, verfügen über eine tiefere Pipe und SIMD-Befehle  (Visual Instruction Set (VIS)). Die UltraSPARC-Serie arbeitet sowohl mit SBus als auch mit dem PCI- und AGP-Bus, je nach Ausführung und Herstellungsdatum.  Die SPARC64 V Architektur wurde 2004 in Kooperation mit Fujitsu entwickelt. Der SPARC 64 V Prozessor wird mit Kupfer-Interconnects bei einer Strukturbreite von 0,13 µm gefertigt.  Vertreter der SPARC64-Architektur sind: SPARC64 V (Zeus), SPARC64 VI (Olympus, 2007) und SPARC64 VII, der 2008 erscheint. 

Rock-Prozessor
Der Rock Prozessor ist eine Weiterentwicklung des UltraSPARC T1 (Codename: Niagara) und UltraSPARC T2 (Niagara II) Prozessors. Er ist auch Multithreading-fähig und  verfügt über mehrere Kerne (Multi-Core), jedoch leistungsfähiger als die Nigara-Prozessoren durch schnellere Gleitkommaberechnungen, erweiterte SMP-fähigkeiten (Symmetrisches Multiprozessorsystem, Symmetric Multiprocessing)  und einer gesteigerten Leistung pro Thread. Im Rock Prozessor wird neben VIS 3.0 (Visual Instruction Set) der SPARC V9 64-Bit Befehlssatz implementiert.                                   
Siehe auch:    Sun-Microsystems   RISC   CPU   Workstation   Blade-Server   Solaris   SBus   SMP   

  Solaris

Solaris (ehemals SunOS) ist ein Betriebssystem von Sun Microsystems. Es handelt sich um eine UNIX- Implementierung. Ursprünglich war das SunOS auf Grundlage von BSD entwickelt worden und diente Sun als hauseigenes  OS für Server und Workstations. Ab SunOS wurde es auf Basis der UNIX-System-V Familie neu aufgesetzt und in Solaris umbenannt.  Ab Version SunOS 2 wurde das Virtual File System (VFS) und das NFS-Protokoll (Network File System) eingeführt.  Ab Solaris 10 erfolgte die Offenlegung grosser Teile des Source-Codes und die Freigabe als kostenloser Download (OpenSolaris) unter der Common Development and Distribution License (CDDL), einer Open Source Lizenz von Sun.  Mit der Version 7 (SunOS 5.7) kam die  64-Bit-Unterstützung auf UltraSPARC CPUs und für Intel Prozessoren. Die aktuelle Version ist Solaris 10 (SunOS 5.10, seit 2004).  Sun Microsystems beherrschte mit den Workstations SPARCstation und SPARCserver i.V.m. Solaris lange Zeit den Markt für UNIX-Workstations.                                             
Siehe auch:    Sun-Microsystems   SPARC   NFS   ZFS   Workstation   linux   POSIX   BSD   Blade-Server   LISP-Maschine
Link: http://www.oracle.com/us/sun/index.htm


  Open-Firmware

Open-Firmware (OFW, OF) ist eine in Forth programmierte BIOS-Spezifikation, die 1988 von Sun-Microsystems eingeführt wurde. Open Firmware, auch Open Boot genannt, funktioniert unabhängig vom jeweiligen Prozessor oder System. OFW funktioniert anders  als das BIOS, da es sich um einen Forth-Interpreter handelt, der über Shell-Befehle oder selbstgeschriebene Programme steuerbar ist. Eingesetzt wird Open Firmware heute bei vielen Plattformen wie in der UltraSPARC-Architektur von Sun Microsystems oder  den PowerMacs von Apple.                                                     
Siehe auch:    BIOS   Extensible-Firmware-Interface   Sun-Microsystems   Firmware   

  Sun-Microsystems

Gründungsphase von SUN
Stanford University Network. Sun Microsystems ist ein US-Amerikanischer Software- und Hardware-Hersteller. Seit der Gründung 1982 durch den Deutschen Andreas von Bechtolsheim und den US-Amerikanern Scott McNealy,  Bill Joy und Vinod Khosla entwickelte sich Sun zu einem der erfolgreichsten Unternehmen der Computerindustrie. 1984 kam der Durchbruch mit dem Netzwerkfilesystem NFS (Network File System). 

SPARC-Architektur, SPARCstation und Solaris
Weitere grosse Erfolge sind die SPARC Workstations mit den RISC-Prozessoren von Sun: SPARC (Scalable Processor ARChitecture)  und dem Betriebssystem Solaris (SunOS). SPARC International ist eine Non-Profit Organisation mit dem Unternehmensziel, die offene SPARC-Architektur weiter zu entwickeln. SPARC International wurde 1989 gegründet. Sun Microsystems wurde damit zu  einem der grössten Hersteller von Workstations mit dem UNIX-Betriebssystem. Die SPARC-Prozessoren wurden von Texas Instruments und Fujitsu gefertigt.  Erfolge erzielte Sun Microsystems mit den Workstations SPARCstation: diese mit der SPARC-Architektur ausgerüstete Workstations gab es in unterschiedlichen Ausführungen: die SPARCserver (als Desktop, Rackmount Server oder Deskside)  waren identisch zu den SPARCstations, jedoch ohne Video Interface usw. Die SPARCstation wurde 1989 eingeführt: mit der SPRACstation 1 kam die Sun-4c Architektur, eine Variante der Sun-4 Architektur. Die SPARCstation war bis zur SPARCstation 20 und  der Ablösung durch die UltraSPARC-Architektur (1995) sehr erfolgreich, da Motorola es versäumte, modernere Prozessoren herzustellen. Aufgrund des kompakten Aufbaus wurden die SPARCstations "Pizzabox-Systeme" oder "Launchbox-Systeme" genannt.  Pizzabox-Systeme waren: SPARCstation 1 (Codename: Campus, Plattform: Sun 4c, CPU: Fujitsu MB86901A oder LSI L64801, 20 MHz, 64 MB RAM) SPARCstation 1+, SPARCstation 2 (Codename: Calvin, Plattform: Sun 4c, CPU Cypress CY7C601, 40 MHz, 128 MB RAM),  SPARCstation 4 (Perigee, Sun 4m, microSPARC II, 70 - 110 MHz, 160 MB RAM), SPARCstation 5 (Codename: Aurora, Plattform: Sun 4m, CPU: microSPARC II oder TurboSPARC, 70 - 170 MHz, 256 MB RAM),  SPARCstation 10 (Campus-2, Sun 4m, SuperSPARC I/II oder HyperSPARC, 33 bis 200 MHz, 512 MB RAM) und SPARCstation 20 (Kodiak, Sun 4m, SuperSPARC I/II oder HyperSPARC, 50 bis 200 MHz, 512 MB RAM). Lunchbox-Systeme sind:  SPARCstation IPC, SPARCstation IPX, SPARCclassic, SPARCstation LX, SPARCstation ZX und SPARCclassic X.  1995 wurde die objektorientierte und plattformunabhängige Programmiersprache JAVA veröffentlicht und die 32-Bit SPARC Architektur auf 64-Bit erweitert und unter der Bezeichnung UltraSPARC vertrieben. 

UltraSPARC
Die UltraSPARC-Architektur verfügt über einige Erweiterungen wie eine tiefere Pipeline und SIMD-Befehle (Single Instruction Multiple Data): Visual Instruction Set (VIS).  VIS wurde auch in den SPARC64-Prozessoren implementiert. VIS 1.0 und  VIS 2.0 sowie VIS 3.0 für die sich in der Entwicklung befindlichen Rock Prozessoren. Die Sun Ultra Serie wurde sowohl mit SBus (Sun Ultra 1 und Ultra 2) sowie mit PCI- und ATA-Bus ausgerüstet. Die Ultra Workstations und Ultra Enterprise Workstations  ersetzten die SPARCstation sowie die SPARCcenter und SPARCserver Workstations und Server. Die Ultra und Enterprise Serie wurde abgelöst von Sun Blade (Workstations) und Sun Fire (Servers). 

Rock-Prozessor
Der Rock Prozessor ist eine Weiterentwicklung des UltraSPARC T1 (Codename: Niagara) und UltraSPARC T2 (Niagara II) Prozessors. Er ist auch Multithreading-fähig und  verfügt über mehrere Kerne (Multi-Core), jedoch ist er leistungsfähiger als die Nigara-Prozessoren durch schnellere Gleitkommaberechnungen, erweiterte SMP-fähigkeiten (Symmetrisches Multiprozessorsystem, Symmetric Multiprocessing)  und einer gesteigerten Leistung pro Thread. Im Rock Prozessor wird neben VIS 3.0 der SPARC V9 64-Bit Befehlssatz implementiert.

OpenOffice und Führungswechsel 
1999 wurde von der Firma Star Division StarOffice (ein Office Paket) erworben. StarOffice wurde im Jahr 2000 unter der LGPL lizenziert und firmiert heute als OpenOffice.org. Scott McNealy gab im April 2006 sein Amt des geschäftsführenden  Vorstandes, das er seit 1984 inne hatte, an Jonathan Schwartz ab. McNealy bleibt aber weiterhin Verwaltungsratschef.  Das NFS heisst heute auch Network File Service

Übernahme durch ORACLE
2010 wurde Sun Microsystems endgültig von ORACLE übernommen. Offen bleibt, ob ORACLE die MySQL-Datenbank weiter pflegen wird und der Open Source Status von MySQL erhalten bleibt.  Der derzeitige CEO von Sun (01/2010), Jonathan Schwartz, wird zurücktreten und ist wohl das erste 'Opfer' der Übernahme durch ORACLE. Angeblich soll es für Schwartz kein Auskommen neben dem dominanten Larry Ellison (CEO und Gründer von ORACLE) geben.         
Siehe auch:    SPARC   Solaris   Java   OpenOffice-Org   NFS   RISC   SBus   Workstation   Andreas-von-Bechtolsheim   ORACLE
Link: http://de.sun.com


  Multithreading

Beim Multithreading werden die einzelnen Tasks (Aufträge) in kleinere eigenständige Prozesse (= Threads) aufgeteilt.  Ein multithreading-fähiger Prozessor ist somit in der Lage, mehrere Threads auf einmal zu bearbeiten. Echte Parallel-Verarbeitung ist nur bei mehreren Prozessoren gegeben.  Aber auch ein einzelner Prozessor, der multithreading-fähig ist, kann damit schneller arbeiten, wenn die Threads intelligent abgearbeitet werden, beispielsweise durch Verkürzung von Wartezeiten, optimale Auslastung bzw. Einlastung (Scheduling) von  Threads. Im Unterschied zum Multitasking bezieht sich die Nebenläufigkeit nicht nur auf Prozesse sondern auch auf Bearbeitungsstränge (Threads) innerhalb der Prozesse. Intel leitet seine Hyper-Threading-Technologie vom Multithreading ab. Es handelt  sich um Simultaneous Multithreading (SMT) beim Pentium 4 und XEON Prozessor. Diese Technologie erhöht die Leistung von multi-threaded Anwendungen, indem sie die Auslastung der On-Chip-Ressourcen (welche in der Intel NetBurst Architektur verfügbar sind)  erhöht. Die NetBurst-Ressourcen sind im Normalfall nur zu 30% + X ausgelastet. Hyper-Threading erhöht diese Auslastung durch entsprechende Logik und erzeugt einen zweiten logischen Prozessor.  Weitere Beispiele für Prozessoren mit Multithreading sind der UltraSPARC T1 (Niagara), UltraSPARC T2 (Niagara II) oder der Rock Prozessor von Sun Microsystems.  Man unterscheidet softwareseitiges Multithreading und hardwareseitiges Multithreading. 

Softwareseitiges Multithreading
Beim softwareseitigen Multithreading steht meist nur ein Prozessor zur Verfügung. Die einzelnen Threads werden effizient auf die zur Verfügung stehenden Ressourcen aufgeteilt.  Die Anzahl der Threadwechsel sollte jedoch möglichst gering sein um den dadurch entstehenden Verwaltungsaufwand möglichst gering zu halten. 

Hardwareseitiges Multithreading
Beim hardwareseitigen Multithreading wird das Multithreading von der Hardware unterstützt,  indem z. B. mehrere Prozessorkerne die Thread-Abarbeitung parallelisieren oder indem ein Multithreaded Prozessor vorliegt. Ein Multithreaded Prozessor  kann mehrere Threads gleichzeitig abarbeiten. Dazu besitzt ein Thread einen eigenen Registersatz mit Stackpointer und Befehlszähler (Programcounter, Befehlszählregister). Häufige Thread-Wechsel  bewirken beim hardwareseitigen Multithreading sogar eine Steigerung der Performance, da Konflikte in den Pipelines der Prozessoren (Pipeline Hazards) reduziert werden können.  Multithreading-Prozessoren können unterschiedliche Strategien für die Aufteilung und Einlastung der Threads bzw. deren paralleler Verarbeitung anwenden:
1. Switch-By-Event: Ereignisse welchen einen Thread-Wechsel auslösen. 
2. Time-Slices: jedem Thread wird eine bestimmte Zeitspanne zugewiesen.
3. Simultaneous Multithreading (SMT). 

Thread
Grundsätzlich ist zu unterscheiden zwischen Prozess, Kernel-Thread und User-Thread. Ab ca. 1995 unterstützen die meisten Betriebssysteme alle 3 Kategorien.  Moderne Prozessoren sind i.d.R. mehrfädig, d.h. sie unterstützen hardwareseitiges Multithreading.                       
Siehe auch:    Multitasking   Pipeline-Architektur   Simultaneous-Multithreading   Hyper-Threading   SMP   Superskalar   Thread   Pentium-4   Dual-Core   NetBurst

  SMP

Symmetric Multiprocessing - Symmetrisches Multiprozessorsystem (SMP). Bei paralleler Verarbeitung von Rechenanforderungen durch einen Multiprozessorrechner kommt SMP zum Einsatz. SMP regelt die Prozessverteilung, wobei die Prozessoren sich das  Betriebssystem, den Hauptspeicher und die Busse teilen. SMP ist im Speziellen bei Multi-User Anwendungen von Vorteil, beispielsweise um die Transaktionslastenverteilung bei einer Datenbank zu regeln.  Beim Asymmetrischen Multiprocessing erhält jeder Prozessor eine bestimmte Aufgabe. Das SMP ist seit den 80ern die Standardarchitektur bei Maschinen bis zu 16 Prozesoren.  Jeder Prozessor muss theoretisch jeden Prozess ausführen können. Dadurch wird bei grösseren Systemen der Speicherbus zum Flaschenhals. SMP ist auch nützlich besonders bei Anwendungen, bei denen mehrere Anwender auf eine  einzige Datenbank zugreifen. Denn in diesem Fall ist die Lastverteilung ausschlaggebend.  Beispiele für Prozssoren mit SMP sind der UltraSPARC T1 (Niagara), UltraSPARC T2 (Niagara II) oder der Rock Prozessor von Sun Microsystems.                                               
Siehe auch:    Multithreading   Paralleler-Server   Sun-Microsystems   SPARC   Simultaneous-Multithreading   Hyper-Threading   Thread   Task