SPARC

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Microprocesor Sun UltraSPARC II 300 MHz

În electronica si calcul SPARC (Scalable Processor Architecture) este un mare-endian RISC microprocesor arhitectura . Arhitectura, proiectată inițial în 1985 de Sun Microsystems , a devenit, de asemenea, o marcă înregistrată a SPARC International, Inc., o organizație fondată în 1989 pentru a promova SPARC și pentru a emite certificate și teste de conformitate pentru procesoarele care doresc să se laude.

Descriere

SPARC International a dorit ca SPARC să fie o arhitectură „deschisă” pentru a crea un ecosistem excelent pentru proiectare, a fost licențiată pentru diferiți producători, inclusiv Texas Instruments , Cypress Semiconductor și Fujitsu. S-a dovedit că SPARC este în prezent o arhitectură deschisă, non-proprietară: există și o implementare open source completă numită LEON , scrisă în VHDL, iar codul său sursă este disponibil sub LGPL. ASIC- ul LEON, dezvoltat de Gaisler Research, are 32 de biți și acceptă setul de instrucțiuni din arhitectura SparcV8 .

CPU-urile cu implementări de arhitectură SPARC au fost inițial proiectate și utilizate pentru domenii precum stațiile de lucru și ulterior și în servere SMP fabricate de Sun Microsystems și Fujitsu . Mașinile SPARC sunt sinonime cuSolaris , sistemul de operare Sun proiectat pentru SPARC, chiar dacă porturile diferitelor sisteme de operare sunt disponibile pentru această arhitectură, inclusiv OPENSTEP , Linux , FreeBSD , OpenBSD și NetBSD . De-a lungul anilor, au fost dezvoltate diverse versiuni ale arhitecturii SPARC pentru a garanta compatibilitatea maximă posibilă între procesoarele mai vechi și cele noi, pentru a facilita orice upgrade (un exemplu sunt procesoarele UltraSPARC III și UltraSPARC VI / VI + care pot fi montate în același sistem fără probleme); cea mai recentă arhitectură încă în uz este cea de-a noua (V9).

Caracteristici

Procesor SuperSPARC 50 MHz montat pe modulul caracteristic SM51
Procesor SuperSPARC II de 75 MHz montat pe modulul caracteristic SM71

Arhitectura SPARC a fost puternic influențată de designul anterior RISC I și II dezvoltat în cadrul Universității din California Berkeley . Această arhitectură RISC a fost foarte minimalistă: procesorul a inclus puține operațiuni în codul intern, pentru a se asigura că fiecare operație a fost efectuată într-un singur ciclu de ceas și a fost, de asemenea, foarte asemănătoare cu arhitectura MIPS , nefiind prevăzută operații de divizare sau multiplicare. că mai degrabă au fost emulate prin serii de sume. O caracteristică interesantă a SPARC-urilor influențate de RISC a fost unitatea de predicție a ramurilor foarte avansată: datorită acestor caracteristici, această arhitectură avea un IPC excelent ( Instrucțiuni pe ciclu - instrucțiuni pe ciclu de ceas ) care garantează performanțe excelente chiar și la frecvențe joase. O caracteristică nedorită derivată din designul RISC timpuriu este slotul de întârziere a sucursalei .

Un procesor SPARC conține în mod normal cel puțin 128 de registre de uz general; dintre acestea doar 32 de registre sunt disponibile direct software-ului, 8 sunt globale ( g0 este rezervat și, prin urmare, nu poate fi utilizat, astfel încât doar 7 pot fi utilizate), iar celelalte 24 sunt utilizate ca stivă. Cele 24 de registre acționează ca ferestre de registre și atunci când funcțiile apelează sau returnează variabile aceste registre stochează datele, deplasându-se în sus sau în jos de-a lungul stivei . Fiecare fereastră are 8 registre locale și 8 registre partajate cu celelalte ferestre. Registrele partajate sunt utilizate pentru a transmite parametrii și a returna variabilele unei funcții.

