UltraSPARC

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk
UltraSPARC
Mikroprosessor
KL Sun UltraSparc.jpg
200 MHz UltraSPARC mikroprosessor
Produsert 19951997
Produsent Sun Microsystems
Klokkefrekvens 143, 167 og 200 MHz
Socket 521 pinner (PBGA)
Kjerne SPARC versjon 9

UltraSPARC (kodenavn: «Spitfire», produktkode: Sun STP1030), var en 64-bit mikroprosessor som ble utviklet av Sun Microsystems og produsert av Texas Instruments. UltraSPARC ble lansert i 1995, og var den første mikroprosessoren fra Sun Microsystems som implementerte spesifikasjonen SPARC Versjon 9. En av de sentrale arkitektene bak UltraSPARC var Marc Tremblay.

UltraSPARC var en fire-veis superskalær prosessor, og kunne utføre fire instruksjoner per klokkesyklus.[1]

De første utgavene ble lansert i 1995 i 143 og 167 MHz. En 167 MHz UltraSPARC med 2 MB Nivå-2 hurtigminne, hadde en ytelse på 240 SPECint92 og 350 SPECfp92.[2][3]

Produksjonsprosess[rediger | rediger kilde]

UltraSPARC bestod av 5.2 millioner transistorer. Av disse ble 3.4 millioner transistorer benyttet til logiske kretser, mens resten ble brukt til å implementere hurtigminne.[2] Den ble fabrikkert ved hjelp av Texas Instruments' EPIC-3 prosess, en 470 nanometers 4-lags CMOS prosess.

Størrelsen var 17.7 x 17.8 mm, eller 315 mm². Den interne elektriske spenningen var 3.3 Volt. Ved 167 MHz ga dette en effekt på 28 Watt og 20 mW i sovemodus. Prosessoren var forsynt med 521 pinner i et PBGA.

I 1998 lanserte Sun Microsystems en 200 MHz versjon med kodenavnet «Hornet». Den var produsert med 420 nanometers transistorer, og hadde en størrelse på 265 mm². De øvrige tekniske spesifikasjonene var uendret.

Strukturell oppbygning[rediger | rediger kilde]

Ni enheter[rediger | rediger kilde]

UltraSPARC var sammensatt av ni enheter:

Ved betingede hopp var prosessorens branch predictor istand til å foreta spekulativ utførelse − «forutsigelser» av hvilken «grein» (branch) av programmet som fortsetter under betingede hopp, basert på erfaringer fra programutførelsens historikk. Ved betingede hopp hadde UltraSPARC en treffsikkerhet på 88% SPECint92 og 94% SPECfp92.[2]

De utførende enhetene i UltraSPARC var forenklet i forhold til SuperSPARC for å oppnå høyere klokkefrekvens. De aritmetisk logiske enhetene var f.eks. ikke i kaskade, slik tilfellet var på SuperSPARC.

Registerfilen for de to artimetisk logiske enhetene og LOAD/STORE enheten bestod av 32 stk 64-bit registre. Ettersom UltraSPARC benyttet 8 register vinduer, var det virtuelle antallet register 144. Begge de to aritmetisk logiske enhetene kunne utføre artitmetikk, logiske og shift instruksjoner, men bare den ene av dem kunne utføre multiplikasjon og divisjon.

Desimaltallprosessoren bestod av tre funksjonelle enheter: En for addisjon og subtraksjon, en for multiplikasjon og en for divisjon og beregning av kvadratrøtter.

To funksjonelle enheter utgjorde grafikkprosessoren, som utførte UltraSPARCs nye SIMD instruksjoner som var definert av Visual Instruction Set.[4][5]

Desimaltallprosessoren og grafikkprosessoren delte 32 stk 64-bit registre.

9-trinns pipe ved heltallsberegninger[rediger | rediger kilde]

1 2 3 4 5 6 7 8 9
HENT DEKOD GRUPPER UTFØR CACHE-TILGANG N1 N2 N3 SKRIV

