SPARC (Scalable Processor ARChitecture), arhitectură de procesor scalabil este o arhitectură de calculator și microprocesor tip RISC (Reduced Instruction Set Computing). SPARC este o arhitectură pipeline, cu un set simplu de instrucțiuni concepută pentru a optimiza implementări atât pe 32-bit cât și pe64-bit. Arhitectura SPARC a fost inițiată de compania americană Sun Microsystems (azi integrată în compania Oracle) în special pentru serverele care trebuiau să efectueze un număr mare de operații relativ simple într-un timp cât mai scurt. [1]

Logo-ul arhitecturii SPARC
SUN UltraSPARC III

Procesoarele SPARC au devenit standarde industriale și sunt utilizate pe o gamă largă de sisteme. Sunt incluse serverele, stațiile de lucru, laptopurile, sisteme înglobate, supercomputere.

Există 3 versiuni ale acestei arhitecturi: SPARC-V7 (32-bit), SPARC-V8 (32-bit) și SPARC-V9 (64-bit). La începutul anului 2006, Sun a lansat prima specificație de arhitectură extinsă, UltraSPARC Architecture 2005. Fujitsu are propriul design SPARC pe 64 de biți, modelul SPARC64. Modelele UltraSPARC T1 și T2, au fost lansate ca sursă deschisă.

Caracteristici modificare

  • Este o arhitectură Load/Store. Operațiile sunt întotdeauna efectuate peste registre.
  • Extrem de scalabilă, proiectată să ofere rate de execuție rapide. Stiva de registre poate fi scalată până la 512 sau 32 de ferestre, pentru a minimiza încărcările procesorului și de asemenea, pentru a minimiza interferențele și timpul de comutare a contextului.
  • Utilizează conceptul "ferestrelor de registre", oferind un număr mare de registre ce ușurează implementarea apelării subrutinelor (procedurilor). Acestea pot să varieze de la un minim de 3 până la un maxim de 32. Un număr mare mărește viteza de cod cu multe unități de calcul, în timp ce un număr mai mic crește viteza de comutare de context.
  • Număr redus de instrucțiuni pe care procesorul trebuie să le îndeplinească rezultând o arhitectură mai simplă și un microprocesor mai compact.
  • Număr redus de adrese de memorie pe care procesorul trebuie să le gestioneze.
  • Puține operațiuni de procesare în microcod.
  • Compilatoare care compilează programe optimizate pentru un microprocesor SPARC, fiind aranjate într-o ordine pe care procesorul o poate gestiona mai eficient.[2][3]

Istoric modificare

Arhitectura SPARC a fost puternic influențată de proiectul anterior RISC I și II dezvoltat în cadrul Universității California din Berkeley.

Andy Bechtolsheim student german la Universitatea Stanford, construiește în 1981 o stație de lucru din componente găsite pe piață. Acest calculator, utilizând un procesor Motorola 68020, a primit numele "Sun-1" (de la Stanford University Network).

 
Modelul Sun-1/100

Vinod Khosla, un absolvent indian de la Stanford, împreună cu Bill Joy și Scott McNealy, au înființat Sun Microsystems în 1982 prin care au comercializat Sun-1.

Modelele succesoare Sun-2 și Sun-3 au continuat să utilizeze procesoarele Motorola și, ca și Sun-1, au devenit în curând un succes. Acestea erau concepute să funcționeze utilizând conexiunea Ethernet utilizând software TCP/IP pentru conectare cu Arpanet, predecesorul actualului Internet.

La mijlocul anului 1987, Sun Microsystems a hotărât să proiecteze propriul procesor bazat pe proiectul RISC II al Universității Berkeley din California. Acest procesor de 32 bit a fost denumit SPARC MB86900 cu 16.67 Mhz și 64 Mb memorie, a devenit baza modelului Sun-4/260 și, în scurt timp, a tuturor proiectelor Sun Microsystems (SPARCstation, SPARCserver și SPARCcenter). A fost comercializat sub numele de Sunrise. Inițial microprocesorul a funcționat cu adrese și registre pe 32 biți care rulează la 36 MHz. Avea 3 formate de instrucțiuni, cu doar 55 de instrucțiuni în total. De asemenea, conținea o unitate cu virgulă mobilă care adaugă încă 14 instrucțiuni.

Pentru promovarea tehnologiei SPARC, a fost creat în 1989 comitetul SPARC International, organizație independentă non-profit. Acesta reunește toți dezvoltatorii sau comercianții care doresc să influențeze evoluția standardului acestei arhitecturi. SPARC International deține drepturi asupra modelului ISA (Industry Standard Architecture) al arhitecturii SPARC, mărcilor SPARC și al mărcilor comerciale derivate SPARC (TM). Organizația este menținută de membrii care sprijină arhitectura SPARC și tehnologiile de standarde deschise. Membrii organizației SPARC includ: Fujitsu, Oracle (fostă Sun Microsystems), Gaisler AB, Texas Instruments, Toshiba și alte companii mai mult sau mai puțin cunoscute.

Arhitectura a suferit două revizii majore. Prima dintre acestea a fost în 1990, odată cu publicarea SPARC Versiunea 8 (V8). Procesorul SPARC V8 a servit drept bază pentru standardul IEEE 1754-1994, un standard IEEE pentru o arhitectură de microprocesor pe 32 de biți.

 
Microprocesor Sun UltraSPARC II