SPARC este un procesor foarte scalabil, care poate fi utilizat atât ca procesor pentru aplicații încorporate, cât și pentru a oferi putere de calcul în servere corporative folosind același set de instrucțiuni. Una dintre caracteristicile arhitecturale care permit această scalabilitate a procesorului este numărul de ferestre bazate pe registre care pot fi implementate; specificațiile permit ca acestea să varieze de la un minim de 3 la un maxim de 32. Un număr mare crește viteza codului cu multe unități de calcul, în timp ce un număr mic crește viteza de comutare a contextului. Alte arhitecturi includ ferestre cu registre precum Intel i960 , IA-64 a procesoarelor Itanium sau AMD 29000 .

În versiunea SPARC 8 ( 1987 ) unitatea cu virgulă mobilă are 16 registre în virgulă mobilă. Fiecare dintre aceste registre poate fi utilizat ca 2 registre de precizie unice, oferind un total de 32 de registre de precizie unice. Registrele pot fi cuplate pentru a obține 8 registre de precizie cvadruplă. Versiunea SPARC 9 a adăugat încă 16 registre cu precizie dublă (care pot deveni 8 registre cu precizie cvadruplă ), dar care nu pot fi utilizate ca registre cu precizie simplă.

Istorie

De-a lungul anilor, arhitectura a suferit mai multe revizuiri, de exemplu, versiunea 8 a introdus multiplicarea și diviziunile prin hardware, chiar dacă cea mai mare schimbare a avut loc cu versiunea 9, care a introdus gestionarea datelor pe 64 de biți în procesor.

Specificația Sun UltraSPARC Architecture 2005 (UA 2005) a adăugat instrucțiuni suplimentare, registre suplimentare și o funcție numită mod hiperprivilegiat . Aceste noi adăugiri vor deveni standard începând cu noul procesor UltraSPARC T1 cu 8 nuclee. Arhitectura UltraSPARC 2005 include încă extensii Sun standard și rămâne compatibilă cu specificațiile SPARC V9 Nivelul 1; în plus, noua arhitectură oferă o compatibilitate deplină cu aplicațiile scrise pentru specificația SPARC V7 implementată pentru prima dată în 1987.

În istoria acestei arhitecturi, diverse procesoare Sun SPARC, inclusiv SuperSPARC și UltraSPARC-I, au devenit atât de obișnuite încât au fost utilizate ca reper de către SPEC pentru benchmark-urile CPU95 și CPU2000 .

