SPARC

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

SPARC ist eine Abkürzung für Scalable Processor Architecture. (Die Ähnlichkeit mit dem englischen Wort spark (der Funke) ist sicher beabsichtigt. :) Es handelt sich um eine RISC--Prozessorarchitektur. Die Architektur wurde durch Sun Microsystems ins Leben gerufen, aber im Gegensatz zu vielen anderen Prozessoren handelt es sich bei der Architektur um ein offenes Projekt, das als Standard definiert ist, nachdem Hersteller ihren eigentlichen Prozessor fertigen können.

Eine Übersicht über Hersteller, die diesem Modell folgen, kann man unter http://www.sparc.com/ finden.

Seit Version 9 des Standards ist SPARC ein 64-bit Prozessor, davor war er ein 32-bit Prozessor. Der Standard läßt einige Freiheiten offen in der Implementierung, beispielsweise ist die tatsächliche Registeranzahl nicht definiert. Stattdessen hat jede Funktion 4 x 8 32- bzw. 64-bit-Register zur Verfügung, die in 8 globale, 8 lokale (temporäre), 8 Eingabe- und 8 Ausgaberegister unterteilt sind. Beim Aufruf einer neuen Funktion verschiebt sich der Registerzeiger, so daß die gerufene Funktion die 8 Ausgaberegister der aufrufenden Funktion als ihre 8 Eingaberegister "sieht" (und 8 neue lokale Register zugeordnet bekommt). Falls bei einer solchen Verschiebung des Registerfensters die tatsächlich vorhandenen Register nicht mehr ausreichen, wird ein Trap ausgelöst (window fill bzw. window spill), so daß sich das Betriebssystem um die Ein- oder Auslagerung physischer Register vom/zum RAM kümmern kann.

Die SPARC Prozessoren von Sun werden seit Version 9 (64-bit) als UltraSPARC bezeichnet.