I første trinn hentes instruksjoner fra instruksjons-cachen. I andre trinn dekodes instruksjonene og plasseres i instruksjons-bufferet. I trinn tre blir opptil fire instruksjoner grupperte hver for seg, og klargjorte for utførelse. Trinn fire utfører heltallsinstruksjoner og beregner virtuelle adresser.

I trinn fem aksesseres data-cachen. «Forutsigelser» under betingede hopp som ikke er korrekte blir forkastet. I trinn seks sjekkes graden av miss og hits i data-cachen. I trinn syv venter prosessoren på en pipe fra desimaltallsprosessoren og grafikk-enheten. I trinn åtte blir avbrudd håndtert. Og i det niende og siste trinnet skrives resultatet til minnet.

4-trinns pipe for desimaltall- og grafikkenheten[rediger | rediger kilde]

1 2 3 4
REGISTER X1 X2 X3

I første trinn blir desimaltall- og grafikk-instruksjoner dekodet, og registerfilen blir aksessert. De neste trinnene er å starte utførelsen (X1), fortsette utførelsen (X2) og å avslutte utførelsen (X3).

Hurtigminne[rediger | rediger kilde]

UltraSPARC hadde et delt nivå-1 hurtigminne: 16 KB for data og 16 Kb for instruksjoner.

Prosessoren hadde også en integrert kontroller for et eksternt nivå-2 hurtigminne for både data og instruksjoner, som kjørte i samme hastighet som prosessoren. Størrelsen var valgfri, og kunne være 512 KB, 1 MB eller 2 MB.

Sun Enterprise 4500 Server kjørte opptil 14 stk UltraSPARC prosessorer i parallell

Datamaskiner med UltraSPARC[rediger | rediger kilde]

Mellom 1995 og 2001 ble UltraSPARC benyttet på fem modeller av arbeidsstasjoner i Sun Ultra-serien: Ultra 1 (1 prosessor), Ultra 1 E (1 prosessor), Ultra 2 (1-2 prosessorer), Ultra 3000 (1-6 prosessorer) og Ultra 4000 (1-14 prosessorer).

I seriene Ultra Server, Ultra Enterprise og Sun Enterprise ble den benyttet i datamaskiner med opptil 30 stk 167 Mhz UltraSPARC prosessorer (Enterprise 6500).

Referanser[rediger | rediger kilde]

  1. ^ Dale Greenley, J. Bauman, D. Chang, Dennis Chen, R. Eltejaein, P. Ferolito, P. Fu, R. Garner, D. Greenhill, H. Grewal, K. Holdbrook, B. Kim, L. Kohn, H. Kwan, M. Levitt, G. Maturana, D. Mrazek, C. Narasimhaiah, K. Normoyle, N. Parveen, P. Patel, A. Prabhu, M. Tremblay, M. Wong, L. Yang, K. Yarlagadda, R. Yu, R. Yung, G. Zyner: UltraSPARC: the next generation superscalar 64-bit SPARC, compcon, side.442-451, 40th IEEE Computer Society International Conference (COMPCON'95), 1995
  2. ^ a b c Mark Tremblay: UltraSPARC(™)-I: A 64-bit Superscalar Processor with Multimedia Support, SPARC Technology Business, Sun Microsystems Inc., Hot Chips VII, august 1995
  3. ^ Linley Gwennap: UltraSparc Unleashes SPARC Performance, Microprocessor Report, Volume 8, Number 13, 3. oktober, 1994
  4. ^ Marc Tremblay, J. Michael O'Connor: UltraSparc I:A Four-Issue Processor Supporting Multimedia, IEEE Micro, Volume 16, Issue 2, IEEE Computer Society Press, Los Alamitos, CA, USA, april 1996, side 42–50, ISSN 0272-1732
  5. ^ Linley Gwennap: UltraSparc Adds Multimedia Instructions (pdf), Microprocessor Report, 5. desember 1994