Nume (nume de cod) Șablon Frecventa (MHz) Versiunea de arhitectură An Numărul firului [1] Proces (µm) Tranzistoare (milioane) Suprafata matritei (mm²) IO Pin Consum (W) Tensiune (V) L1 Dcache (k) L1 Icache (k) L2 cache (k) L3 Cache (k)
SPARC (mai multe), inclusiv MB86900 [2] 14,28–40 V7 1987-1992 1 × 1 = 1 0,8-1,3 ~ 0,1-1,8 - 160-256 - - 0–128 (unificat) - -
microSPARC I (Tsunami) TI TMS390S10 40-50 V8 1992 1 × 1 = 1 0,8 0,8 225? 288 2.5 5 2 4 - -
SuperSPARC I (Viking) TI TMX390Z50 / Sun STP1020 33-60 V8 1992 1 × 1 = 1 0,8 3.1 - 293 14.3 5 16 20 0-2048 -
SPARClite Fujitsu MB8683x 66-108 V8E 1992 1 × 1 = 1 - - - 144–176 - 2,5 / 3,3V 1-16 1-16 - -
hyperSPARC (Colorado 1) Ross RT620A 40-90 V8 1993 1 × 1 = 1 0,5 1.5 - - - 5? 0 8 128-256 -
microSPARC II (Swift) Fujitsu MB86904 / Sun STP1012 60–125 V8 1994 1 × 1 = 1 0,5 2.3 233 321 5 3.3 8 16 - -
hyperSPARC (Colorado 2) Ross RT620B 90–125 V8 1994 1 × 1 = 1 0,4 1.5 - - - 3.3 0 8 128-256 -
SuperSPARC II (Voyager) Sun STP1021 75-90 V8 1994 1 × 1 = 1 0,8 3.1 299 - 16 - 16 20 1024-2048 -
hyperSPARC (Colorado 3) Ross RT620C 125–166 V8 1995 1 × 1 = 1 0,35 1.5 - - - 3.3 0 8 512-1024 -
TurboSPARC Fujitsu MB86907 160-180 V8 1996 1 × 1 = 1 0,35 3.0 132 416 7 3.5 16 16 512 -
UltraSPARC (Spitfire) Sun STP1030 143–167 V9 1995 1 × 1 = 1 0,47 5.2 315 521 30 [3] 3.3 16 16 512-1024 -
UltraSPARC (Hornet) Sun STP1030 200 V9 1998 1 × 1 = 1 0,42 5.2 265 521 - 3.3 16 16 512-1024 -
hyperSPARC (Colorado 4) Ross RT620D 180–200 V8 1996 1 × 1 = 1 0,35 1.7 - - - 3.3 16 16 512 -
SPARC64 Fujitsu (HAL) 101-118 V9 1995 1 × 1 = 1 0,4 - Multichip 286 50 3.8 128 128 - -
SPARC64 II Fujitsu (HAL) 141–161 V9 1996 1 × 1 = 1 0,35 - Multichip 286 64 3.3 128 128 - -
SPARC64 III Fujitsu (HAL) MBCS70301 250-330 V9 1998 1 × 1 = 1 0,24 17.6 240 - - 2.5 64 64 8192 -
UltraSPARC IIs (Blackbird) Sun STP1031 250-400 V9 1997 1 × 1 = 1 0,35 5.4 149 521 25 [4] 2.5 16 16 1024 sau 4096 -
UltraSPARC IIs (Sapphire-Black) Sun STP1032 / STP1034 360–480 V9 1999 1 × 1 = 1 0,25 5.4 126 521 21 [5] 1.9 16 16 1024-8192 -
UltraSPARC IIi (Saber) Sun SME1040 270-360 V9 1997 1 × 1 = 1 0,35 5.4 156 587 21 1.9 16 16 256-2048 -
UltraSPARC IIi (Sapphire-Red) Soare SME1430 333–480 V9 1998 1 × 1 = 1 0,25 5.4 - 587 21 [6] 1.9 16 16 2048 -
UltraSPARC IIe (Colibri) Soare SME1701 400-500 V9 1999 1 × 1 = 1 0,18 Al - - 370 13 [7] 1,5-1,7 16 16 256 -
UltraSPARC IIi (IIe +) (Fantomă) Sun SME1532 550-650 V9 2000 1 × 1 = 1 0,18 Cu - - 370 17.6 1.7 16 16 512 -
SPARC64 GP Fujitsu SFCB81147 400-563 V9 2000 1 × 1 = 1 0,18 30.2 217 - - 1.8 128 128 8192 -
SPARC64 GP - 600-810 V9 - 1 × 1 = 1 0,15 30.2 - - - 1.5 128 128 8192 -
SPARC64 IV Fujitsu MBCS80523 450-810 V9 2000 1 × 1 = 1 0,13 - - - - - 128 128 2048 -
UltraSPARC III (Ghepard) Sun SME1050 600 V9 / JPS1 2001 1 × 1 = 1 0,18 Al 29 330 1368 53 1.6 64 32 8192 -
UltraSPARC III (Ghepard) Sun SME1052 750–900 V9 / JPS1 2001 1 × 1 = 1 0,13 Al 29 - 1368 - 1.6 64 32 8192 -
UltraSPARC III Cu (Cheetah +) Soare SME1056 1002-1200 V9 / JPS1 2001 1 × 1 = 1 0,13 Cu 29 232 1368 80 [8] 1.6 64 32 8192 -
UltraSPARC IIIi (Jalapeño) Sun SME1603 1064–1593 V9 / JPS1 2003 1 × 1 = 1 0,13 87,5 206 959 52 1.3 64 32 1024 -
SPARC64 V (Zeus) Fujitsu 1100–1350 V9 / JPS1 2003 1 × 1 = 1 0,13 190 289 269 40 1.2 128 128 2048 -
SPARC64 V + (Olympus-B) Fujitsu 1650–2160 V9 / JPS1 2004 1 × 1 = 1 0,09 400 297 279 65 1 128 128 4096 -
UltraSPARC IV (Jaguar) Soare SME1167 1050–1350 V9 / JPS1 2004 1 × 2 = 2 0,13 66 356 1368 108 1,35 64 32 16384 -
UltraSPARC IV + (Panther) Soare SME1167A 1500–2100 V9 / JPS1 2005 1 × 2 = 2 0,09 295 336 1368 90 1.1 64 64 2048 32768
UltraSPARC T1 (Niagara) Sun SME1905 1000–1400 V9 / UA 2005 2005 4 × 8 = 32 0,09 300 340 1933 72 1.3 8 16 3072 -
SPARC64 VI (Olympus-C) Fujitsu 2150–2400 V9 / JPS1 2007 2 × 2 = 4 0,09 540 422 - 120 - 128 128 5120 -
UltraSPARC T2 (Niagara 2) Soare SME1908A 1000–1600 V9 / UA 2007 2007 8 × 8 = 64 0,065 503 342 1831 95 1.1–1.5 8 16 4096 -
UltraSPARC T2 Plus (Cascada Victoria) Soare SME1910A 1200–1600 V9 / UA 2007 2008 8 × 8 = 64 0,065 503 342 1831 - - 8 16 4096 -
SPARC64 VII (Jupiter) [9] Fujitsu 2400-2880 V9 / JPS1 2008 2 × 4 = 8 0,065 600 445 - 135 - 64 64 6144 -
UltraSPARC "RK" ( Rock ) [10] Sun SME1832 2300 V9 / - șters [11] 2 × 16 = 32 0,065 ? 396 2326 ? ? 32 32 2048 ?
SPARC64 VIIIfx (Venus) [12] [13] Fujitsu 2000 V9 / JPS1 2009 1x8 = 8 0,045 ? ? ? ? ? ? ? ? ?
SPARC T3 (Rainbow Falls) Oracle / Soare 1650 V9 / UA _? _ 2010 16 × 8 = 128 0,040 [14] ???? 371 ? 139 ? 8 16 6144 -
Nume (nume de cod) Șablon Frecventa (MHz) Versiunea de arhitectură An Numărul firului [1] Proces (µm) Tranzistoare (milioane) Suprafata matritei (mm²) IO Pin Consum (W) Tensiune (V) L1 Dcache (k) L1 Icache (k) L2 cache (k) L3 Cache (k)

