UltraSPARC

Fra Wikipedia, den frie encyklopedi
UltraSPARC
Mikroprosessor
200 MHz UltraSPARC mikroprosessor
Produsert19951997
Utviklet avSun Microsystems
ProdusentTexas Instruments
Klokkefrekvens143, 167 og 200 MHz
Prosess470 nm CMOS
Transistorer5,2 millioner (herav 1,8 millioner til hurtigminne)
Databuss128 biter + EEC
Adressebuss35 biter + paritet
Hurtigminne
Nivå I, I
16 Kb
Hurtigminne
Nivå I, Data
16 Kb
Hurtigminne
Nivå II
512 Kb, 1 Mb eller 2 Mb (eksternt)
Prosessorsokkel521 pinner (PBGA)
Størrelse315 mm²
KjerneEnkjerners RISC
InstruksjonsettSPARC versjon 9
ForgjengerSuperSPARC
EtterfølgerUltraSPARC II

UltraSPARC (kodenavn: «Spitfire», produktkode: Sun STP1030) var en 64-biter RISC mikroprosessor som ble utviklet av Sun Microsystems og som ble produsert av Texas Instruments. Mikroprosessoren var fire-veis superskalær og kunne utføre to heltallsberegninger og to flyttallberegninger per klokkepuls. UltraSPARC var den første mikroprosessoren som fulgte spesifikasjonen SPARC versjon 9.

Mikroprosessoren ble annonsert av Sun Microsystems den 3. oktober 1994. Den 7. november 1995 ble den tilgjengelig i maskiner på det åpne marked i utgaver på 143 og 167 MHz. I juni 1996 fulgte en versjon på 200 MHz.

Den fremste konkurrenten var SPARC64, en annen 64-biter superskalær RISC-mikroprosessor, som ble lansert av Fujitsu i 1995. Den var også en implementasjon av SPARC versjon 9.

UltraSPARC var etterfølgeren til SuperSPARC. Dette var en toveis superskalær og 32-biter mikroprosessor, som var en implementasjon av SPARC versjon 8. Dens fremste konkurrent var hyperSPARC.

UltraSPARC ble i 1997 etterfulgt av UltraSPARC II.

Arkitektur[rediger | rediger kilde]

UltraSPARC var den første implementasjonen av spesifikasjonen SPARC versjon 9, som ble publisert i 1992.[1] Denne manualen beskriver en 64-biter arkitektur av typen SPARC.[2]

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.[3] 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]

En av de sentrale arkitektene bak UltraSPARC var Marc Tremblay.

En 167 MHz UltraSPARC med 2 MB Nivå-2 hurtigminne, hadde en ytelse på 240 SPECint92 og 350 SPECfp92.[3][4]

Ni enheter[rediger | rediger kilde]

UltraSPARC var sammensatt av ni enheter:

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

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.[3]

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.[6][7]

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. ^ SPARC V9 1992
  2. ^ SPARC V9 2003, side XIV
  3. ^ 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
  4. ^ Linley Gwennap: UltraSparc Unleashes SPARC Performance, Microprocessor Report, Volume 8, Number 13, 3. oktober, 1994
  5. ^ 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
  6. ^ 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
  7. ^ Linley Gwennap: UltraSparc Adds Multimedia Instructions (pdf), Microprocessor Report, 5. desember 1994

Litteratur[rediger | rediger kilde]