Cea de-a doua modificare majoră a fost dezvoltarea arhitecturii SPARC V9. A noua versiune a avut adrese și registre pe 64 de biți. Prima stație de lucru pentru implementarea acestei versiuni a fost UltraSPARC lansată în 1994. UltraSPARC a fost creat pentru lucrul cu imagini, videoclipuri și alte fișiere multimedia, spre deosebire de modelele anterioare care au fost concepute pentru a rula programe mai simple cum ar fi procesoare de text și foi de calcul. Pe lângă faptul că a devenit o arhitectură pe 64 de biți, au fost lansate alte 23 de instrucțiuni, inclusiv VIS (Visual Instruction Set), pentru operații complexe cu imagini (mărire, rotire), sau pentru decompresie clipuri video în timp real. În plus, aplicațiile UltraSPARC au vizat aplicații de servere mari.

În 2002, Sun și Fujitsu au lansat Joint Programming Specification (JPS1) care descrie funcțiile de microprocesor implementate identic în microprocesoarele celor două companii. Primele CPU-uri care au urmat JPS1 au fost UltraSPARC III de către Sun și SPARC64 V de Fujitsu.[4]

La sfârșitul anului 2003, JPS2 a fost lansat pentru a sprijini procesoare multicore. Primele procesoare conforme cu JPS2 au fost Sun UltraSPARC IV Fujitsu SPARC64 VI.[5]

La începutul lui 2006, Sun a introdus o specificație extinsă a arhitecturii, arhitectura UltraSPARC 2005. Aceasta include majoritatea părților privilegiate ale SPARC V9, precum și toate extensiile de arhitecturi dezvoltate în generațiile de procesoare UltraSPARC III, IV și IV+. Arhitectura UltraSPARC 2005 include extensii standard Sun și continuă să fie compatibilă cu specificația completă SPARC V9 Level 1.[6]

În 2007, Sun a lansat o specificație actualizată, UltraSPARC Architecture 2007, la care a fost respectată implementarea UltraSPARC T2.[7]

La 20 aprilie 2009 Sun a anunțat achiziția sa de către compania Oracle Corporation. [8]

În august 2012, Oracle Corporation a lansat o nouă specificație, Oracle SPARC Architecture 2011, care, pe lângă actualizarea generală a referinței, adaugă extensiile setului de instrucțiuni VIS 3 și modul hyperprivileged la specificația din 2007. [9]

În octombrie 2015, Oracle a lansat SPARC M7, primul procesor bazat pe noua specificație Oracle SPARC Architecture 2015. Această revizuire include extensii de seturi de instrucțiuni VIS 4, criptare asistată de hardware și Silicon Secured Memory (SSM).[10][11][12]

Începând cu septembrie 2017, cele mai recente procesoare comerciale SPARC de ultimă generație sunt SPARC64 XII (introduse în 2017 pentru serverul SPARC M12), SPARC64 XIfx (introdus în 2015 pentru supercomputerul PRIMEHPC FX100) și Oracle SPARC M8 introdus în septembrie 2017 pentru serverele sale high-end.[13]

Microprocesoare SPARC modificare

  • Sun SPARC: implementare SPARC-V7
  • Super SPARC: este o implementare SPARC-V8
  • Micro SPARC: SparcStation Classic, SparcStation LX, la o frecvență de până la 50Mhz. Produsul său derivat, Micro SPARC II, poate fi găsit în SparcStation 4 și SparcStation 5 la frecvențe de până la 110Mhz.
  • Hyper SPARC: procesor a fost introdus de ROSS în 1993, în SparcStation 10 și SparcStation 20, la frecvențe de până la 150Mhz; de asemenea este o implementare a modelului SPARC-V8.
  • ERC32: microprocesor SPARC V7 radar, proiectat pentru a fi utilizat pe segmentul spațial.
  • LEON: de asemenea, o implementare SPARC V8 proiectat pentru a fi utilizat pe segmentul spațial.
  • Ultra SPARC: extensie a arhitecturii SPARC-V9, este un procesor de 64 de biți, dispune de câteva instrucțiuni de procesare video. Ultra SPARC II este o îmbunătățire a Ultra SPARC. Ultra SPARC III este cea de-a doua generație de procesoare Ultra SPARC, a fost introdusă pentru prima oară în stația de lucru SunBlade 1000.
  • SPARC64 V: procesor de 64 bit cere se bazează pe SPARC V9 și este produs de Fujitsu.[14][15][16]

Producători de procesoare SPARC modificare

  • Fujitsu - SPARC32, SPARC64
  • Sun Microsystems - familia de procesoare UltraSPARC
  • Texas Instruments - SuperSPARC, MicroSPARC, UltraSPARC
  • HAL Computer Systems - SPARC64 II, SPARC64 III, și SPARC64 IV
  • Gaisler Research AB - procesorul VHDL IP-Core sub numele de LEON.
  • ATMEL - ERC32

Sisteme de operare modificare

Diferite sisteme de operare (în special variante Unix) pot rula pe procesoare SPARC, printre altele: SunOS, Solaris, OpenSolaris, dar alte sisteme de operare sunt de asemenea utilizate ca NeXTSTEP, RTEMS, FreeBSD, OpenBSD, NetBSD, și Linux.

A fost dezvoltată și o versiune Windows NT pentru SPARC, dar nu a fost publicată.

OpenSPARC modificare

OpenSPARC este un proiect hardware gratuit început în decembrie 2005, bazat pe distribuirea gratuită a specificațiilor procesorului SPARC. Contribuția inițială la proiect a fost descrierea sistemului logic al procesorului UltraSPARC T1 în martie 2006, când Sun Microsystems a lansat codul sursă de bază al procesorului GPL.

Vezi și modificare

Referințe și note modificare

Legături externe modificare

 
Commons
Wikimedia Commons conține materiale multimedia legate de SPARC

Bibliografie modificare

  • George Becker, Kathy Slattery: A System Administrator’s Guide to Sun Workstations, Springer-Verlag New York, 1991, ISBN: 978-1-4612-6455-2