SPARC64

SPARC64 este o familie de procesoare dezvoltată de Fujitsu și utilizată în familia de servere PRIMEPOWER .

Notă

  1. ^ a b Fire pentru fiecare nucleu × numărul de nuclee
  2. ^ Mai multe implementări SPARC V7 au fost produse de Fujitsu, LSI Logic , Weitek, Texas Instruments și Cypress. Un procesor SPARC V7 constă de obicei din mai multe cipuri care creează unitatea întreagă (IU), unitatea cu virgulă mobilă (FPU),unitatea de gestionare a memoriei (MMU) și memoria cache.
  3. ^ @ 167 MHz
  4. ^ @ 250 MHz
  5. ^ @ 400 MHz
  6. ^ @ 440 MHz
  7. ^ max @ 500 MHz
  8. ^ @ 900 MHz
  9. ^ FX1 Caracteristici cheie și specificații ( PDF ), fujitsu.com , Fujitsu, 19 februarie 2008.
  10. ^ Un procesor CMT SPARC (R) CMT SPARC (R) de 65 nm, cu 16 nuclee, 32 de fire plus 32-Scout-Thread ( PDF ), opensparc.net , Sun Microsystems, 19 februarie 2008.
  11. ^ Ashlee Vance, Sun Is Said to Cancel Big Chip Project , The New York Times, 15 iunie 2009. Accesat la 23 mai 2010 .
  12. ^ "Fujitsu arată SPARC64 VII". Arhivat 2 iunie 2009 la Internet Archive. (28 august 2008). heise online .
  13. ^ Sylvie Barak, Fujitsu dezvăluie cel mai rapid procesor din lume , la theinquirer.net .
  14. ^ http://www.oracle.com/us/products/servers-storage/servers/sparc-enterprise/t-series/sparc-t3-chip-ds-173097.pdf

Alte proiecte

linkuri externe

Controlul autorității GND ( DE ) 4230258-4
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT